directus

Форк
0
51 строка · 1.1 Кб
1
import { Router } from 'express';
2
import { parseGraphQL } from '../middleware/graphql.js';
3
import { respond } from '../middleware/respond.js';
4
import { GraphQLService } from '../services/graphql/index.js';
5
import asyncHandler from '../utils/async-handler.js';
6

7
const router = Router();
8

9
router.use(
10
	'/system',
11
	parseGraphQL,
12
	asyncHandler(async (req, res, next) => {
13
		const service = new GraphQLService({
14
			accountability: req.accountability,
15
			schema: req.schema,
16
			scope: 'system',
17
		});
18

19
		res.locals['payload'] = await service.execute(res.locals['graphqlParams']);
20

21
		if (res.locals['payload']?.errors?.length > 0) {
22
			res.locals['cache'] = false;
23
		}
24

25
		return next();
26
	}),
27
	respond,
28
);
29

30
router.use(
31
	'/',
32
	parseGraphQL,
33
	asyncHandler(async (req, res, next) => {
34
		const service = new GraphQLService({
35
			accountability: req.accountability,
36
			schema: req.schema,
37
			scope: 'items',
38
		});
39

40
		res.locals['payload'] = await service.execute(res.locals['graphqlParams']);
41

42
		if (res.locals['payload']?.errors?.length > 0) {
43
			res.locals['cache'] = false;
44
		}
45

46
		return next();
47
	}),
48
	respond,
49
);
50

51
export default router;
52

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.