page.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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 history(obj, args, context, info) {
  12. return WIKI.models.pageHistory.getHistory({
  13. pageId: args.id,
  14. offsetPage: args.offsetPage || 0,
  15. offsetSize: args.offsetSize || 100
  16. })
  17. },
  18. async list(obj, args, context, info) {
  19. return WIKI.models.pages.query().select(
  20. 'pages.*',
  21. WIKI.models.pages.relatedQuery('users').count().as('userCount')
  22. )
  23. },
  24. async single(obj, args, context, info) {
  25. return WIKI.models.pages.query().findById(args.id)
  26. }
  27. },
  28. PageMutation: {
  29. async create(obj, args, context) {
  30. const page = await WIKI.models.pages.createPage({
  31. ...args,
  32. authorId: context.req.user.id
  33. })
  34. return {
  35. responseResult: graphHelper.generateSuccess('Page created successfully.'),
  36. page
  37. }
  38. },
  39. async delete(obj, args) {
  40. await WIKI.models.groups.query().deleteById(args.id)
  41. return {
  42. responseResult: graphHelper.generateSuccess('Page has been deleted.')
  43. }
  44. },
  45. async update(obj, args, context) {
  46. const page = await WIKI.models.pages.updatePage({
  47. ...args,
  48. authorId: context.req.user.id
  49. })
  50. return {
  51. responseResult: graphHelper.generateSuccess('Page has been updated.'),
  52. page
  53. }
  54. }
  55. },
  56. Page: {
  57. // comments(pg) {
  58. // return pg.$relatedQuery('comments')
  59. // }
  60. }
  61. }