@common-stack/server-stack 6.0.6-alpha.61 → 6.0.6-alpha.69
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/config/env-config.cjs +1 -0
- package/lib/config/env-config.cjs.map +1 -1
- package/lib/config/env-config.d.ts +1 -0
- package/lib/config/env-config.mjs +1 -0
- package/lib/config/env-config.mjs.map +1 -1
- package/lib/plugins/invalidateCachePlugin.cjs +19 -4
- package/lib/plugins/invalidateCachePlugin.cjs.map +1 -1
- package/lib/plugins/invalidateCachePlugin.d.ts +1 -1
- package/lib/plugins/invalidateCachePlugin.mjs +18 -3
- package/lib/plugins/invalidateCachePlugin.mjs.map +1 -1
- package/lib/servers/GraphqlServer.cjs +56 -9
- package/lib/servers/GraphqlServer.cjs.map +1 -1
- package/lib/servers/GraphqlServer.mjs +56 -9
- package/lib/servers/GraphqlServer.mjs.map +1 -1
- package/package.json +2 -2
|
@@ -11,6 +11,7 @@ const config = envalid__namespace.cleanEnv(process.env,
|
|
|
11
11
|
GRAPHQL_URL: str(),
|
|
12
12
|
CLIENT_URL: str(),
|
|
13
13
|
MONGO_URL: str(),
|
|
14
|
+
APP_NAME: str({ default: 'CDMBASE' }),
|
|
14
15
|
REDIS_CLUSTER_URL: json({
|
|
15
16
|
devDefault: '[{"port":6379,"host":"localhost"}]',
|
|
16
17
|
example: '[{"port":6379,"host":"localhost"}]',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env-config.cjs","sources":["../../src/config/env-config.ts"],"sourcesContent":[null],"names":["envalid"],"mappings":"gZAEA,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAGA,kBAAO,CAAC;AAEvB,MAAA,MAAM,GAAGA,kBAAO,CAAC,QAAQ,CAClC,OAAO,CAAC,GAAG;AACX;AACA;IACI,QAAQ,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,CAAC;IACnG,QAAQ,EAAE,GAAG,EAAE;IACf,SAAS,EAAE,GAAG,EAAE;IAChB,OAAO,EAAE,GAAG,EAAE;IACd,gBAAgB,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;IAC9C,WAAW,EAAE,GAAG,EAAE;IAClB,WAAW,EAAE,GAAG,EAAE;IAClB,UAAU,EAAE,GAAG,EAAE;IACjB,SAAS,EAAE,GAAG,EAAE;IAChB,iBAAiB,EAAE,IAAI,CAAC;AACpB,QAAA,UAAU,EAAE,oCAAoC;AAChD,QAAA,OAAO,EAAE,oCAAoC;KAChD,CAAC;IACF,SAAS,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;IAC3C,qBAAqB,EAAE,IAAI,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IAClD,sBAAsB,EAAE,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAClD,aAAa,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC;IACnD,SAAS,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AACtC,IAAA,SAAS,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;CAC3E"}
|
|
1
|
+
{"version":3,"file":"env-config.cjs","sources":["../../src/config/env-config.ts"],"sourcesContent":[null],"names":["envalid"],"mappings":"gZAEA,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAGA,kBAAO,CAAC;AAEvB,MAAA,MAAM,GAAGA,kBAAO,CAAC,QAAQ,CAClC,OAAO,CAAC,GAAG;AACX;AACA;IACI,QAAQ,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,CAAC;IACnG,QAAQ,EAAE,GAAG,EAAE;IACf,SAAS,EAAE,GAAG,EAAE;IAChB,OAAO,EAAE,GAAG,EAAE;IACd,gBAAgB,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;IAC9C,WAAW,EAAE,GAAG,EAAE;IAClB,WAAW,EAAE,GAAG,EAAE;IAClB,UAAU,EAAE,GAAG,EAAE;IACjB,SAAS,EAAE,GAAG,EAAE;IAChB,QAAQ,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IACrC,iBAAiB,EAAE,IAAI,CAAC;AACpB,QAAA,UAAU,EAAE,oCAAoC;AAChD,QAAA,OAAO,EAAE,oCAAoC;KAChD,CAAC;IACF,SAAS,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;IAC3C,qBAAqB,EAAE,IAAI,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IAClD,sBAAsB,EAAE,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAClD,aAAa,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC;IACnD,SAAS,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AACtC,IAAA,SAAS,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;CAC3E"}
|
|
@@ -11,6 +11,7 @@ const config = envalid.cleanEnv(process.env,
|
|
|
11
11
|
GRAPHQL_URL: str(),
|
|
12
12
|
CLIENT_URL: str(),
|
|
13
13
|
MONGO_URL: str(),
|
|
14
|
+
APP_NAME: str({ default: 'CDMBASE' }),
|
|
14
15
|
REDIS_CLUSTER_URL: json({
|
|
15
16
|
devDefault: '[{"port":6379,"host":"localhost"}]',
|
|
16
17
|
example: '[{"port":6379,"host":"localhost"}]',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env-config.mjs","sources":["../../src/config/env-config.ts"],"sourcesContent":[null],"names":[],"mappings":"gCAEA,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;AAEvB,MAAA,MAAM,GAAG,OAAO,CAAC,QAAQ,CAClC,OAAO,CAAC,GAAG;AACX;AACA;IACI,QAAQ,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,CAAC;IACnG,QAAQ,EAAE,GAAG,EAAE;IACf,SAAS,EAAE,GAAG,EAAE;IAChB,OAAO,EAAE,GAAG,EAAE;IACd,gBAAgB,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;IAC9C,WAAW,EAAE,GAAG,EAAE;IAClB,WAAW,EAAE,GAAG,EAAE;IAClB,UAAU,EAAE,GAAG,EAAE;IACjB,SAAS,EAAE,GAAG,EAAE;IAChB,iBAAiB,EAAE,IAAI,CAAC;AACpB,QAAA,UAAU,EAAE,oCAAoC;AAChD,QAAA,OAAO,EAAE,oCAAoC;KAChD,CAAC;IACF,SAAS,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;IAC3C,qBAAqB,EAAE,IAAI,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IAClD,sBAAsB,EAAE,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAClD,aAAa,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC;IACnD,SAAS,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AACtC,IAAA,SAAS,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;CAC3E"}
|
|
1
|
+
{"version":3,"file":"env-config.mjs","sources":["../../src/config/env-config.ts"],"sourcesContent":[null],"names":[],"mappings":"gCAEA,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;AAEvB,MAAA,MAAM,GAAG,OAAO,CAAC,QAAQ,CAClC,OAAO,CAAC,GAAG;AACX;AACA;IACI,QAAQ,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,CAAC;IACnG,QAAQ,EAAE,GAAG,EAAE;IACf,SAAS,EAAE,GAAG,EAAE;IAChB,OAAO,EAAE,GAAG,EAAE;IACd,gBAAgB,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;IAC9C,WAAW,EAAE,GAAG,EAAE;IAClB,WAAW,EAAE,GAAG,EAAE;IAClB,UAAU,EAAE,GAAG,EAAE;IACjB,SAAS,EAAE,GAAG,EAAE;IAChB,QAAQ,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IACrC,iBAAiB,EAAE,IAAI,CAAC;AACpB,QAAA,UAAU,EAAE,oCAAoC;AAChD,QAAA,OAAO,EAAE,oCAAoC;KAChD,CAAC;IACF,SAAS,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;IAC3C,qBAAqB,EAAE,IAAI,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IAClD,sBAAsB,EAAE,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAClD,aAAa,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC;IACnD,SAAS,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AACtC,IAAA,SAAS,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;CAC3E"}
|
|
@@ -1,8 +1,22 @@
|
|
|
1
|
-
'use strict';const
|
|
1
|
+
'use strict';var envConfig=require('../config/env-config.cjs');const createResourceKeys = (requestContext, responseContext) => {
|
|
2
|
+
const { variables } = requestContext.request;
|
|
3
|
+
const { body: responseBody } = responseContext.response;
|
|
4
|
+
const { overrides, target } = variables ?? {};
|
|
5
|
+
const [, queryName] = requestContext.request.query?.match(/{\s*(\w+)/) ?? [];
|
|
6
|
+
const { resource: responseResource } = responseBody?.singleResult?.data?.[queryName];
|
|
7
|
+
let key = '';
|
|
8
|
+
if ((overrides?.resource || responseResource) && target) {
|
|
9
|
+
const { path, scheme, query, fragment } = overrides?.resource ?? responseResource;
|
|
10
|
+
key += `${scheme}/${path}?${query}${fragment ? `#${fragment}-${target}` : ''}`.replaceAll('undefined', '');
|
|
11
|
+
key += ':';
|
|
12
|
+
}
|
|
13
|
+
return key;
|
|
14
|
+
};
|
|
15
|
+
const invalidateCachePlugin = ({ cache }) => ({
|
|
2
16
|
requestDidStart(requestContext) {
|
|
3
17
|
return {
|
|
4
18
|
willSendResponse: async (responseContext) => {
|
|
5
|
-
//
|
|
19
|
+
// in case of websocket request initially the requestContext comes empty
|
|
6
20
|
if (!requestContext) {
|
|
7
21
|
return;
|
|
8
22
|
}
|
|
@@ -14,9 +28,10 @@
|
|
|
14
28
|
if (hasErrors || !queriesToInvalidate?.length || !isMutation) {
|
|
15
29
|
return;
|
|
16
30
|
}
|
|
31
|
+
const redisClient = cache;
|
|
17
32
|
// this to get the
|
|
18
|
-
const
|
|
19
|
-
const nestedKeys = await Promise.all(queriesToInvalidate.map((query) => redisClient.keys(
|
|
33
|
+
const queryKey = createResourceKeys(requestContext, responseContext);
|
|
34
|
+
const nestedKeys = await Promise.all(queriesToInvalidate.map(async (query) => redisClient.keys(`${envConfig.config.APP_NAME}:${query}:${queryKey}*`)));
|
|
20
35
|
const keys = nestedKeys.flat();
|
|
21
36
|
await redisClient.del(keys);
|
|
22
37
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invalidateCachePlugin.cjs","sources":["../../src/plugins/invalidateCachePlugin.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"invalidateCachePlugin.cjs","sources":["../../src/plugins/invalidateCachePlugin.ts"],"sourcesContent":[null],"names":["config"],"mappings":"+DAMA,MAAM,kBAAkB,GAAG,CACvB,cAA8C,EAC9C,eAA+D,KAC/D;AACA,IAAA,MAAM,EAAE,SAAS,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC;IAC7C,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,eAAe,CAAC,QAAQ,CAAC;IACxD,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,SAAS,IAAI,EAAE,CAAC;AAC9C,IAAA,MAAM,GAAG,SAAS,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;AAC7E,IAAA,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAI,YAAoB,EAAE,YAAY,EAAE,IAAI,GAAG,SAAS,CAAC,CAAC;IAC9F,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,CAAC,SAAS,EAAE,QAAQ,IAAI,gBAAgB,KAAK,MAAM,EAAE;AACrD,QAAA,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,QAAQ,IAAI,gBAAgB,CAAC;AAClF,QAAA,GAAG,IAAI,CAAA,EAAG,MAAM,CAAA,CAAA,EAAI,IAAI,CAAA,CAAA,EAAI,KAAK,CAAA,EAAG,QAAQ,GAAG,CAAI,CAAA,EAAA,QAAQ,CAAI,CAAA,EAAA,MAAM,CAAE,CAAA,GAAG,EAAE,CAAA,CAAE,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAC3G,GAAG,IAAI,GAAG,CAAC;KACd;AACD,IAAA,OAAO,GAAG,CAAC;AACf,CAAC,CAAC;AACW,MAAA,qBAAqB,GAAG,CAAC,EAAE,KAAK,EAAa,MACrD;AACG,IAAA,eAAe,CAAC,cAA8C,EAAA;QAC1D,OAAO;AACH,YAAA,gBAAgB,EAAE,OAAO,eAA+D,KAAI;;gBAExF,IAAI,CAAC,cAAc,EAAE;oBACjB,OAAO;iBACV;AACD,gBAAA,IAAI;oBACA,MAAM,SAAS,GAAG,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC;AAClD,oBAAA,MAAM,EAAE,mBAAmB,EAAE,GAAG,cAAc,CAAC,YAE9C,CAAC;oBACF,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,eAAe,CAAC,QAAQ,CAAC,WAAwC,CAAC;AAC1F,oBAAA,MAAM,UAAU,GAAG,SAAS,KAAK,UAAU,CAAC;oBAC5C,IAAI,SAAS,IAAI,CAAC,mBAAmB,EAAE,MAAM,IAAI,CAAC,UAAU,EAAE;wBAC1D,OAAO;qBACV;oBACD,MAAM,WAAW,GAAG,KAAc,CAAC;;oBAEnC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;AACrE,oBAAA,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAChC,mBAAmB,CAAC,GAAG,CAAC,OAAO,KAAa,KACxC,WAAW,CAAC,IAAI,CAAC,CAAA,EAAGA,gBAAM,CAAC,QAAQ,CAAI,CAAA,EAAA,KAAK,IAAI,QAAQ,CAAA,CAAA,CAAG,CAAC,CAC/D,CACJ,CAAC;AACF,oBAAA,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;AAC/B,oBAAA,MAAM,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;iBAC/B;gBAAC,OAAO,CAAC,EAAE;AACR,oBAAA,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;AACvE,oBAAA,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;iBAClC;aACJ;SACJ,CAAC;KACL;AACJ,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import type { BaseContext } from '@apollo/server';
|
|
1
2
|
import { ApolloServerOptions } from '@apollo/server';
|
|
2
|
-
import type { BaseContext } from '@apollo/server/dist/cjs/externalTypes/context';
|
|
3
3
|
export declare const invalidateCachePlugin: ({ cache }: {
|
|
4
4
|
cache: any;
|
|
5
5
|
}) => ApolloServerOptions<BaseContext>["plugins"][0];
|
|
@@ -1,8 +1,22 @@
|
|
|
1
|
+
import {config}from'../config/env-config.mjs';const createResourceKeys = (requestContext, responseContext) => {
|
|
2
|
+
const { variables } = requestContext.request;
|
|
3
|
+
const { body: responseBody } = responseContext.response;
|
|
4
|
+
const { overrides, target } = variables ?? {};
|
|
5
|
+
const [, queryName] = requestContext.request.query?.match(/{\s*(\w+)/) ?? [];
|
|
6
|
+
const { resource: responseResource } = responseBody?.singleResult?.data?.[queryName];
|
|
7
|
+
let key = '';
|
|
8
|
+
if ((overrides?.resource || responseResource) && target) {
|
|
9
|
+
const { path, scheme, query, fragment } = overrides?.resource ?? responseResource;
|
|
10
|
+
key += `${scheme}/${path}?${query}${fragment ? `#${fragment}-${target}` : ''}`.replaceAll('undefined', '');
|
|
11
|
+
key += ':';
|
|
12
|
+
}
|
|
13
|
+
return key;
|
|
14
|
+
};
|
|
1
15
|
const invalidateCachePlugin = ({ cache }) => ({
|
|
2
16
|
requestDidStart(requestContext) {
|
|
3
17
|
return {
|
|
4
18
|
willSendResponse: async (responseContext) => {
|
|
5
|
-
//
|
|
19
|
+
// in case of websocket request initially the requestContext comes empty
|
|
6
20
|
if (!requestContext) {
|
|
7
21
|
return;
|
|
8
22
|
}
|
|
@@ -14,9 +28,10 @@ const invalidateCachePlugin = ({ cache }) => ({
|
|
|
14
28
|
if (hasErrors || !queriesToInvalidate?.length || !isMutation) {
|
|
15
29
|
return;
|
|
16
30
|
}
|
|
31
|
+
const redisClient = cache;
|
|
17
32
|
// this to get the
|
|
18
|
-
const
|
|
19
|
-
const nestedKeys = await Promise.all(queriesToInvalidate.map((query) => redisClient.keys(
|
|
33
|
+
const queryKey = createResourceKeys(requestContext, responseContext);
|
|
34
|
+
const nestedKeys = await Promise.all(queriesToInvalidate.map(async (query) => redisClient.keys(`${config.APP_NAME}:${query}:${queryKey}*`)));
|
|
20
35
|
const keys = nestedKeys.flat();
|
|
21
36
|
await redisClient.del(keys);
|
|
22
37
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invalidateCachePlugin.mjs","sources":["../../src/plugins/invalidateCachePlugin.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"invalidateCachePlugin.mjs","sources":["../../src/plugins/invalidateCachePlugin.ts"],"sourcesContent":[null],"names":[],"mappings":"8CAMA,MAAM,kBAAkB,GAAG,CACvB,cAA8C,EAC9C,eAA+D,KAC/D;AACA,IAAA,MAAM,EAAE,SAAS,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC;IAC7C,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,eAAe,CAAC,QAAQ,CAAC;IACxD,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,SAAS,IAAI,EAAE,CAAC;AAC9C,IAAA,MAAM,GAAG,SAAS,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;AAC7E,IAAA,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAI,YAAoB,EAAE,YAAY,EAAE,IAAI,GAAG,SAAS,CAAC,CAAC;IAC9F,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,CAAC,SAAS,EAAE,QAAQ,IAAI,gBAAgB,KAAK,MAAM,EAAE;AACrD,QAAA,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,QAAQ,IAAI,gBAAgB,CAAC;AAClF,QAAA,GAAG,IAAI,CAAA,EAAG,MAAM,CAAA,CAAA,EAAI,IAAI,CAAA,CAAA,EAAI,KAAK,CAAA,EAAG,QAAQ,GAAG,CAAI,CAAA,EAAA,QAAQ,CAAI,CAAA,EAAA,MAAM,CAAE,CAAA,GAAG,EAAE,CAAA,CAAE,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAC3G,GAAG,IAAI,GAAG,CAAC;KACd;AACD,IAAA,OAAO,GAAG,CAAC;AACf,CAAC,CAAC;AACW,MAAA,qBAAqB,GAAG,CAAC,EAAE,KAAK,EAAa,MACrD;AACG,IAAA,eAAe,CAAC,cAA8C,EAAA;QAC1D,OAAO;AACH,YAAA,gBAAgB,EAAE,OAAO,eAA+D,KAAI;;gBAExF,IAAI,CAAC,cAAc,EAAE;oBACjB,OAAO;iBACV;AACD,gBAAA,IAAI;oBACA,MAAM,SAAS,GAAG,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC;AAClD,oBAAA,MAAM,EAAE,mBAAmB,EAAE,GAAG,cAAc,CAAC,YAE9C,CAAC;oBACF,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,eAAe,CAAC,QAAQ,CAAC,WAAwC,CAAC;AAC1F,oBAAA,MAAM,UAAU,GAAG,SAAS,KAAK,UAAU,CAAC;oBAC5C,IAAI,SAAS,IAAI,CAAC,mBAAmB,EAAE,MAAM,IAAI,CAAC,UAAU,EAAE;wBAC1D,OAAO;qBACV;oBACD,MAAM,WAAW,GAAG,KAAc,CAAC;;oBAEnC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;AACrE,oBAAA,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAChC,mBAAmB,CAAC,GAAG,CAAC,OAAO,KAAa,KACxC,WAAW,CAAC,IAAI,CAAC,CAAA,EAAG,MAAM,CAAC,QAAQ,CAAI,CAAA,EAAA,KAAK,IAAI,QAAQ,CAAA,CAAA,CAAG,CAAC,CAC/D,CACJ,CAAC;AACF,oBAAA,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;AAC/B,oBAAA,MAAM,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;iBAC/B;gBAAC,OAAO,CAAC,EAAE;AACR,oBAAA,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;AACvE,oBAAA,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;iBAClC;aACJ;SACJ,CAAC;KACL;AACJ,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
'use strict';var server=require('@apollo/server'),express4=require('@apollo/server/express4'),cacheControl=require('@apollo/server/plugin/cacheControl'),drainHttpServer=require('@apollo/server/plugin/drainHttpServer'),cachePlugin=require('@apollo/server-plugin-response-cache');require('isomorphic-fetch');var express=require('express'),cors=require('cors'),Keyv=require('keyv'),KeyvRedis=require('@keyv/redis'),utils_keyvadapter=require('@apollo/utils.keyvadapter'),ws=require('ws'),invalidateCachePlugin=require('../plugins/invalidateCachePlugin.cjs'),GraphqlWs=require('./GraphqlWs.cjs'),envConfig=require('../config/env-config.cjs')
|
|
1
|
+
'use strict';var server=require('@apollo/server'),express4=require('@apollo/server/express4'),cacheControl=require('@apollo/server/plugin/cacheControl'),drainHttpServer=require('@apollo/server/plugin/drainHttpServer'),cachePlugin=require('@apollo/server-plugin-response-cache');require('isomorphic-fetch');var express=require('express'),cors=require('cors'),Keyv=require('keyv'),KeyvRedis=require('@keyv/redis'),utils_keyvadapter=require('@apollo/utils.keyvadapter'),ws=require('ws'),_=require('lodash-es'),invalidateCachePlugin=require('../plugins/invalidateCachePlugin.cjs'),GraphqlWs=require('./GraphqlWs.cjs'),envConfig=require('../config/env-config.cjs');const responseCachePlugin = cachePlugin.default ?? cachePlugin;
|
|
2
2
|
if ((process.env.LOG_LEVEL && process.env.LOG_LEVEL === 'trace') || process.env.LOG_LEVEL === 'debug') ;
|
|
3
3
|
// @workaround as the `dataSources` not available in Subscription (websocket) Context.
|
|
4
4
|
// https://github.com/apollographql/apollo-server/issues/1526 need to revisit in Apollo-Server v3.
|
|
@@ -11,6 +11,48 @@ const constructDataSourcesForSubscriptions = (context, cache, dataSources) => {
|
|
|
11
11
|
}
|
|
12
12
|
return dataSources;
|
|
13
13
|
};
|
|
14
|
+
const generateResourceKeys = ({ request, contextValue }) => {
|
|
15
|
+
const { userContext } = contextValue;
|
|
16
|
+
const { body } = request.http;
|
|
17
|
+
const { variables } = body;
|
|
18
|
+
const { uri, input } = variables ?? {};
|
|
19
|
+
const getTargetUri = (target) => {
|
|
20
|
+
// User Target
|
|
21
|
+
if (target === 1) {
|
|
22
|
+
return userContext?.userSettingUri?.toString()?.replaceAll(':', '') || target;
|
|
23
|
+
}
|
|
24
|
+
if ([2, 3].includes(target)) {
|
|
25
|
+
return userContext?.accountId || target;
|
|
26
|
+
}
|
|
27
|
+
if (target === 4 || target === 5) {
|
|
28
|
+
return userContext?.orgSettingUri?.toString()?.replaceAll(':', '') || target;
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
const targetUri = getTargetUri(variables.target);
|
|
32
|
+
if (targetUri)
|
|
33
|
+
return targetUri;
|
|
34
|
+
if (uri) {
|
|
35
|
+
const { path, scheme, query, fragment } = variables.uri;
|
|
36
|
+
return `${scheme}/${path}?${query}${fragment ? `#${fragment}-${variables.target}` : ''}`.replaceAll('undefined', '');
|
|
37
|
+
}
|
|
38
|
+
if (input) {
|
|
39
|
+
const handleInput = ({ resource, target }) => {
|
|
40
|
+
if (resource) {
|
|
41
|
+
const { path, scheme, query, fragment } = resource;
|
|
42
|
+
return `${scheme}/${path}?${query}${fragment ? `#${fragment}-${target}` : ''}`.replaceAll('undefined', '');
|
|
43
|
+
}
|
|
44
|
+
const targetUri = getTargetUri(target);
|
|
45
|
+
if (targetUri)
|
|
46
|
+
return targetUri;
|
|
47
|
+
return target ?? '';
|
|
48
|
+
};
|
|
49
|
+
if (Array.isArray(input)) {
|
|
50
|
+
return input?.map(handleInput).join(',');
|
|
51
|
+
}
|
|
52
|
+
return handleInput(input);
|
|
53
|
+
}
|
|
54
|
+
return '';
|
|
55
|
+
};
|
|
14
56
|
class GraphqlServer {
|
|
15
57
|
app;
|
|
16
58
|
httpServer;
|
|
@@ -103,7 +145,7 @@ class GraphqlServer {
|
|
|
103
145
|
redisStore.on('error', (err) => {
|
|
104
146
|
this.logger.error(err, 'Redis connection error:');
|
|
105
147
|
});
|
|
106
|
-
const keyvCache = new Keyv({ store: redisStore });
|
|
148
|
+
const keyvCache = new Keyv({ store: redisStore, namespace: envConfig.config.APP_NAME });
|
|
107
149
|
const isCacheable = (requestContext) => {
|
|
108
150
|
const cache = requestContext.contextValue.overallCachePolicy;
|
|
109
151
|
if (!cache)
|
|
@@ -112,20 +154,25 @@ class GraphqlServer {
|
|
|
112
154
|
requestContext.overallCachePolicy.maxAge = cache.maxAge;
|
|
113
155
|
return requestContext.overallCachePolicy.maxAge > 0;
|
|
114
156
|
};
|
|
157
|
+
const cacheAdapter = new utils_keyvadapter.KeyvAdapter(keyvCache);
|
|
158
|
+
const cacheGet = cacheAdapter.get.bind(cacheAdapter);
|
|
159
|
+
cacheAdapter.get = (key) => cacheGet(key.replaceAll('fqc:', ''));
|
|
160
|
+
const cacheSet = cacheAdapter.set.bind(cacheAdapter);
|
|
161
|
+
cacheAdapter.set = (key, value, opts) => cacheSet(key.replaceAll('fqc:', ''), value, opts);
|
|
162
|
+
const addOptionalKey = (key) => (key ? `${key}:` : '');
|
|
115
163
|
const serverConfig = {
|
|
116
164
|
schema: this.moduleService.schema,
|
|
117
165
|
allowBatchedHttpRequests: true,
|
|
118
|
-
cache:
|
|
166
|
+
cache: cacheAdapter,
|
|
119
167
|
plugins: [
|
|
120
168
|
drainHttpServer.ApolloServerPluginDrainHttpServer({ httpServer: this.httpServer }),
|
|
121
169
|
cacheControl.ApolloServerPluginCacheControl(),
|
|
122
170
|
responseCachePlugin({
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
return `${operationName}:${queryHash}`;
|
|
171
|
+
sessionId: ({ contextValue }) => Promise.resolve(contextValue?.user?.sub ?? null),
|
|
172
|
+
generateCacheKey(requestContext) {
|
|
173
|
+
const { queryHash, request } = requestContext;
|
|
174
|
+
const [, queryName] = request.query?.match(/{\s*(\w+)/) ?? [];
|
|
175
|
+
return `${queryName}:${addOptionalKey(generateResourceKeys(requestContext))}${queryHash}`;
|
|
129
176
|
},
|
|
130
177
|
shouldWriteToCache: (ctx) =>
|
|
131
178
|
// Cache only successful responses
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphqlServer.cjs","sources":["../../src/servers/GraphqlServer.ts"],"sourcesContent":[null],"names":["WebSocketServer","config","GraphqlWs","expressMiddleware","KeyvAdapter","ApolloServerPluginDrainHttpServer","ApolloServerPluginCacheControl","isEmpty","invalidateCachePlugin","ApolloServer"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"GraphqlServer.cjs","sources":["../../src/servers/GraphqlServer.ts"],"sourcesContent":[null],"names":["WebSocketServer","config","GraphqlWs","expressMiddleware","KeyvAdapter","ApolloServerPluginDrainHttpServer","ApolloServerPluginCacheControl","isEmpty","invalidateCachePlugin","ApolloServer"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {ApolloServer}from'@apollo/server';import {expressMiddleware}from'@apollo/server/express4';import {ApolloServerPluginCacheControl}from'@apollo/server/plugin/cacheControl';import {ApolloServerPluginDrainHttpServer}from'@apollo/server/plugin/drainHttpServer';import cachePlugin from'@apollo/server-plugin-response-cache';import'isomorphic-fetch';import express from'express';import cors from'cors';import Keyv from'keyv';import KeyvRedis from'@keyv/redis';import {KeyvAdapter}from'@apollo/utils.keyvadapter';import {WebSocketServer}from'ws';import {invalidateCachePlugin}from'../plugins/invalidateCachePlugin.mjs';import {GraphqlWs}from'./GraphqlWs.mjs';import {config}from'../config/env-config.mjs';
|
|
1
|
+
import {ApolloServer}from'@apollo/server';import {expressMiddleware}from'@apollo/server/express4';import {ApolloServerPluginCacheControl}from'@apollo/server/plugin/cacheControl';import {ApolloServerPluginDrainHttpServer}from'@apollo/server/plugin/drainHttpServer';import cachePlugin from'@apollo/server-plugin-response-cache';import'isomorphic-fetch';import express from'express';import cors from'cors';import Keyv from'keyv';import KeyvRedis from'@keyv/redis';import {KeyvAdapter}from'@apollo/utils.keyvadapter';import {WebSocketServer}from'ws';import {isEmpty}from'lodash-es';import {invalidateCachePlugin}from'../plugins/invalidateCachePlugin.mjs';import {GraphqlWs}from'./GraphqlWs.mjs';import {config}from'../config/env-config.mjs';const responseCachePlugin = cachePlugin.default ?? cachePlugin;
|
|
2
2
|
if ((process.env.LOG_LEVEL && process.env.LOG_LEVEL === 'trace') || process.env.LOG_LEVEL === 'debug') ;
|
|
3
3
|
// @workaround as the `dataSources` not available in Subscription (websocket) Context.
|
|
4
4
|
// https://github.com/apollographql/apollo-server/issues/1526 need to revisit in Apollo-Server v3.
|
|
@@ -11,6 +11,48 @@ const constructDataSourcesForSubscriptions = (context, cache, dataSources) => {
|
|
|
11
11
|
}
|
|
12
12
|
return dataSources;
|
|
13
13
|
};
|
|
14
|
+
const generateResourceKeys = ({ request, contextValue }) => {
|
|
15
|
+
const { userContext } = contextValue;
|
|
16
|
+
const { body } = request.http;
|
|
17
|
+
const { variables } = body;
|
|
18
|
+
const { uri, input } = variables ?? {};
|
|
19
|
+
const getTargetUri = (target) => {
|
|
20
|
+
// User Target
|
|
21
|
+
if (target === 1) {
|
|
22
|
+
return userContext?.userSettingUri?.toString()?.replaceAll(':', '') || target;
|
|
23
|
+
}
|
|
24
|
+
if ([2, 3].includes(target)) {
|
|
25
|
+
return userContext?.accountId || target;
|
|
26
|
+
}
|
|
27
|
+
if (target === 4 || target === 5) {
|
|
28
|
+
return userContext?.orgSettingUri?.toString()?.replaceAll(':', '') || target;
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
const targetUri = getTargetUri(variables.target);
|
|
32
|
+
if (targetUri)
|
|
33
|
+
return targetUri;
|
|
34
|
+
if (uri) {
|
|
35
|
+
const { path, scheme, query, fragment } = variables.uri;
|
|
36
|
+
return `${scheme}/${path}?${query}${fragment ? `#${fragment}-${variables.target}` : ''}`.replaceAll('undefined', '');
|
|
37
|
+
}
|
|
38
|
+
if (input) {
|
|
39
|
+
const handleInput = ({ resource, target }) => {
|
|
40
|
+
if (resource) {
|
|
41
|
+
const { path, scheme, query, fragment } = resource;
|
|
42
|
+
return `${scheme}/${path}?${query}${fragment ? `#${fragment}-${target}` : ''}`.replaceAll('undefined', '');
|
|
43
|
+
}
|
|
44
|
+
const targetUri = getTargetUri(target);
|
|
45
|
+
if (targetUri)
|
|
46
|
+
return targetUri;
|
|
47
|
+
return target ?? '';
|
|
48
|
+
};
|
|
49
|
+
if (Array.isArray(input)) {
|
|
50
|
+
return input?.map(handleInput).join(',');
|
|
51
|
+
}
|
|
52
|
+
return handleInput(input);
|
|
53
|
+
}
|
|
54
|
+
return '';
|
|
55
|
+
};
|
|
14
56
|
class GraphqlServer {
|
|
15
57
|
app;
|
|
16
58
|
httpServer;
|
|
@@ -103,7 +145,7 @@ class GraphqlServer {
|
|
|
103
145
|
redisStore.on('error', (err) => {
|
|
104
146
|
this.logger.error(err, 'Redis connection error:');
|
|
105
147
|
});
|
|
106
|
-
const keyvCache = new Keyv({ store: redisStore });
|
|
148
|
+
const keyvCache = new Keyv({ store: redisStore, namespace: config.APP_NAME });
|
|
107
149
|
const isCacheable = (requestContext) => {
|
|
108
150
|
const cache = requestContext.contextValue.overallCachePolicy;
|
|
109
151
|
if (!cache)
|
|
@@ -112,20 +154,25 @@ class GraphqlServer {
|
|
|
112
154
|
requestContext.overallCachePolicy.maxAge = cache.maxAge;
|
|
113
155
|
return requestContext.overallCachePolicy.maxAge > 0;
|
|
114
156
|
};
|
|
157
|
+
const cacheAdapter = new KeyvAdapter(keyvCache);
|
|
158
|
+
const cacheGet = cacheAdapter.get.bind(cacheAdapter);
|
|
159
|
+
cacheAdapter.get = (key) => cacheGet(key.replaceAll('fqc:', ''));
|
|
160
|
+
const cacheSet = cacheAdapter.set.bind(cacheAdapter);
|
|
161
|
+
cacheAdapter.set = (key, value, opts) => cacheSet(key.replaceAll('fqc:', ''), value, opts);
|
|
162
|
+
const addOptionalKey = (key) => (key ? `${key}:` : '');
|
|
115
163
|
const serverConfig = {
|
|
116
164
|
schema: this.moduleService.schema,
|
|
117
165
|
allowBatchedHttpRequests: true,
|
|
118
|
-
cache:
|
|
166
|
+
cache: cacheAdapter,
|
|
119
167
|
plugins: [
|
|
120
168
|
ApolloServerPluginDrainHttpServer({ httpServer: this.httpServer }),
|
|
121
169
|
ApolloServerPluginCacheControl(),
|
|
122
170
|
responseCachePlugin({
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
return `${operationName}:${queryHash}`;
|
|
171
|
+
sessionId: ({ contextValue }) => Promise.resolve(contextValue?.user?.sub ?? null),
|
|
172
|
+
generateCacheKey(requestContext) {
|
|
173
|
+
const { queryHash, request } = requestContext;
|
|
174
|
+
const [, queryName] = request.query?.match(/{\s*(\w+)/) ?? [];
|
|
175
|
+
return `${queryName}:${addOptionalKey(generateResourceKeys(requestContext))}${queryHash}`;
|
|
129
176
|
},
|
|
130
177
|
shouldWriteToCache: (ctx) =>
|
|
131
178
|
// Cache only successful responses
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphqlServer.mjs","sources":["../../src/servers/GraphqlServer.ts"],"sourcesContent":[null],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"GraphqlServer.mjs","sources":["../../src/servers/GraphqlServer.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@common-stack/server-stack",
|
|
3
|
-
"version": "6.0.6-alpha.
|
|
3
|
+
"version": "6.0.6-alpha.69",
|
|
4
4
|
"description": "common core for higher packages to depend on",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"author": "CDMBase LLC",
|
|
@@ -90,5 +90,5 @@
|
|
|
90
90
|
"typescript": {
|
|
91
91
|
"definition": "lib/index.d.ts"
|
|
92
92
|
},
|
|
93
|
-
"gitHead": "
|
|
93
|
+
"gitHead": "d68b518f92e142cc60246f3242d535e05a35a01c"
|
|
94
94
|
}
|