Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
buildCRUD(): DynamicOutputPropertyDef<'crud'> {
return Nexus.dynamicOutputProperty({
name: 'crud',
typeDefinition: `: NexusPrisma`,
// FIXME
// Nexus should improve the type of typeName to be AllOutputTypes
factory: ({ typeDef: t, typeName, stage }) => {
if (typeName === GraphQL.rootNames.Subscription) {
// TODO Lets put a GitHub issue link in this error message
throw new Error(
`t.crud is not yet supported on the 'Subscription' type.`,
)
}
if (
typeName !== GraphQL.rootNames.Query &&
typeName !== GraphQL.rootNames.Mutation
) {
buildModel() {
return Nexus.dynamicOutputProperty({
name: 'model',
typeDefinition: `: NexusPrisma`,
/**
* This factory implements what .model will actually be.
*
* If the user's GQL typedef name matches a PSL model name,
* then we infer that the user is trying to create a mapping
* between them. This is the implicit mapping case.
*
* Otherwise we need the user to specify what PSL model
* their GQL object maps to. This is the explicit mapping case.
*
* In the implicit case we eagerly do the .model implementation,
* but in the explicit case we return a function in order that the
* user may specify the mapping.
*