page.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  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.groups.query().select(
  13. 'groups.*',
  14. WIKI.db.groups.relatedQuery('users').count().as('userCount')
  15. )
  16. },
  17. async single(obj, args, context, info) {
  18. return WIKI.db.groups.query().findById(args.id)
  19. }
  20. },
  21. PageMutation: {
  22. async create(obj, args) {
  23. const group = await WIKI.db.pages.query().insertAndFetch({
  24. name: args.name
  25. })
  26. return {
  27. responseResult: graphHelper.generateSuccess('Group created successfully.'),
  28. group
  29. }
  30. },
  31. async delete(obj, args) {
  32. await WIKI.db.groups.query().deleteById(args.id)
  33. return {
  34. responseResult: graphHelper.generateSuccess('Group has been deleted.')
  35. }
  36. },
  37. async update(obj, args) {
  38. await WIKI.db.groups.query().patch({ name: args.name }).where('id', args.id)
  39. return {
  40. responseResult: graphHelper.generateSuccess('Group has been updated.')
  41. }
  42. }
  43. },
  44. Page: {
  45. // comments(pg) {
  46. // return pg.$relatedQuery('comments')
  47. // }
  48. }
  49. }