resolvers.ts 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. // const { transport, emailTemplate } = require('./mail')
  2. import { IResolvers } from 'apollo-server-express'
  3. import { checkPermission } from '../user/resolvers'
  4. //const LoginError = new Error('You must be logged in.')
  5. //const PermissionError = new Error('Insufficient permissions.')
  6. export const resolvers: IResolvers = {
  7. Query: {
  8. training: async (parent, args, context, info) => {
  9. checkPermission(context)
  10. return context.db.query.training({ where: args }, info)
  11. },
  12. trainings: async (parent, args, context, info) => {
  13. checkPermission(context)
  14. return context.db.query.trainings({}, info)
  15. },
  16. trainingTypes: async (parent, args, context, info) => {
  17. checkPermission(context)
  18. return context.db.query.trainingTypes({}, info)
  19. },
  20. blocks: async (parent, args, context, info) => {
  21. checkPermission(context)
  22. return context.db.query.blocks({}, info)
  23. },
  24. formats: async (parent, args, context, info) => {
  25. checkPermission(context)
  26. return context.db.query.formats({}, info)
  27. }
  28. },
  29. Mutation: {
  30. createTraining: async (parent, args, context, info) => {
  31. checkPermission(context, ['INSTRUCTOR', 'ADMIN'])
  32. const training = await context.db.mutation.createTraining(
  33. { data: args },
  34. info
  35. )
  36. return training
  37. },
  38. createTrainingType: async (parent, args, context, info) => {
  39. checkPermission(context, ['INSTRUCTOR', 'ADMIN'])
  40. const trainingType = await context.db.mutation.createTrainingType(
  41. { data: args },
  42. info
  43. )
  44. return trainingType
  45. },
  46. createBlock: async (parent, args, context, info) => {
  47. checkPermission(context, ['INSTRUCTOR', 'ADMIN'])
  48. const block = await context.db.mutation.createBlock({ data: args }, info)
  49. return block
  50. },
  51. createFormat: async (parent, args, context, info) => {
  52. checkPermission(context, ['INSTRUCTOR', 'ADMIN'])
  53. const block = await context.db.mutation.createFormat({ data: args }, info)
  54. return block
  55. }
  56. }
  57. }