@webresto/graphql 1.3.7 → 1.3.8
Sign up to get free protection for your applications and to get access to all the features.
- package/.gitattributes +2 -0
- package/.gitlab-ci.yml +18 -0
- package/.vscode/extensions.json +5 -0
- package/docs/actions.md +25 -0
- package/docs/authorization.md +215 -0
- package/docs/captcha.md +71 -0
- package/docs/device-id.md +30 -0
- package/docs/messages.md +10 -0
- package/docs/user.md +54 -0
- package/index.d.ts +0 -1
- package/index.js +6 -2
- package/index.ts +2 -2
- package/lib/afterHook.js +8 -0
- package/lib/afterHook.ts +9 -0
- package/lib/bindTranslations.d.ts +1 -0
- package/lib/bindTranslations.js +40 -0
- package/lib/bindTranslations.ts +39 -0
- package/lib/defaults.d.ts +1 -0
- package/lib/defaults.js +49 -10
- package/lib/defaults.ts +55 -0
- package/lib/eventHelper.d.ts +14 -5
- package/lib/eventHelper.js +28 -9
- package/lib/eventHelper.ts +41 -8
- package/lib/getRecomended.d.ts +1 -0
- package/lib/getRecomended.js +29 -0
- package/lib/getRecomended.ts +31 -0
- package/lib/graphqlHelper.d.ts +3 -4
- package/lib/graphqlHelper.js +184 -72
- package/lib/graphqlHelper.ts +329 -185
- package/lib/jwt.d.ts +10 -0
- package/lib/jwt.js +43 -0
- package/lib/jwt.ts +61 -0
- package/package.json +13 -6
- package/src/additionalResolvers.d.ts +72 -9
- package/src/additionalResolvers.js +93 -24
- package/src/additionalResolvers.ts +105 -34
- package/src/graphql.d.ts +5 -3
- package/src/graphql.js +170 -37
- package/src/graphql.ts +210 -60
- package/src/resolvers/bonusProgram.d.ts +32 -0
- package/src/resolvers/bonusProgram.js +65 -0
- package/src/resolvers/bonusProgram.ts +79 -0
- package/src/resolvers/captcha.d.ts +11 -0
- package/src/resolvers/captcha.js +19 -0
- package/src/resolvers/captcha.ts +16 -0
- package/src/resolvers/checkout.d.ts +35 -16
- package/src/resolvers/checkout.js +171 -94
- package/src/resolvers/checkout.ts +214 -104
- package/src/resolvers/dishAndModifier.js +8 -4
- package/src/resolvers/dishAndModifier.ts +4 -0
- package/src/resolvers/error.d.ts +9 -0
- package/src/resolvers/error.js +21 -0
- package/src/resolvers/error.ts +21 -0
- package/src/resolvers/menu.d.ts +9 -0
- package/src/resolvers/menu.js +12 -0
- package/src/resolvers/menu.ts +10 -0
- package/src/resolvers/order.d.ts +527 -0
- package/src/resolvers/order.js +349 -0
- package/src/resolvers/order.ts +435 -0
- package/src/resolvers/paymentMethod.js +7 -3
- package/src/resolvers/paymentMethod.ts +9 -5
- package/src/resolvers/pickupPoint.d.ts +1 -0
- package/src/resolvers/pickupPoint.js +24 -0
- package/src/resolvers/pickupPoint.ts +23 -0
- package/src/resolvers/recomended.d.ts +13 -0
- package/src/resolvers/recomended.js +80 -0
- package/src/resolvers/recomended.ts +86 -0
- package/src/resolvers/restrictions.d.ts +37 -1
- package/src/resolvers/restrictions.js +100 -15
- package/src/resolvers/restrictions.ts +106 -14
- package/src/resolvers/streets.d.ts +1 -1
- package/src/resolvers/streets.js +1 -4
- package/src/resolvers/streets.ts +1 -3
- package/src/resolvers/subscriptions.d.ts +4 -4
- package/src/resolvers/subscriptions.js +49 -12
- package/src/resolvers/subscriptions.ts +59 -14
- package/src/resolvers/telemetry.d.ts +14 -0
- package/src/resolvers/telemetry.js +25 -0
- package/src/resolvers/telemetry.ts +24 -0
- package/src/resolvers/user.d.ts +82 -0
- package/src/resolvers/user.js +416 -0
- package/src/resolvers/user.ts +621 -0
- package/src/resolvers/userLocation.d.ts +53 -0
- package/src/resolvers/userLocation.js +74 -0
- package/src/resolvers/userLocation.ts +125 -0
- package/src/resolvers/userOTPrequest.d.ts +21 -0
- package/src/resolvers/userOTPrequest.js +57 -0
- package/src/resolvers/userOTPrequest.ts +75 -0
- package/test/e2e_helper.js +157 -0
- package/test/e2e_helper.ts +212 -0
- package/test/fixture/config/i18n.js +7 -20
- package/test/fixture/config/locales/de.json +1 -0
- package/test/fixture/config/locales/en.json +10 -0
- package/test/fixture/config/locales/es.json +3 -0
- package/test/fixture/config/locales/fr.json +1 -0
- package/test/fixture/config/log.js +1 -1
- package/test/fixture/package.json +5 -6
- package/test/fixture/patches/rttc+10.0.1.patch +17 -0
- package/test/integration/captcha.test.js +20 -0
- package/test/integration/captcha.test.ts +25 -0
- package/test/integration/dish.test.js +35 -0
- package/test/integration/dish.test.ts +43 -0
- package/test/integration/graphql.test.js +5 -2
- package/test/integration/graphql.test.ts +2 -4
- package/test/integration/images.test.js +35 -0
- package/test/integration/images.test.ts +40 -0
- package/test/integration/locale.test.js +26 -0
- package/test/integration/locale.test.ts +32 -0
- package/test/integration/order.test.js +56 -43
- package/test/integration/order.test.ts +59 -59
- package/test/integration/subscriptions.test.js +136 -0
- package/test/integration/subscriptions.test.ts +162 -0
- package/test/integration/user.test.js +249 -0
- package/test/integration/user.test.ts +299 -0
- package/test/unit/first.test.js +4 -2
- package/test/unit/first.test.ts +1 -1
- package/test/unit/get-recomended.test.js +56 -0
- package/test/unit/get-recomended.test.ts +63 -0
- package/translations/de.json +2 -0
- package/translations/en.json +3 -0
- package/translations/es.json +3 -0
- package/translations/fr.json +2 -0
- package/translations/ru.json +36 -0
- package/tsconfig.json +20 -5
- package/types/global.d.ts +30 -0
- package/types/global.js +2 -0
- package/types/global.ts +31 -0
- package/types/primitives.d.ts +19 -0
- package/types/references.d.ts +1 -0
- package/types/restoGraphQLConfig.d.ts +13 -0
- package/lib/afterHook.ts___graphql-transport-ws +0 -138
- package/lib/afterHook.ts___graphql-ws +0 -133
- package/lib/errorWrapper.d.ts +0 -4
- package/lib/errorWrapper.js +0 -13
- package/lib/errorWrapper.ts +0 -12
- package/notes.md +0 -1976
- package/src/resolvers/cart.d.ts +0 -343
- package/src/resolvers/cart.js +0 -196
- package/src/resolvers/cart.ts +0 -278
- package/test/fixture/config/connections.js +0 -9
- package/test/integration/sails_not_crash.test.js +0 -3
- package/test/integration/sails_not_crash.test.ts +0 -3
@@ -0,0 +1,36 @@
|
|
1
|
+
{
|
2
|
+
"Status here": "Статус здесь",
|
3
|
+
"Order not found": "Заказ не найден",
|
4
|
+
"Order with id %s not found": "Заказ с ID %s не найден",
|
5
|
+
"Error": "Ошибка",
|
6
|
+
"Cart was ordered": "Корзина была заказана",
|
7
|
+
"Checking the payment system ended in failure": "Проверка платежной системы завершилась неудачно",
|
8
|
+
"Attention": "Внимание",
|
9
|
+
"Ready for order": "Готов к заказу",
|
10
|
+
"It was not possible to check the order": "Не удалось проверить заказ",
|
11
|
+
"Enter the name of the customer": "Введите имя клиента",
|
12
|
+
"Enter the customer's phone": "Введите телефон клиента",
|
13
|
+
"The wrong format of the name of the customer": "Неправильный формат имени клиента",
|
14
|
+
"The wrong format of the customer number": "Неправильный формат номера клиента",
|
15
|
+
"No point of Street": "Не указана улица",
|
16
|
+
"Not indicated the house number": "Не указан номер дома",
|
17
|
+
"The city is not indicated": "Город не указан",
|
18
|
+
"The payment system is not available": "Платежная система недоступна",
|
19
|
+
"The date of execution of the order is not true": "Дата исполнения заказа не соответствует действительности",
|
20
|
+
"Problem when checking the order: %s": "Проблема при проверке заказа: %s",
|
21
|
+
"Successfully": "Успешно",
|
22
|
+
"Your order is accepted for processing": "Ваш заказ принят в обработку",
|
23
|
+
"Success": "Успех",
|
24
|
+
"OTP sended": "КОД отправлен",
|
25
|
+
"Authorization": "Авторизация",
|
26
|
+
"User not found": "Пользователь не найден",
|
27
|
+
"Check login please": "Пожалуйста, проверьте логин",
|
28
|
+
"Password was cahanged": "Пароль был изменен",
|
29
|
+
"New user created": "Создан новый пользователь",
|
30
|
+
"Logout": "Выйти",
|
31
|
+
"Logout from all devices": "Выйти со всех устройств",
|
32
|
+
"User was updated": "Пользователь обновлен",
|
33
|
+
"The user will be deleted": "Пользователь будет удален",
|
34
|
+
"Error: %s": "Ошибка: %s",
|
35
|
+
"Ordering for a date in the past is not possible": "Заказ на дату в прошлом невозможен"
|
36
|
+
}
|
package/tsconfig.json
CHANGED
@@ -1,10 +1,25 @@
|
|
1
1
|
{
|
2
2
|
"compilerOptions": {
|
3
3
|
"module": "commonjs",
|
4
|
-
"target": "
|
4
|
+
"target": "es2022",
|
5
|
+
"lib": [
|
6
|
+
"dom"
|
7
|
+
],
|
8
|
+
"types": [
|
9
|
+
"bluebird-global",
|
10
|
+
"mocha",
|
11
|
+
"node",
|
12
|
+
"chai",
|
13
|
+
"@webresto/core"
|
14
|
+
],
|
15
|
+
"sourceMap": false,
|
16
|
+
"declaration": true,
|
17
|
+
"removeComments": false,
|
18
|
+
"skipLibCheck": true,
|
19
|
+
// TODO: ts with "strict": true,
|
20
|
+
// "alwaysStrict": true
|
5
21
|
},
|
6
|
-
"exclude": [
|
7
|
-
|
8
|
-
|
9
|
-
]
|
22
|
+
"exclude": [
|
23
|
+
"node_modules"
|
24
|
+
]
|
10
25
|
}
|
@@ -0,0 +1,30 @@
|
|
1
|
+
import sails from "@42pub/typed-sails";
|
2
|
+
import { Config } from "@webresto/core/interfaces/Config";
|
3
|
+
import AwaitEmitter from "@webresto/core/libs/AwaitEmitter";
|
4
|
+
import { NotificationManager } from "@webresto/core/libs/NotificationManager";
|
5
|
+
type sailsConfig = typeof sails.config;
|
6
|
+
declare global {
|
7
|
+
const emitter: AwaitEmitter;
|
8
|
+
const NotificationManager: NotificationManager;
|
9
|
+
const Adapter: typeof import("@webresto/core/adapters").Adapter;
|
10
|
+
export interface Sails extends sails.Sails {
|
11
|
+
on: any;
|
12
|
+
emit: any;
|
13
|
+
router: any;
|
14
|
+
hooks: any;
|
15
|
+
models: any;
|
16
|
+
config: _sailsConfig;
|
17
|
+
log: any;
|
18
|
+
after: any;
|
19
|
+
graphql: any;
|
20
|
+
}
|
21
|
+
interface _sailsConfig extends sailsConfig {
|
22
|
+
restocore: Config;
|
23
|
+
[key: string]: any | object;
|
24
|
+
}
|
25
|
+
export const sails: Sails;
|
26
|
+
type ReqType = sails.Request;
|
27
|
+
type ResType = sails.Response;
|
28
|
+
type PropType<TObj, TProp extends keyof TObj> = TObj[TProp];
|
29
|
+
}
|
30
|
+
export {};
|
package/types/global.js
ADDED
package/types/global.ts
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
import sails from "@42pub/typed-sails";
|
2
|
+
import { Config } from "@webresto/core/interfaces/Config";
|
3
|
+
import AwaitEmitter from "@webresto/core/libs/AwaitEmitter";
|
4
|
+
import { NotificationManager } from "@webresto/core/libs/NotificationManager"
|
5
|
+
type sailsConfig = typeof sails.config;
|
6
|
+
|
7
|
+
declare global {
|
8
|
+
const emitter: AwaitEmitter;
|
9
|
+
const NotificationManager: NotificationManager
|
10
|
+
const Adapter: typeof import("@webresto/core/adapters").Adapter
|
11
|
+
|
12
|
+
export interface Sails extends sails.Sails {
|
13
|
+
on: any
|
14
|
+
emit: any
|
15
|
+
router: any
|
16
|
+
hooks: any
|
17
|
+
models: any;
|
18
|
+
config: _sailsConfig;
|
19
|
+
log: any;
|
20
|
+
after: any;
|
21
|
+
graphql: any;
|
22
|
+
}
|
23
|
+
interface _sailsConfig extends sailsConfig {
|
24
|
+
restocore: Config;
|
25
|
+
[key:string]: any | object;
|
26
|
+
}
|
27
|
+
export const sails: Sails;
|
28
|
+
type ReqType = sails.Request;
|
29
|
+
type ResType = sails.Response;
|
30
|
+
type PropType<TObj, TProp extends keyof TObj> = TObj[TProp];
|
31
|
+
}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
export interface Message {
|
2
|
+
title: string
|
3
|
+
type: "error" | "info"
|
4
|
+
id?: string
|
5
|
+
message?: string
|
6
|
+
deviceId: string
|
7
|
+
}
|
8
|
+
|
9
|
+
export interface Action {
|
10
|
+
type: string
|
11
|
+
data: object | string
|
12
|
+
id?: string
|
13
|
+
deviceId: string
|
14
|
+
}
|
15
|
+
|
16
|
+
export interface Response {
|
17
|
+
message?: Message | undefined | null
|
18
|
+
action?: Action | undefined | null
|
19
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
// <reference path="./node_modules/@webresto/core/interfaces/globalTypes.ts"/>
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import User from "@webresto/core/models/User"
|
2
|
+
export interface RestoGraphQLConfig {
|
3
|
+
// /**
|
4
|
+
// * This method retruns user by context.connectionParams.authorization
|
5
|
+
// *`function(context.connectionParams.authorization){
|
6
|
+
// * user = ...
|
7
|
+
// * retrun user
|
8
|
+
// * }`
|
9
|
+
// */
|
10
|
+
// authService(token: string): Promise<User>
|
11
|
+
whiteListAutoGen?: {[key: string]: string[]}
|
12
|
+
blackList?: string[]
|
13
|
+
}
|
@@ -1,138 +0,0 @@
|
|
1
|
-
import graphql from "../src/graphql";
|
2
|
-
import * as helper from "./graphqlHelper";
|
3
|
-
import { useServer } from 'graphql-ws/lib/use/ws';
|
4
|
-
import { execute, subscribe } from "graphql";
|
5
|
-
import * as WebSocket from 'ws';
|
6
|
-
|
7
|
-
|
8
|
-
import { createServer } from 'graphql-transport-ws';
|
9
|
-
|
10
|
-
import * as url from "url";
|
11
|
-
import { formatApolloErrors } from "apollo-server-errors";
|
12
|
-
|
13
|
-
export default async function () {
|
14
|
-
try {
|
15
|
-
sails.log.verbose(">>> graphql hook starting");
|
16
|
-
sails.on("lifted", async function () {
|
17
|
-
const graphServer = await graphql.init();
|
18
|
-
|
19
|
-
// inject middleware into express app
|
20
|
-
sails.hooks.http.app.use(graphServer.getMiddleware());
|
21
|
-
let layer = sails.hooks.http.app._router.stack.slice(-1)[0];
|
22
|
-
sails.hooks.http.app._router.stack.splice(1, 0, layer);
|
23
|
-
// graphServer.installSubscriptionHandlers(sails.hooks.http.server);
|
24
|
-
|
25
|
-
// WebSocket
|
26
|
-
|
27
|
-
const schema = graphServer.schema;
|
28
|
-
|
29
|
-
const graphqlWS = new WebSocket.Server({ noServer: true });
|
30
|
-
console.log(graphqlWS)
|
31
|
-
// serve graphql
|
32
|
-
// useServer({ schema }, graphqlWS);
|
33
|
-
|
34
|
-
// const subscriptionServer = createServer(
|
35
|
-
// {
|
36
|
-
// schema,
|
37
|
-
// execute,
|
38
|
-
// subscribe,
|
39
|
-
// onConnect() {
|
40
|
-
// console.log("SubscriptionServer ready!");
|
41
|
-
// }
|
42
|
-
// },
|
43
|
-
// {
|
44
|
-
// noServer: true,
|
45
|
-
// }
|
46
|
-
// );
|
47
|
-
|
48
|
-
|
49
|
-
// const subscriptionServer = SubscriptionServer.create(
|
50
|
-
// {
|
51
|
-
// schema,
|
52
|
-
// execute,
|
53
|
-
// subscribe,
|
54
|
-
// onConnect:(connectionParams: Object) => ({ ...connectionParams }),
|
55
|
-
// // onDisconnect: onDisconnect,
|
56
|
-
// onOperation: async (
|
57
|
-
// message: { payload: any },
|
58
|
-
// connection: ExecutionParams,
|
59
|
-
// ) => {
|
60
|
-
// connection.formatResponse = (value: any) => ({
|
61
|
-
// ...value,
|
62
|
-
// // errors:
|
63
|
-
// // value.errors &&
|
64
|
-
// // formatApolloErrors([...value.errors], {
|
65
|
-
// // formatter: this.requestOptions.formatError,
|
66
|
-
// // debug: this.requestOptions.debug,
|
67
|
-
// // }),
|
68
|
-
// });
|
69
|
-
|
70
|
-
// // connection.formatError = this.requestOptions.formatError;
|
71
|
-
// console.log("<><><><",this.context, connection)
|
72
|
-
// let context: any = this.context ? this.context : { connection };
|
73
|
-
|
74
|
-
// try {
|
75
|
-
// context =
|
76
|
-
// typeof this.context === 'function'
|
77
|
-
// ? await this.context({ connection, payload: message.payload })
|
78
|
-
// : context;
|
79
|
-
// } catch (e) {
|
80
|
-
// // throw formatApolloErrors([e], {
|
81
|
-
// // formatter: this.requestOptions.formatError,
|
82
|
-
// // debug: this.requestOptions.debug,
|
83
|
-
// // })[0];
|
84
|
-
// }
|
85
|
-
|
86
|
-
// return { ...connection, context };
|
87
|
-
// },
|
88
|
-
// // keepAlive,
|
89
|
-
// // validationRules: this.requestOptions.validationRules,
|
90
|
-
// },
|
91
|
-
// {
|
92
|
-
// noServer: true,
|
93
|
-
// }
|
94
|
-
// );
|
95
|
-
|
96
|
-
//@ts-ignore we need to access the private field which typescript does not like
|
97
|
-
// const wsServer: WebSocket.Server = subscriptionServer.wsServer;
|
98
|
-
const upgradeHandler = (req, socket, head) => {
|
99
|
-
if (!req.url) return;
|
100
|
-
const pathname = url.parse(req.url).pathname;
|
101
|
-
|
102
|
-
if (!pathname) return;
|
103
|
-
|
104
|
-
|
105
|
-
// if (pathname === '/graphql') {
|
106
|
-
// return graphqlWS.handleUpgrade(request, socket, head, (client) => {
|
107
|
-
// graphqlWS.emit('connection', client, request);
|
108
|
-
// });
|
109
|
-
// }
|
110
|
-
|
111
|
-
console.log(pathname)
|
112
|
-
if (pathname.startsWith("/graphql")) {
|
113
|
-
console.log(">>>>>>>>>>>>>>>>>>>..")
|
114
|
-
|
115
|
-
graphqlWS.handleUpgrade(req, socket, head, (ws) => {
|
116
|
-
console.log(">>>>>>>>>>>>>>>>>>>..111")
|
117
|
-
graphqlWS.emit('connection', ws, req);
|
118
|
-
});
|
119
|
-
}
|
120
|
-
};
|
121
|
-
|
122
|
-
sails.hooks.http.server.on("upgrade", upgradeHandler);
|
123
|
-
|
124
|
-
createServer(
|
125
|
-
{
|
126
|
-
schema,
|
127
|
-
execute,
|
128
|
-
subscribe,
|
129
|
-
},
|
130
|
-
graphqlWS,
|
131
|
-
);
|
132
|
-
|
133
|
-
|
134
|
-
});
|
135
|
-
} catch (e) {
|
136
|
-
sails.log.error("graphql > afterHook > error1", e);
|
137
|
-
}
|
138
|
-
}
|
@@ -1,133 +0,0 @@
|
|
1
|
-
import graphql from "../src/graphql";
|
2
|
-
import * as helper from "./graphqlHelper";
|
3
|
-
import { useServer } from 'graphql-ws/lib/use/ws';
|
4
|
-
import { execute, subscribe } from "graphql";
|
5
|
-
import * as ws from "ws";
|
6
|
-
const WebSocketServer = ws.Server
|
7
|
-
|
8
|
-
import * as url from "url";
|
9
|
-
import { formatApolloErrors } from "apollo-server-errors";
|
10
|
-
|
11
|
-
export default async function () {
|
12
|
-
try {
|
13
|
-
sails.log.verbose(">>> graphql hook starting");
|
14
|
-
sails.on("lifted", async function () {
|
15
|
-
const graphServer = await graphql.init();
|
16
|
-
|
17
|
-
// inject middleware into express app
|
18
|
-
sails.hooks.http.app.use(graphServer.getMiddleware());
|
19
|
-
let layer = sails.hooks.http.app._router.stack.slice(-1)[0];
|
20
|
-
sails.hooks.http.app._router.stack.splice(1, 0, layer);
|
21
|
-
// graphServer.installSubscriptionHandlers(sails.hooks.http.server);
|
22
|
-
|
23
|
-
// WebSocket
|
24
|
-
|
25
|
-
const schema = graphServer.schema;
|
26
|
-
|
27
|
-
const graphqlWS = new WebSocketServer({ noServer: true });
|
28
|
-
|
29
|
-
// serve graphql
|
30
|
-
useServer({ schema }, graphqlWS);
|
31
|
-
|
32
|
-
// const subscriptionServer = SubscriptionServer.create(
|
33
|
-
// {
|
34
|
-
// schema,
|
35
|
-
// execute,
|
36
|
-
// subscribe,
|
37
|
-
// onConnect() {
|
38
|
-
// console.log("SubscriptionServer ready!");
|
39
|
-
// },
|
40
|
-
// onOperation: async (
|
41
|
-
// message: { payload: any },
|
42
|
-
// connection: ExecutionParams
|
43
|
-
// ) => {
|
44
|
-
// connection.formatResponse = (value: any) => ({
|
45
|
-
// ...value
|
46
|
-
// });
|
47
|
-
// console.log("<><><><",this.context)
|
48
|
-
// let context: any = this.context ? this.context : { connection };
|
49
|
-
|
50
|
-
// try {
|
51
|
-
// context =
|
52
|
-
// typeof this.context === "function"
|
53
|
-
// ? await this.context({ connection, payload: message.payload })
|
54
|
-
// : context;
|
55
|
-
// } catch (e) {
|
56
|
-
// console.log(e)
|
57
|
-
// }
|
58
|
-
|
59
|
-
// return { ...connection, context };
|
60
|
-
// },
|
61
|
-
// },
|
62
|
-
// {
|
63
|
-
// noServer: true,
|
64
|
-
// }
|
65
|
-
// );
|
66
|
-
|
67
|
-
// const subscriptionServer = SubscriptionServer.create(
|
68
|
-
// {
|
69
|
-
// schema,
|
70
|
-
// execute,
|
71
|
-
// subscribe,
|
72
|
-
// onConnect:(connectionParams: Object) => ({ ...connectionParams }),
|
73
|
-
// // onDisconnect: onDisconnect,
|
74
|
-
// onOperation: async (
|
75
|
-
// message: { payload: any },
|
76
|
-
// connection: ExecutionParams,
|
77
|
-
// ) => {
|
78
|
-
// connection.formatResponse = (value: any) => ({
|
79
|
-
// ...value,
|
80
|
-
// // errors:
|
81
|
-
// // value.errors &&
|
82
|
-
// // formatApolloErrors([...value.errors], {
|
83
|
-
// // formatter: this.requestOptions.formatError,
|
84
|
-
// // debug: this.requestOptions.debug,
|
85
|
-
// // }),
|
86
|
-
// });
|
87
|
-
|
88
|
-
// // connection.formatError = this.requestOptions.formatError;
|
89
|
-
// console.log("<><><><",this.context, connection)
|
90
|
-
// let context: any = this.context ? this.context : { connection };
|
91
|
-
|
92
|
-
// try {
|
93
|
-
// context =
|
94
|
-
// typeof this.context === 'function'
|
95
|
-
// ? await this.context({ connection, payload: message.payload })
|
96
|
-
// : context;
|
97
|
-
// } catch (e) {
|
98
|
-
// // throw formatApolloErrors([e], {
|
99
|
-
// // formatter: this.requestOptions.formatError,
|
100
|
-
// // debug: this.requestOptions.debug,
|
101
|
-
// // })[0];
|
102
|
-
// }
|
103
|
-
|
104
|
-
// return { ...connection, context };
|
105
|
-
// },
|
106
|
-
// // keepAlive,
|
107
|
-
// // validationRules: this.requestOptions.validationRules,
|
108
|
-
// },
|
109
|
-
// {
|
110
|
-
// noServer: true,
|
111
|
-
// }
|
112
|
-
// );
|
113
|
-
|
114
|
-
//@ts-ignore we need to access the private field which typescript does not like
|
115
|
-
// const wsServer: WebSocket.Server = subscriptionServer.wsServer;
|
116
|
-
const upgradeHandler = (req, socket, head) => {
|
117
|
-
if (!req.url) return;
|
118
|
-
const pathname = url.parse(req.url).pathname;
|
119
|
-
|
120
|
-
if (!pathname) return;
|
121
|
-
|
122
|
-
if (pathname.startsWith("/graphql")) {
|
123
|
-
graphqlWS.handleUpgrade(req, socket, head, (ws) => {
|
124
|
-
graphqlWS.emit("connection", ws, req);
|
125
|
-
});
|
126
|
-
}
|
127
|
-
};
|
128
|
-
sails.hooks.http.server.on("upgrade", upgradeHandler);
|
129
|
-
});
|
130
|
-
} catch (e) {
|
131
|
-
sails.log.error("graphql > afterHook > error1", e);
|
132
|
-
}
|
133
|
-
}
|
package/lib/errorWrapper.d.ts
DELETED
package/lib/errorWrapper.js
DELETED
@@ -1,13 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.Error = void 0;
|
4
|
-
const apollo_server_errors_1 = require("apollo-server-errors");
|
5
|
-
class Error extends apollo_server_errors_1.ApolloError {
|
6
|
-
constructor(code, message) {
|
7
|
-
if (process.env.NODE_ENV == "production" && code === "INTERNAL_ERROR")
|
8
|
-
message = 'Что-то пошло не так';
|
9
|
-
super(message, code);
|
10
|
-
Object.defineProperty(this, 'name', { value: '' });
|
11
|
-
}
|
12
|
-
}
|
13
|
-
exports.Error = Error;
|
package/lib/errorWrapper.ts
DELETED
@@ -1,12 +0,0 @@
|
|
1
|
-
import { ApolloError } from 'apollo-server-errors';
|
2
|
-
|
3
|
-
export class Error extends ApolloError {
|
4
|
-
constructor(code?: string, message?: string) {
|
5
|
-
if (process.env.NODE_ENV == "production" && code === "INTERNAL_ERROR")
|
6
|
-
message = 'Что-то пошло не так';
|
7
|
-
super(message, code);
|
8
|
-
|
9
|
-
|
10
|
-
Object.defineProperty(this, 'name', { value: '' });
|
11
|
-
}
|
12
|
-
}
|