resolvers.ts 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  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({ data: 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. console.log('post saving.')
  37. return training
  38. },
  39. createTrainingType: async (parent, args, context, info) => {
  40. checkPermission(context, ['INSTRUCTOR', 'ADMIN'])
  41. const trainingType = await context.db.mutation.createTrainingType(
  42. { data: args },
  43. info
  44. )
  45. return trainingType
  46. },
  47. createBlock: async (parent, args, context, info) => {
  48. checkPermission(context, ['INSTRUCTOR', 'ADMIN'])
  49. const block = await context.db.mutation.createBlock({ data: args }, info)
  50. return block
  51. },
  52. createFormat: async (parent, args, context, info) => {
  53. checkPermission(context, ['INSTRUCTOR', 'ADMIN'])
  54. const block = await context.db.mutation.createFormat({ data: args }, info)
  55. return block
  56. }
  57. }
  58. }