gqlify icon indicating copy to clipboard operation
gqlify copied to clipboard

Hook in mutations

Open wwwy3y3 opened this issue 7 years ago • 1 comments

Goal

  • developers can implement business logic before/after data creation, or update the payload.

Use case

Send email after creation

type User @afterCreate(name: "mailgunSend") {
  # fields 
}

What we need

We need a mechanism to let developers create customized hook and pass to GQLify.

wwwy3y3 avatar Dec 05 '18 04:12 wwwy3y3

Is this intended to let developers use fields with computed values?

A trivial example:

afterQuery

function userComputeFullname(user) {
  return user.firstname + user.lastname;
}
type User {
  firstname: String
  lastname: String
  fullname: String @afterQuery(name: "userComputeFullname")
}

beforeCreate

function userComputeFullname(parent, args, context, info) {
  return args.data.firstname + args.data.surname;
}
type User {
  firstname: String
  lastname: String
  fullname: String @beforeCreate(resolverName: "userComputeFullname")
} 

or would this need some other mechanism to support custom resolvers?

jthegedus avatar Feb 10 '19 23:02 jthegedus