-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathschema.ts
More file actions
43 lines (39 loc) · 2.03 KB
/
schema.ts
File metadata and controls
43 lines (39 loc) · 2.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import resolvers from './resolvers';
import typeDefs from './typeDefs';
import { makeExecutableSchema } from '@graphql-tools/schema';
import renameFromDirective from './directives/renameFrom';
import { mergeTypeDefs } from '@graphql-tools/merge';
import defaultValueDirective from './directives/defaultValue';
import validateDirective from './directives/validate';
import uploadImageDirective from './directives/uploadImageDirective';
import allowAnonDirective from './directives/allowAnon';
import requireAdminDirective from './directives/requireAdmin';
import requireUserInWorkspaceDirective from './directives/requireUserInWorkspace';
const { renameFromDirectiveTypeDefs, renameFromDirectiveTransformer } = renameFromDirective();
const { defaultValueDirectiveTypeDefs, defaultValueDirectiveTransformer } = defaultValueDirective();
const { validateDirectiveTypeDefs, validateDirectiveTransformer } = validateDirective();
const { uploadImageDirectiveTypeDefs, uploadImageDirectiveTransformer } = uploadImageDirective();
const { allowAnonDirectiveTypeDefs, allowAnonDirectiveTransformer } = allowAnonDirective();
const { requireAdminDirectiveTypeDefs, requireAdminDirectiveTransformer } = requireAdminDirective();
const { requireUserInWorkspaceDirectiveTypeDefs, requireUserInWorkspaceDirectiveTransformer } = requireUserInWorkspaceDirective();
let schema = makeExecutableSchema({
typeDefs: mergeTypeDefs([
renameFromDirectiveTypeDefs,
defaultValueDirectiveTypeDefs,
validateDirectiveTypeDefs,
uploadImageDirectiveTypeDefs,
allowAnonDirectiveTypeDefs,
requireAdminDirectiveTypeDefs,
requireUserInWorkspaceDirectiveTypeDefs,
...typeDefs,
]),
resolvers,
});
schema = renameFromDirectiveTransformer(schema);
schema = defaultValueDirectiveTransformer(schema);
schema = validateDirectiveTransformer(schema);
schema = uploadImageDirectiveTransformer(schema);
schema = requireAdminDirectiveTransformer(schema);
schema = allowAnonDirectiveTransformer(schema);
schema = requireUserInWorkspaceDirectiveTransformer(schema);
export default schema;