page.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. const graphHelper = require('../../helpers/graph')
  2. /* global WIKI */
  3. module.exports = {
  4. Query: {
  5. async pages() { return {} }
  6. },
  7. Mutation: {
  8. async pages() { return {} }
  9. },
  10. PageQuery: {
  11. async list(obj, args, context, info) {
  12. return WIKI.db.pages.query().select(
  13. 'pages.*',
  14. WIKI.db.pages.relatedQuery('users').count().as('userCount')
  15. )
  16. },
  17. async single(obj, args, context, info) {
  18. return WIKI.db.pages.query().findById(args.id)
  19. }
  20. },
  21. PageMutation: {
  22. async create(obj, args, context) {
  23. const page = await WIKI.db.pages.query().insertAndFetch({
  24. path: args.path,
  25. title: args.title,
  26. description: args.description,
  27. isPrivate: false,
  28. isPublished: args.isPublished,
  29. publishStartDate: args.publishStartDate,
  30. publishEndDate: args.publishEndDate,
  31. localeCode: args.locale,
  32. editorKey: args.editor,
  33. authorId: context.req.user.id
  34. })
  35. return {
  36. responseResult: graphHelper.generateSuccess('Page created successfully.'),
  37. page
  38. }
  39. },
  40. async delete(obj, args) {
  41. await WIKI.db.groups.query().deleteById(args.id)
  42. return {
  43. responseResult: graphHelper.generateSuccess('Page has been deleted.')
  44. }
  45. },
  46. async update(obj, args) {
  47. await WIKI.db.groups.query().patch({ name: args.name }).where('id', args.id)
  48. return {
  49. responseResult: graphHelper.generateSuccess('Page has been updated.')
  50. }
  51. }
  52. },
  53. Page: {
  54. // comments(pg) {
  55. // return pg.$relatedQuery('comments')
  56. // }
  57. }
  58. }