directus
51 строка · 1.1 Кб
1import { Router } from 'express';2import { parseGraphQL } from '../middleware/graphql.js';3import { respond } from '../middleware/respond.js';4import { GraphQLService } from '../services/graphql/index.js';5import asyncHandler from '../utils/async-handler.js';6
7const router = Router();8
9router.use(10'/system',11parseGraphQL,12asyncHandler(async (req, res, next) => {13const service = new GraphQLService({14accountability: req.accountability,15schema: req.schema,16scope: 'system',17});18
19res.locals['payload'] = await service.execute(res.locals['graphqlParams']);20
21if (res.locals['payload']?.errors?.length > 0) {22res.locals['cache'] = false;23}24
25return next();26}),27respond,28);29
30router.use(31'/',32parseGraphQL,33asyncHandler(async (req, res, next) => {34const service = new GraphQLService({35accountability: req.accountability,36schema: req.schema,37scope: 'items',38});39
40res.locals['payload'] = await service.execute(res.locals['graphqlParams']);41
42if (res.locals['payload']?.errors?.length > 0) {43res.locals['cache'] = false;44}45
46return next();47}),48respond,49);50
51export default router;52