import { FieldResolver, idArg, queryField } from '@nexus/schema'; import { authenticateQuery } from '../../../schema/authenticate-query'; import { RecipeCollection } from '../collection-model'; export const fetchRecipeCollection: FieldResolver< 'Query', 'fetchRecipeCollection' > = async (root, args, ctx, info) => { // Auth authenticateQuery(ctx); // Execute return RecipeCollection.findById(args.id) .accessibleBy(ctx.state.abilities, 'read') .populate('nodes.recipe'); }; /** * Create a new RecipeCollection */ export const recipeCollectionQF = queryField('recipeCollection', { type: 'RecipeCollection', args: { id: idArg({ required: true }), }, resolve: fetchRecipeCollection, });