2017-07-24 21:37:13 -05:00
|
|
|
'use strict'
|
|
|
|
|
|
|
|
/* global wiki */
|
|
|
|
|
2017-08-06 20:05:10 -05:00
|
|
|
const gqlTools = require('graphql-tools')
|
|
|
|
const fs = require('fs')
|
|
|
|
const path = require('path')
|
2017-08-08 21:36:29 -05:00
|
|
|
const _ = require('lodash')
|
2017-07-24 21:37:13 -05:00
|
|
|
|
2017-08-06 20:05:10 -05:00
|
|
|
const typeDefs = fs.readFileSync(path.join(wiki.SERVERPATH, 'schemas/types.graphql'), 'utf8')
|
2017-07-24 21:37:13 -05:00
|
|
|
|
2017-08-13 13:39:07 -05:00
|
|
|
const DateScalar = require('../schemas/scalar-date')
|
2017-08-19 21:51:25 -05:00
|
|
|
const CommentResolvers = require('../schemas/resolvers-comment')
|
2017-08-18 20:21:29 -05:00
|
|
|
const DocumentResolvers = require('../schemas/resolvers-document')
|
2017-08-13 19:33:06 -05:00
|
|
|
const FolderResolvers = require('../schemas/resolvers-folder')
|
2017-08-06 20:05:10 -05:00
|
|
|
const GroupResolvers = require('../schemas/resolvers-group')
|
2017-08-19 21:51:25 -05:00
|
|
|
const SettingResolvers = require('../schemas/resolvers-setting')
|
2017-08-13 19:33:06 -05:00
|
|
|
const TagResolvers = require('../schemas/resolvers-tag')
|
2017-08-06 20:05:10 -05:00
|
|
|
const UserResolvers = require('../schemas/resolvers-user')
|
|
|
|
|
2017-08-08 21:36:29 -05:00
|
|
|
const resolvers = _.merge(
|
2017-08-19 21:51:25 -05:00
|
|
|
CommentResolvers,
|
2017-08-18 20:21:29 -05:00
|
|
|
DocumentResolvers,
|
2017-08-13 19:33:06 -05:00
|
|
|
FolderResolvers,
|
2017-08-08 21:36:29 -05:00
|
|
|
GroupResolvers,
|
2017-08-19 21:51:25 -05:00
|
|
|
SettingResolvers,
|
2017-08-13 19:33:06 -05:00
|
|
|
TagResolvers,
|
2017-08-13 13:39:07 -05:00
|
|
|
UserResolvers,
|
|
|
|
DateScalar
|
2017-08-08 21:36:29 -05:00
|
|
|
)
|
2017-07-24 21:37:13 -05:00
|
|
|
|
2017-08-06 20:05:10 -05:00
|
|
|
const Schema = gqlTools.makeExecutableSchema({
|
|
|
|
typeDefs,
|
|
|
|
resolvers
|
2017-07-24 21:37:13 -05:00
|
|
|
})
|
|
|
|
|
|
|
|
module.exports = Schema
|