"enumValues": null, | "enumValues": null, | ||||
"possibleTypes": null | "possibleTypes": null | ||||
}, | }, | ||||
{ | |||||
"kind": "SCALAR", | |||||
"name": "Boolean", | |||||
"description": "The `Boolean` scalar type represents `true` or `false`.", | |||||
"fields": null, | |||||
"inputFields": null, | |||||
"interfaces": null, | |||||
"enumValues": null, | |||||
"possibleTypes": null | |||||
}, | |||||
{ | { | ||||
"kind": "INPUT_OBJECT", | "kind": "INPUT_OBJECT", | ||||
"name": "ChangePizzaDto", | "name": "ChangePizzaDto", | ||||
}, | }, | ||||
"isDeprecated": false, | "isDeprecated": false, | ||||
"deprecationReason": null | "deprecationReason": null | ||||
}, | |||||
{ | |||||
"name": "deleteTopping", | |||||
"description": null, | |||||
"args": [ | |||||
{ | |||||
"name": "toppingId", | |||||
"description": null, | |||||
"type": { | |||||
"kind": "NON_NULL", | |||||
"name": null, | |||||
"ofType": { | |||||
"kind": "SCALAR", | |||||
"name": "ID", | |||||
"ofType": null | |||||
} | |||||
}, | |||||
"defaultValue": null | |||||
} | |||||
], | |||||
"type": { | |||||
"kind": "NON_NULL", | |||||
"name": null, | |||||
"ofType": { | |||||
"kind": "OBJECT", | |||||
"name": "Topping", | |||||
"ofType": null | |||||
} | |||||
}, | |||||
"isDeprecated": false, | |||||
"deprecationReason": null | |||||
}, | |||||
{ | |||||
"name": "deletePizza", | |||||
"description": null, | |||||
"args": [ | |||||
{ | |||||
"name": "pizzaId", | |||||
"description": null, | |||||
"type": { | |||||
"kind": "NON_NULL", | |||||
"name": null, | |||||
"ofType": { | |||||
"kind": "SCALAR", | |||||
"name": "ID", | |||||
"ofType": null | |||||
} | |||||
}, | |||||
"defaultValue": null | |||||
} | |||||
], | |||||
"type": { | |||||
"kind": "NON_NULL", | |||||
"name": null, | |||||
"ofType": { | |||||
"kind": "OBJECT", | |||||
"name": "Pizza", | |||||
"ofType": null | |||||
} | |||||
}, | |||||
"isDeprecated": false, | |||||
"deprecationReason": null | |||||
} | } | ||||
], | ], | ||||
"inputFields": null, | "inputFields": null, | ||||
"enumValues": null, | "enumValues": null, | ||||
"possibleTypes": null | "possibleTypes": null | ||||
}, | }, | ||||
{ | |||||
"kind": "SCALAR", | |||||
"name": "Boolean", | |||||
"description": "The `Boolean` scalar type represents `true` or `false`.", | |||||
"fields": null, | |||||
"inputFields": null, | |||||
"interfaces": null, | |||||
"enumValues": null, | |||||
"possibleTypes": null | |||||
}, | |||||
{ | { | ||||
"kind": "OBJECT", | "kind": "OBJECT", | ||||
"name": "__Schema", | "name": "__Schema", |
updatePizza: Pizza; | updatePizza: Pizza; | ||||
createTopping: Topping; | createTopping: Topping; | ||||
updateTopping: Topping; | updateTopping: Topping; | ||||
deleteTopping: Topping; | |||||
deletePizza: Pizza; | |||||
}; | }; | ||||
updatedToppingDto: ChangeToppingDto; | updatedToppingDto: ChangeToppingDto; | ||||
}; | }; | ||||
export type MutationDeleteToppingArgs = { | |||||
toppingId: Scalars['ID']; | |||||
}; | |||||
export type MutationDeletePizzaArgs = { | |||||
pizzaId: Scalars['ID']; | |||||
}; | |||||
export type Subscription = { | export type Subscription = { | ||||
__typename?: 'Subscription'; | __typename?: 'Subscription'; | ||||
pizzasChanged: Array<Maybe<Pizza>>; | pizzasChanged: Array<Maybe<Pizza>>; | ||||
String: ResolverTypeWrapper<Scalars['String']>; | String: ResolverTypeWrapper<Scalars['String']>; | ||||
Topping: ResolverTypeWrapper<Topping>; | Topping: ResolverTypeWrapper<Topping>; | ||||
Query: ResolverTypeWrapper<{}>; | Query: ResolverTypeWrapper<{}>; | ||||
Boolean: ResolverTypeWrapper<Scalars['Boolean']>; | |||||
ChangePizzaDto: ChangePizzaDto; | ChangePizzaDto: ChangePizzaDto; | ||||
ChangeToppingDto: ChangeToppingDto; | ChangeToppingDto: ChangeToppingDto; | ||||
Mutation: ResolverTypeWrapper<{}>; | Mutation: ResolverTypeWrapper<{}>; | ||||
Subscription: ResolverTypeWrapper<{}>; | Subscription: ResolverTypeWrapper<{}>; | ||||
Boolean: ResolverTypeWrapper<Scalars['Boolean']>; | |||||
}; | }; | ||||
/** Mapping between all available schema types and the resolvers parents */ | /** Mapping between all available schema types and the resolvers parents */ | ||||
String: Scalars['String']; | String: Scalars['String']; | ||||
Topping: Topping; | Topping: Topping; | ||||
Query: {}; | Query: {}; | ||||
Boolean: Scalars['Boolean']; | |||||
ChangePizzaDto: ChangePizzaDto; | ChangePizzaDto: ChangePizzaDto; | ||||
ChangeToppingDto: ChangeToppingDto; | ChangeToppingDto: ChangeToppingDto; | ||||
Mutation: {}; | Mutation: {}; | ||||
Subscription: {}; | Subscription: {}; | ||||
Boolean: Scalars['Boolean']; | |||||
}; | }; | ||||
export type PizzaResolvers<ContextType = any, ParentType extends ResolversParentTypes['Pizza'] = ResolversParentTypes['Pizza']> = { | export type PizzaResolvers<ContextType = any, ParentType extends ResolversParentTypes['Pizza'] = ResolversParentTypes['Pizza']> = { | ||||
updatePizza?: Resolver<ResolversTypes['Pizza'], ParentType, ContextType, RequireFields<MutationUpdatePizzaArgs, 'pizzaId' | 'updatedPizzaDto'>>; | updatePizza?: Resolver<ResolversTypes['Pizza'], ParentType, ContextType, RequireFields<MutationUpdatePizzaArgs, 'pizzaId' | 'updatedPizzaDto'>>; | ||||
createTopping?: Resolver<ResolversTypes['Topping'], ParentType, ContextType, RequireFields<MutationCreateToppingArgs, never>>; | createTopping?: Resolver<ResolversTypes['Topping'], ParentType, ContextType, RequireFields<MutationCreateToppingArgs, never>>; | ||||
updateTopping?: Resolver<ResolversTypes['Topping'], ParentType, ContextType, RequireFields<MutationUpdateToppingArgs, 'toppingId' | 'updatedToppingDto'>>; | updateTopping?: Resolver<ResolversTypes['Topping'], ParentType, ContextType, RequireFields<MutationUpdateToppingArgs, 'toppingId' | 'updatedToppingDto'>>; | ||||
deleteTopping?: Resolver<ResolversTypes['Topping'], ParentType, ContextType, RequireFields<MutationDeleteToppingArgs, 'toppingId'>>; | |||||
deletePizza?: Resolver<ResolversTypes['Pizza'], ParentType, ContextType, RequireFields<MutationDeletePizzaArgs, 'pizzaId'>>; | |||||
}; | }; | ||||
export type SubscriptionResolvers<ContextType = any, ParentType extends ResolversParentTypes['Subscription'] = ResolversParentTypes['Subscription']> = { | export type SubscriptionResolvers<ContextType = any, ParentType extends ResolversParentTypes['Subscription'] = ResolversParentTypes['Subscription']> = { |
const resolvers: Resolvers = { | const resolvers: Resolvers = { | ||||
Topping: { | Topping: { | ||||
id: (root, args, context) => { | |||||
id: (root, _args, _context) => { | |||||
return root.id | return root.id | ||||
}, | }, | ||||
name: (root, args, context) => { | |||||
name: (root, _args, _context) => { | |||||
return root.name | return root.name | ||||
}, | }, | ||||
}, | }, | ||||
Pizza: { | Pizza: { | ||||
id: (root, args, context) => { | |||||
id: (root, _args, _context) => { | |||||
return root.id | return root.id | ||||
}, | }, | ||||
name: (root, args, context) => { | |||||
name: (root, _args, _context) => { | |||||
return root.name | return root.name | ||||
}, | }, | ||||
toppings: (root, args, context) => { | |||||
toppings: (root, _args, _context) => { | |||||
return root.toppings | return root.toppings | ||||
}, | }, | ||||
}, | }, | ||||
Query: { | Query: { | ||||
getPizzaById: (root, args, context) => { | |||||
getPizzaById: (_root, args, _context) => { | |||||
return PizzaResolver.getById(args.pizzaId); | return PizzaResolver.getById(args.pizzaId); | ||||
}, | }, | ||||
getPizzaByName: (root, args, context) => { | |||||
getPizzaByName: (_root, args, _context) => { | |||||
return PizzaResolver.getByName(args.pizzaName); | return PizzaResolver.getByName(args.pizzaName); | ||||
}, | }, | ||||
listPizza: (root, args, context) => { | |||||
listPizza: (_root, _args, _context) => { | |||||
return PizzaResolver.list(); | return PizzaResolver.list(); | ||||
}, | }, | ||||
getToppingById: (root, args, context) => { | |||||
getToppingById: (_root, args, _context) => { | |||||
return ToppingResolver.getById(args.toppingId); | return ToppingResolver.getById(args.toppingId); | ||||
}, | }, | ||||
getToppingByName: (root, args, context) => { | |||||
getToppingByName: (_root, args, _context) => { | |||||
return ToppingResolver.getByName(args.toppingName); | return ToppingResolver.getByName(args.toppingName); | ||||
}, | }, | ||||
listTopping: (root, args, context) => { | |||||
listTopping: (_root, _args, _context) => { | |||||
return ToppingResolver.list(); | return ToppingResolver.list(); | ||||
}, | }, | ||||
}, | }, | ||||
Mutation: { | Mutation: { | ||||
createPizza: (root, args, context) => { | |||||
createPizza: (_root, args, _context) => { | |||||
return PizzaResolver.create(args.createPizzaDto as ChangePizzaDto); | return PizzaResolver.create(args.createPizzaDto as ChangePizzaDto); | ||||
}, | }, | ||||
updatePizza: (root, args, context) => { | |||||
updatePizza: (_root, args, _context) => { | |||||
return PizzaResolver.update(args.pizzaId, args.updatedPizzaDto as ChangePizzaDto); | return PizzaResolver.update(args.pizzaId, args.updatedPizzaDto as ChangePizzaDto); | ||||
}, | }, | ||||
createTopping: (root, args, context) => { | |||||
deletePizza: (_root, args, _context: any) => { | |||||
return PizzaResolver.delete(args.pizzaId); | |||||
}, | |||||
createTopping: (_root, args, _context) => { | |||||
return ToppingResolver.create(args.createToppingDto as ChangeToppingDto); | return ToppingResolver.create(args.createToppingDto as ChangeToppingDto); | ||||
}, | }, | ||||
updateTopping: (root, args, context) => { | |||||
updateTopping: (_root, args, _context) => { | |||||
return ToppingResolver.update(args.toppingId, args.updatedToppingDto as ChangeToppingDto); | return ToppingResolver.update(args.toppingId, args.updatedToppingDto as ChangeToppingDto); | ||||
}, | }, | ||||
deleteTopping: (_root, args, _context: any) => { | |||||
return ToppingResolver.delete(args.toppingId); | |||||
}, | |||||
}, | }, | ||||
Subscription: { | Subscription: { | ||||
pizzasChanged: { | pizzasChanged: { |
return PizzaList.filter(pizza => pizza.id === id)[0]; | return PizzaList.filter(pizza => pizza.id === id)[0]; | ||||
}; | }; | ||||
static delete = (id: string): Pizza => { | |||||
const index = PizzaList.indexOf(PizzaResolver.getById(id)); | |||||
if ( index ) { | |||||
PizzaList.splice(index, 1) | |||||
} | |||||
return PizzaResolver.getById(id) | |||||
}; | |||||
static list = (): Pizza[] => { | static list = (): Pizza[] => { | ||||
return PizzaList; | return PizzaList; | ||||
}; | }; |
return ToppingList; | return ToppingList; | ||||
}; | }; | ||||
static delete = (id: string): Topping => { | |||||
const index = ToppingList.indexOf(ToppingResolver.getById(id)); | |||||
if ( index ) { | |||||
ToppingList.splice(index, 1) | |||||
} | |||||
return ToppingResolver.getById(id) | |||||
}; | |||||
static create = (toppingCreateDto: ChangeToppingDto): Topping => { | static create = (toppingCreateDto: ChangeToppingDto): Topping => { | ||||
const topping: Topping = { | const topping: Topping = { | ||||
id: uuidv4(), | id: uuidv4(), |
updatePizza(pizzaId: ID!, updatedPizzaDto: ChangePizzaDto!): Pizza! | updatePizza(pizzaId: ID!, updatedPizzaDto: ChangePizzaDto!): Pizza! | ||||
createTopping(createToppingDto: ChangeToppingDto): Topping! | createTopping(createToppingDto: ChangeToppingDto): Topping! | ||||
updateTopping(toppingId: ID!, updatedToppingDto: ChangeToppingDto!): Topping! | updateTopping(toppingId: ID!, updatedToppingDto: ChangeToppingDto!): Topping! | ||||
deleteTopping(toppingId: ID!): Topping! | |||||
deletePizza(pizzaId: ID!): Pizza! | |||||
} | } | ||||
type Subscription { | type Subscription { |
updatePizza: Pizza; | updatePizza: Pizza; | ||||
createTopping: Topping; | createTopping: Topping; | ||||
updateTopping: Topping; | updateTopping: Topping; | ||||
deleteTopping: Topping; | |||||
deletePizza: Pizza; | |||||
}; | }; | ||||
updatedToppingDto: ChangeToppingDto; | updatedToppingDto: ChangeToppingDto; | ||||
}; | }; | ||||
export type MutationDeleteToppingArgs = { | |||||
toppingId: Scalars['ID']; | |||||
}; | |||||
export type MutationDeletePizzaArgs = { | |||||
pizzaId: Scalars['ID']; | |||||
}; | |||||
export type Subscription = { | export type Subscription = { | ||||
__typename?: 'Subscription'; | __typename?: 'Subscription'; | ||||
pizzasChanged: Array<Maybe<Pizza>>; | pizzasChanged: Array<Maybe<Pizza>>; |