How to use the @graphback/core.GraphbackOperationType.CREATE function in @graphback/core

To help you get started, we’ve selected a few @graphback/core examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github aerogear / graphback / packages / graphback-runtime / src / resolvers / LayeredRuntimeResolverGen.ts View on Github external
public generate() {
    const resolvers = {
      Query: {},
      Mutation: {},
      Subscription: {}
    };
    for (const resolverElement of this.inputContext) {
      if (resolverElement.config.disableGen) {
        continue;
      }
      const objectName = resolverElement.name.toLowerCase();
      if (resolverElement.config.create) {
        const resolverCreateField = getFieldName(resolverElement.name, GraphbackOperationType.CREATE);
        // tslint:disable-next-line: no-any
        resolvers.Mutation[resolverCreateField] = (parent: any, args: any, context: any) => {
          return this.service.create(objectName, args.input, {
            publishEvent: resolverElement.config.subCreate
          }, context)
        }
      }
      if (resolverElement.config.update) {
        const updateField = getFieldName(resolverElement.name, GraphbackOperationType.UPDATE);
        // tslint:disable-next-line: no-any
        resolvers.Mutation[updateField] = (parent: any, args: any, context: any) => {
          return this.service.update(objectName, args.id, args.input, {
            publishEvent: resolverElement.config.subUpdate
          }, context)
        }
      }
github aerogear / graphback / packages / graphback-codegen-client / src / templates / tsTemplates.ts View on Github external
const createMutationTS = (t: InputModelTypeContext, imports: string) => {
  const fieldName = getFieldName(t.name, GraphbackOperationType.CREATE)

  return `${imports}

export const ${fieldName} = gql\`
  ${createMutation(t)}

  \$\{${t.name}Fragment}
\`
`
}
github aerogear / graphback / packages / graphback-codegen-client / src / templates / tsTemplates.ts View on Github external
types.forEach((t: InputModelTypeContext) => {
    const imports = `import gql from "graphql-tag"
import { ${t.name}Fragment } from "../fragments/${t.name}"`

    if (t.config.create) {
      mutations.push({
        name: getFieldName(t.name, GraphbackOperationType.CREATE),
        implementation: createMutationTS(t, imports)
      })
    }

    if (t.config.update) {
      mutations.push({
        name: getFieldName(t.name, GraphbackOperationType.UPDATE),
        implementation: updateMutationTS(t, imports)
      })
    }

    if (t.config.delete) {
      mutations.push({
        name: getFieldName(t.name, GraphbackOperationType.DELETE),
        implementation: deleteMutationTS(t, imports)
      })
github aerogear / graphback / packages / graphback-codegen-schema / src / targetSchemaContext.ts View on Github external
.map((t: InputModelTypeContext) => {
      const fieldName = getFieldName(t.name, GraphbackOperationType.CREATE)

      return `${fieldName}(input: ${t.name}Input!): ${t.name}!`
    })
}
github aerogear / graphback / packages / graphback-codegen-resolvers / src / api / targetResolverContext.ts View on Github external
const createResolver = (t: InputModelTypeContext): string | undefined => {
  if (t.config.create) {
    return templates.createTemplate(getFieldName(t.name, GraphbackOperationType.CREATE), t.name, t.config.subCreate)
  }

  return undefined
}
github aerogear / graphback / packages / graphback-runtime / src / service / CRUDService.ts View on Github external
public subscribeToCreate(name: string, context?: GraphbackRuntimeContext): AsyncIterator | undefined {
        if (!this.pubSub) {
            this.logger.log(`Cannot subscribe to events for ${name}`)

            throw Error(`Missing PubSub implementation in CRUDService`);
        }
        const createSubKey = subscriptionTopicMapping(GraphbackOperationType.CREATE, name);

        return this.pubSub.asyncIterator(createSubKey)
    }
github aerogear / graphback / packages / graphback-codegen-client / src / templates / gqlTemplates.ts View on Github external
export const createMutation = (t: InputModelTypeContext) => {
  const fieldName = getFieldName(t.name, GraphbackOperationType.CREATE)

  return `mutation ${fieldName}(${inputVariableFields(t)}) {
    ${fieldName}(input: {${inputVariables(t)}}) {
      ...${t.name}Fields
    }
  }
`
}