You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

41 lines
1.3 KiB

  1. const _ = require('lodash')
  2. const fs = require('fs')
  3. const gqlTools = require('graphql-tools')
  4. const path = require('path')
  5. /* global wiki */
  6. const typeDefs = fs.readFileSync(path.join(wiki.SERVERPATH, 'schemas/types.graphql'), 'utf8')
  7. const DateScalar = require('../schemas/scalar-date')
  8. const AuthenticationResolvers = require('../schemas/resolvers-authentication')
  9. const CommentResolvers = require('../schemas/resolvers-comment')
  10. const DocumentResolvers = require('../schemas/resolvers-document')
  11. const FileResolvers = require('../schemas/resolvers-file')
  12. const FolderResolvers = require('../schemas/resolvers-folder')
  13. const GroupResolvers = require('../schemas/resolvers-group')
  14. const SettingResolvers = require('../schemas/resolvers-setting')
  15. const TagResolvers = require('../schemas/resolvers-tag')
  16. const TranslationResolvers = require('../schemas/resolvers-translation')
  17. const UserResolvers = require('../schemas/resolvers-user')
  18. const resolvers = _.merge(
  19. AuthenticationResolvers,
  20. CommentResolvers,
  21. DocumentResolvers,
  22. FileResolvers,
  23. FolderResolvers,
  24. GroupResolvers,
  25. SettingResolvers,
  26. TagResolvers,
  27. TranslationResolvers,
  28. UserResolvers,
  29. DateScalar
  30. )
  31. const Schema = gqlTools.makeExecutableSchema({
  32. typeDefs,
  33. resolvers
  34. })
  35. module.exports = Schema