@common-stack/server-stack 7.0.4-alpha.17 → 7.0.4-alpha.18
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/MainStackServer.cjs +231 -0
- package/lib/MainStackServer.cjs.map +1 -0
- package/lib/MainStackServer.d.ts +28 -0
- package/lib/MainStackServer.mjs +231 -0
- package/lib/MainStackServer.mjs.map +1 -0
- package/lib/StackServer.cjs +92 -0
- package/lib/StackServer.cjs.map +1 -0
- package/lib/StackServer.d.ts +20 -0
- package/lib/StackServer.mjs +92 -0
- package/lib/StackServer.mjs.map +1 -0
- package/lib/api/remote-config.cjs +6 -0
- package/lib/api/remote-config.cjs.map +1 -0
- package/lib/api/remote-config.d.ts +6 -0
- package/lib/api/remote-config.mjs +6 -0
- package/lib/api/remote-config.mjs.map +1 -0
- package/lib/api/resolver.cjs +12 -0
- package/lib/api/resolver.cjs.map +1 -0
- package/lib/api/resolver.d.ts +10 -0
- package/lib/api/resolver.mjs +12 -0
- package/lib/api/resolver.mjs.map +1 -0
- package/lib/api/root-schema.graphqls.cjs +2 -0
- package/lib/api/root-schema.graphqls.cjs.map +1 -0
- package/lib/api/root-schema.graphqls.mjs +2 -0
- package/lib/api/root-schema.graphqls.mjs.map +1 -0
- package/lib/api/scalar.cjs +16 -0
- package/lib/api/scalar.cjs.map +1 -0
- package/lib/api/scalar.d.ts +2 -0
- package/lib/api/scalar.mjs +16 -0
- package/lib/api/scalar.mjs.map +1 -0
- package/lib/api/schema-builder.cjs +160 -0
- package/lib/api/schema-builder.cjs.map +1 -0
- package/lib/api/schema-builder.d.ts +24 -0
- package/lib/api/schema-builder.mjs +160 -0
- package/lib/api/schema-builder.mjs.map +1 -0
- package/lib/api/utils.cjs +27 -0
- package/lib/api/utils.cjs.map +1 -0
- package/lib/api/utils.d.ts +4 -0
- package/lib/api/utils.mjs +27 -0
- package/lib/api/utils.mjs.map +1 -0
- package/lib/config/env-config.cjs +38 -0
- package/lib/config/env-config.cjs.map +1 -0
- package/lib/config/env-config.d.ts +21 -0
- package/lib/config/env-config.mjs +38 -0
- package/lib/config/env-config.mjs.map +1 -0
- package/lib/config/index.d.ts +1 -0
- package/lib/config/moleculer.config.cjs +191 -0
- package/lib/config/moleculer.config.cjs.map +1 -0
- package/lib/config/moleculer.config.d.ts +20 -0
- package/lib/config/moleculer.config.mjs +191 -0
- package/lib/config/moleculer.config.mjs.map +1 -0
- package/lib/connectors/connection-broker.cjs +61 -0
- package/lib/connectors/connection-broker.cjs.map +1 -0
- package/lib/connectors/connection-broker.d.ts +26 -0
- package/lib/connectors/connection-broker.mjs +61 -0
- package/lib/connectors/connection-broker.mjs.map +1 -0
- package/lib/connectors/graphql-pubsub-connector.cjs +28 -0
- package/lib/connectors/graphql-pubsub-connector.cjs.map +1 -0
- package/lib/connectors/graphql-pubsub-connector.d.ts +22 -0
- package/lib/connectors/graphql-pubsub-connector.mjs +28 -0
- package/lib/connectors/graphql-pubsub-connector.mjs.map +1 -0
- package/lib/connectors/mongo-connector.cjs +57 -0
- package/lib/connectors/mongo-connector.cjs.map +1 -0
- package/lib/connectors/mongo-connector.d.ts +21 -0
- package/lib/connectors/mongo-connector.mjs +57 -0
- package/lib/connectors/mongo-connector.mjs.map +1 -0
- package/lib/connectors/nats-connector.cjs +63 -0
- package/lib/connectors/nats-connector.cjs.map +1 -0
- package/lib/connectors/nats-connector.d.ts +20 -0
- package/lib/connectors/nats-connector.mjs +63 -0
- package/lib/connectors/nats-connector.mjs.map +1 -0
- package/lib/connectors/redis-connector.cjs +79 -0
- package/lib/connectors/redis-connector.cjs.map +1 -0
- package/lib/connectors/redis-connector.d.ts +30 -0
- package/lib/connectors/redis-connector.mjs +79 -0
- package/lib/connectors/redis-connector.mjs.map +1 -0
- package/lib/graphql/directives/index.cjs +10 -0
- package/lib/graphql/directives/index.cjs.map +1 -0
- package/lib/graphql/directives/index.d.ts +7 -0
- package/lib/graphql/directives/index.mjs +10 -0
- package/lib/graphql/directives/index.mjs.map +1 -0
- package/lib/graphql/index.d.ts +2 -0
- package/lib/graphql/schema/directives.graphql.cjs +1 -0
- package/lib/graphql/schema/directives.graphql.cjs.map +1 -0
- package/lib/graphql/schema/directives.graphql.mjs +1 -0
- package/lib/graphql/schema/directives.graphql.mjs.map +1 -0
- package/lib/graphql/schema/index.cjs +1 -0
- package/lib/graphql/schema/index.cjs.map +1 -0
- package/lib/graphql/schema/index.d.ts +1 -0
- package/lib/graphql/schema/index.mjs +1 -0
- package/lib/graphql/schema/index.mjs.map +1 -0
- package/lib/index.cjs +1 -0
- package/lib/index.cjs.map +1 -0
- package/lib/index.d.ts +3 -0
- package/lib/index.mjs +1 -0
- package/lib/index.mjs.map +1 -0
- package/lib/interfaces/dbMigration.d.ts +8 -0
- package/lib/interfaces/graphql-request-context.d.ts +15 -0
- package/lib/interfaces/index.d.ts +4 -0
- package/lib/interfaces/module-interface.d.ts +13 -0
- package/lib/interfaces/moleculer.d.ts +7 -0
- package/lib/middleware/cors.cjs +26 -0
- package/lib/middleware/cors.cjs.map +1 -0
- package/lib/middleware/cors.d.ts +6 -0
- package/lib/middleware/cors.mjs +26 -0
- package/lib/middleware/cors.mjs.map +1 -0
- package/lib/middleware/error.cjs +18 -0
- package/lib/middleware/error.cjs.map +1 -0
- package/lib/middleware/error.d.ts +9 -0
- package/lib/middleware/error.mjs +18 -0
- package/lib/middleware/error.mjs.map +1 -0
- package/lib/middleware/moleculer-inter-namespace.cjs +44 -0
- package/lib/middleware/moleculer-inter-namespace.cjs.map +1 -0
- package/lib/middleware/moleculer-inter-namespace.d.ts +2 -0
- package/lib/middleware/moleculer-inter-namespace.mjs +44 -0
- package/lib/middleware/moleculer-inter-namespace.mjs.map +1 -0
- package/lib/middleware/sentry.cjs +3 -0
- package/lib/middleware/sentry.cjs.map +1 -0
- package/lib/middleware/sentry.d.ts +2 -0
- package/lib/middleware/sentry.mjs +3 -0
- package/lib/middleware/sentry.mjs.map +1 -0
- package/lib/middleware/services.cjs +12 -0
- package/lib/middleware/services.cjs.map +1 -0
- package/lib/middleware/services.d.ts +2 -0
- package/lib/middleware/services.mjs +12 -0
- package/lib/middleware/services.mjs.map +1 -0
- package/lib/plugins/index.d.ts +2 -0
- package/lib/plugins/invalidateCachePlugin.cjs +63 -0
- package/lib/plugins/invalidateCachePlugin.cjs.map +1 -0
- package/lib/plugins/invalidateCachePlugin.d.ts +8 -0
- package/lib/plugins/invalidateCachePlugin.mjs +63 -0
- package/lib/plugins/invalidateCachePlugin.mjs.map +1 -0
- package/lib/plugins/invalidateCachePlugin.test.d.ts +1 -0
- package/lib/plugins/response-cache-plugin.test.d.ts +1 -0
- package/lib/plugins/responseCachePlugin.cjs +63 -0
- package/lib/plugins/responseCachePlugin.cjs.map +1 -0
- package/lib/plugins/responseCachePlugin.d.ts +12 -0
- package/lib/plugins/responseCachePlugin.mjs +63 -0
- package/lib/plugins/responseCachePlugin.mjs.map +1 -0
- package/lib/servers/ExpressApp.cjs +37 -0
- package/lib/servers/ExpressApp.cjs.map +1 -0
- package/lib/servers/ExpressApp.d.ts +3 -0
- package/lib/servers/ExpressApp.mjs +37 -0
- package/lib/servers/ExpressApp.mjs.map +1 -0
- package/lib/servers/GraphqlServer.cjs +142 -0
- package/lib/servers/GraphqlServer.cjs.map +1 -0
- package/lib/servers/GraphqlServer.d.ts +23 -0
- package/lib/servers/GraphqlServer.mjs +142 -0
- package/lib/servers/GraphqlServer.mjs.map +1 -0
- package/lib/servers/GraphqlWs.cjs +97 -0
- package/lib/servers/GraphqlWs.cjs.map +1 -0
- package/lib/servers/GraphqlWs.d.ts +14 -0
- package/lib/servers/GraphqlWs.mjs +97 -0
- package/lib/servers/GraphqlWs.mjs.map +1 -0
- package/lib/servers/WebsocketMultipathUpdate.cjs +63 -0
- package/lib/servers/WebsocketMultipathUpdate.cjs.map +1 -0
- package/lib/servers/WebsocketMultipathUpdate.d.ts +18 -0
- package/lib/servers/WebsocketMultipathUpdate.mjs +63 -0
- package/lib/servers/WebsocketMultipathUpdate.mjs.map +1 -0
- package/lib/servers/mongodb-migration-update.d.ts +12 -0
- package/lib/servers/utils.d.ts +14 -0
- package/lib/utils/index.d.ts +1 -0
- package/lib/utils/migrations.cjs +26 -0
- package/lib/utils/migrations.cjs.map +1 -0
- package/lib/utils/migrations.d.ts +8 -0
- package/lib/utils/migrations.mjs +26 -0
- package/lib/utils/migrations.mjs.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import * as IORedis from 'ioredis';
|
|
2
|
+
export declare class RedisConnector {
|
|
3
|
+
private client;
|
|
4
|
+
private opts;
|
|
5
|
+
private logger;
|
|
6
|
+
/**
|
|
7
|
+
* Creates an instance of RedisConnector.
|
|
8
|
+
*
|
|
9
|
+
* @param {object} opts
|
|
10
|
+
*/
|
|
11
|
+
constructor(opts?: IORedis.ClusterOptions | IORedis.RedisOptions);
|
|
12
|
+
/**
|
|
13
|
+
* Connect to the Redis server
|
|
14
|
+
*
|
|
15
|
+
* @memberof RedisConnector
|
|
16
|
+
*/
|
|
17
|
+
connect(): Promise<IORedis.Cluster | IORedis.Redis>;
|
|
18
|
+
/**
|
|
19
|
+
* Return redis or redis.cluster Client
|
|
20
|
+
*
|
|
21
|
+
* @memberof RedisConnection
|
|
22
|
+
*/
|
|
23
|
+
getRedisClient(): IORedis.Cluster | IORedis.Redis;
|
|
24
|
+
/**
|
|
25
|
+
* Close Redis client connection.
|
|
26
|
+
*
|
|
27
|
+
* @memberof RedisConnection
|
|
28
|
+
*/
|
|
29
|
+
disconnect(): Promise<void>;
|
|
30
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import*as _ from'lodash-es';import*as IORedis from'ioredis';import {logger}from'@cdm-logger/server';import {config}from'../config/env-config.mjs';class RedisConnector {
|
|
2
|
+
client;
|
|
3
|
+
opts;
|
|
4
|
+
logger;
|
|
5
|
+
/**
|
|
6
|
+
* Creates an instance of RedisConnector.
|
|
7
|
+
*
|
|
8
|
+
* @param {object} opts
|
|
9
|
+
*/
|
|
10
|
+
constructor(opts) {
|
|
11
|
+
this.opts = _.defaultsDeep(opts, {
|
|
12
|
+
prefix: null,
|
|
13
|
+
});
|
|
14
|
+
this.logger = logger.child({ className: 'RedisConnector' });
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Connect to the Redis server
|
|
18
|
+
*
|
|
19
|
+
* @memberof RedisConnector
|
|
20
|
+
*/
|
|
21
|
+
async connect() {
|
|
22
|
+
if (this.client) {
|
|
23
|
+
return this.client;
|
|
24
|
+
}
|
|
25
|
+
try {
|
|
26
|
+
this.logger.info('Attempting to connect to Redis...');
|
|
27
|
+
this.client = this.getRedisClient();
|
|
28
|
+
// Test the connection by pinging the Redis server
|
|
29
|
+
await this.client.ping();
|
|
30
|
+
this.logger.info('Successfully connected to Redis.');
|
|
31
|
+
this.client.on('error', (err) => this.logger.error(err, 'Redis error:'));
|
|
32
|
+
this.client.on('end', () => this.logger.warn('Redis connection closed.'));
|
|
33
|
+
this.client.on('reconnecting', () => this.logger.info('Reconnecting to Redis...'));
|
|
34
|
+
return this.client;
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
this.logger.error('Failed to connect to Redis:', error);
|
|
38
|
+
throw error;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Return redis or redis.cluster Client
|
|
43
|
+
*
|
|
44
|
+
* @memberof RedisConnection
|
|
45
|
+
*/
|
|
46
|
+
getRedisClient() {
|
|
47
|
+
let client;
|
|
48
|
+
if (config.REDIS_CLUSTER_ENABLED) {
|
|
49
|
+
if (!config.REDIS_CLUSTER_URL) {
|
|
50
|
+
throw new Error(`No nodes defined for cluster, ${config.REDIS_CLUSTER_URL}`);
|
|
51
|
+
}
|
|
52
|
+
this.logger.info('Setting Redis.Cluster connection');
|
|
53
|
+
client = new IORedis.Cluster(config.REDIS_CLUSTER_URL, this.opts);
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
this.logger.info('Setting Redis connection');
|
|
57
|
+
if (typeof config.REDIS_URL === 'string') {
|
|
58
|
+
client = new IORedis.Redis(config.REDIS_URL, this.opts);
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
client = new IORedis.Redis(this.opts);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
this.client = client;
|
|
65
|
+
return client;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Close Redis client connection.
|
|
69
|
+
*
|
|
70
|
+
* @memberof RedisConnection
|
|
71
|
+
*/
|
|
72
|
+
async disconnect() {
|
|
73
|
+
if (!this.client) {
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
await this.client.quit();
|
|
77
|
+
this.logger.info('Redis connection closed.');
|
|
78
|
+
}
|
|
79
|
+
}export{RedisConnector};//# sourceMappingURL=redis-connector.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redis-connector.mjs","sources":["../../src/connectors/redis-connector.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
'use strict';const serverDirectives = (_) => ({
|
|
2
|
+
invalidateCache(next, source, { queries }, context) {
|
|
3
|
+
context.queriesToInvalidate = queries;
|
|
4
|
+
return next();
|
|
5
|
+
},
|
|
6
|
+
cacheControl(next, source, args, context) {
|
|
7
|
+
context.overallCachePolicy = args;
|
|
8
|
+
return next();
|
|
9
|
+
},
|
|
10
|
+
});exports.serverDirectives=serverDirectives;//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../src/graphql/directives/index.ts"],"sourcesContent":[null],"names":[],"mappings":"mBAEa,gBAAgB,GAAG,CAAC,CAAoB,MAAM;IACvD,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAA;AAC9C,QAAA,OAAO,CAAC,mBAAmB,GAAG,OAAO,CAAC;QACtC,OAAO,IAAI,EAAE,CAAC;KACjB;AACD,IAAA,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAA;AACpC,QAAA,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAClC,OAAO,IAAI,EAAE,CAAC;KACjB;AACJ,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { IDirectiveOptions } from '@common-stack/server-core';
|
|
2
|
+
export declare const serverDirectives: (_: IDirectiveOptions) => {
|
|
3
|
+
invalidateCache(next: any, source: any, { queries }: {
|
|
4
|
+
queries: any;
|
|
5
|
+
}, context: any): any;
|
|
6
|
+
cacheControl(next: any, source: any, args: any, context: any): any;
|
|
7
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
const serverDirectives = (_) => ({
|
|
2
|
+
invalidateCache(next, source, { queries }, context) {
|
|
3
|
+
context.queriesToInvalidate = queries;
|
|
4
|
+
return next();
|
|
5
|
+
},
|
|
6
|
+
cacheControl(next, source, args, context) {
|
|
7
|
+
context.overallCachePolicy = args;
|
|
8
|
+
return next();
|
|
9
|
+
},
|
|
10
|
+
});export{serverDirectives};//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../src/graphql/directives/index.ts"],"sourcesContent":[null],"names":[],"mappings":"MAEa,gBAAgB,GAAG,CAAC,CAAoB,MAAM;IACvD,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAA;AAC9C,QAAA,OAAO,CAAC,mBAAmB,GAAG,OAAO,CAAC;QACtC,OAAO,IAAI,EAAE,CAAC;KACjB;AACD,IAAA,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAA;AACpC,QAAA,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAClC,OAAO,IAAI,EAAE,CAAC;KACjB;AACJ,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';Object.defineProperty(exports,'__esModule',{value:true});var directive = "directive @invalidateCache(queries:[String!]!) on MUTATION | FIELD_DEFINITION\n\nenum CacheControlScope {\n PUBLIC\n PRIVATE\n}\n\ndirective @cacheControl(\n maxAge: Int\n scope: CacheControlScope\n inheritMaxAge: Boolean\n) on FIELD_DEFINITION | OBJECT | INTERFACE | UNION\n";exports.default=directive;//# sourceMappingURL=directives.graphql.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"directives.graphql.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var directive = "directive @invalidateCache(queries:[String!]!) on MUTATION | FIELD_DEFINITION\n\nenum CacheControlScope {\n PUBLIC\n PRIVATE\n}\n\ndirective @cacheControl(\n maxAge: Int\n scope: CacheControlScope\n inheritMaxAge: Boolean\n) on FIELD_DEFINITION | OBJECT | INTERFACE | UNION\n";export{directive as default};//# sourceMappingURL=directives.graphql.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"directives.graphql.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';var directives=require('./directives.graphql.cjs');const schema = [directives.default].join('\n');exports.schema=schema;//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../src/graphql/schema/index.ts"],"sourcesContent":[null],"names":["directive"],"mappings":"gEAEO,MAAM,MAAM,GAAG,CAACA,kBAAS,CAAC,CAAC,IAAI,CAAC,IAAI"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const schema: string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import directive from'./directives.graphql.mjs';const schema = [directive].join('\n');export{schema};//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../src/graphql/schema/index.ts"],"sourcesContent":[null],"names":[],"mappings":"gDAEO,MAAM,MAAM,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI"}
|
package/lib/index.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';var StackServer=require('./StackServer.cjs'),MainStackServer=require('./MainStackServer.cjs'),datasourceRest=require('@apollo/datasource-rest');exports.StackServer=StackServer.StackServer;exports.MainStackServer=MainStackServer.MainStackServer;Object.defineProperty(exports,'RESTDataSource',{enumerable:true,get:function(){return datasourceRest.RESTDataSource}});//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/lib/index.d.ts
ADDED
package/lib/index.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{StackServer}from'./StackServer.mjs';export{MainStackServer}from'./MainStackServer.mjs';export{RESTDataSource}from'@apollo/datasource-rest';//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { GraphQLSchema } from 'graphql';
|
|
2
|
+
import { CdmLogger } from '@cdm-logger/core';
|
|
3
|
+
type ILogger = CdmLogger.ILogger;
|
|
4
|
+
export interface IModuleService {
|
|
5
|
+
serviceContainer: any;
|
|
6
|
+
serviceContext: any;
|
|
7
|
+
dataSource: any;
|
|
8
|
+
defaultPreferences: any;
|
|
9
|
+
createContext: any;
|
|
10
|
+
schema: GraphQLSchema;
|
|
11
|
+
logger: ILogger;
|
|
12
|
+
}
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
'use strict';var cors=require('cors'),server=require('@cdm-logger/server'),envConfig=require('../config/env-config.cjs');/* eslint-disable jest/require-hook */
|
|
2
|
+
const CLIENT_URL = envConfig.config.CLIENT_URL;
|
|
3
|
+
const BACKEND_URL = envConfig.config.BACKEND_URL;
|
|
4
|
+
const corsWhitelist = [
|
|
5
|
+
BACKEND_URL,
|
|
6
|
+
CLIENT_URL,
|
|
7
|
+
envConfig.config.GRAPHQL_URL,
|
|
8
|
+
// 'http://localhost:3000',
|
|
9
|
+
];
|
|
10
|
+
server.logger.info('Cors whitelist: %j', corsWhitelist);
|
|
11
|
+
const corsOptions = {
|
|
12
|
+
origin: (origin, callback) => {
|
|
13
|
+
if (corsWhitelist.indexOf(origin) !== -1) {
|
|
14
|
+
callback(null, true);
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
// TODO: only throw when in debug mode
|
|
18
|
+
server.logger.error('url (%s) is not in the whitelist', origin);
|
|
19
|
+
// callback(new Error('Not allowed by CORS'))
|
|
20
|
+
server.logger.warn('allowing all origins temporarily, you need to disable it.');
|
|
21
|
+
callback(null, true);
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
credentials: true,
|
|
25
|
+
};
|
|
26
|
+
const corsMiddleware = cors(corsOptions);exports.corsMiddleware=corsMiddleware;//# sourceMappingURL=cors.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cors.cjs","sources":["../../src/middleware/cors.ts"],"sourcesContent":[null],"names":["config","logger"],"mappings":"yHAAA;AAKA,MAAM,UAAU,GAAGA,gBAAM,CAAC,UAAU,CAAC;AACrC,MAAM,WAAW,GAAGA,gBAAM,CAAC,WAAW,CAAC;AAEvC,MAAM,aAAa,GAAG;IAClB,WAAW;IACX,UAAU;AACV,IAAAA,gBAAM,CAAC,WAAW;;CAErB,CAAC;AACFC,aAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,aAAa,CAAC,CAAC;AACjD,MAAM,WAAW,GAAG;AAChB,IAAA,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,KAAI;QACzB,IAAI,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;AACtC,YAAA,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SACxB;aAAM;;AAEH,YAAAA,aAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,MAAM,CAAC,CAAC;;AAEzD,YAAAA,aAAM,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;AACzE,YAAA,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SACxB;KACJ;AACD,IAAA,WAAW,EAAE,IAAI;CACpB,CAAC;MAEW,cAAc,GAAG,IAAI,CAAC,WAAW"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import cors from'cors';import {logger}from'@cdm-logger/server';import {config}from'../config/env-config.mjs';/* eslint-disable jest/require-hook */
|
|
2
|
+
const CLIENT_URL = config.CLIENT_URL;
|
|
3
|
+
const BACKEND_URL = config.BACKEND_URL;
|
|
4
|
+
const corsWhitelist = [
|
|
5
|
+
BACKEND_URL,
|
|
6
|
+
CLIENT_URL,
|
|
7
|
+
config.GRAPHQL_URL,
|
|
8
|
+
// 'http://localhost:3000',
|
|
9
|
+
];
|
|
10
|
+
logger.info('Cors whitelist: %j', corsWhitelist);
|
|
11
|
+
const corsOptions = {
|
|
12
|
+
origin: (origin, callback) => {
|
|
13
|
+
if (corsWhitelist.indexOf(origin) !== -1) {
|
|
14
|
+
callback(null, true);
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
// TODO: only throw when in debug mode
|
|
18
|
+
logger.error('url (%s) is not in the whitelist', origin);
|
|
19
|
+
// callback(new Error('Not allowed by CORS'))
|
|
20
|
+
logger.warn('allowing all origins temporarily, you need to disable it.');
|
|
21
|
+
callback(null, true);
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
credentials: true,
|
|
25
|
+
};
|
|
26
|
+
const corsMiddleware = cors(corsOptions);export{corsMiddleware};//# sourceMappingURL=cors.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cors.mjs","sources":["../../src/middleware/cors.ts"],"sourcesContent":[null],"names":[],"mappings":"6GAAA;AAKA,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AACrC,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;AAEvC,MAAM,aAAa,GAAG;IAClB,WAAW;IACX,UAAU;AACV,IAAA,MAAM,CAAC,WAAW;;CAErB,CAAC;AACF,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,aAAa,CAAC,CAAC;AACjD,MAAM,WAAW,GAAG;AAChB,IAAA,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,KAAI;QACzB,IAAI,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;AACtC,YAAA,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SACxB;aAAM;;AAEH,YAAA,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,MAAM,CAAC,CAAC;;AAEzD,YAAA,MAAM,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;AACzE,YAAA,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SACxB;KACJ;AACD,IAAA,WAAW,EAAE,IAAI;CACpB,CAAC;MAEW,cAAc,GAAG,IAAI,CAAC,WAAW"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
'use strict';var url=require('url'),envConfig=require('../config/env-config.cjs');function _interopNamespaceDefault(e){var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var url__namespace=/*#__PURE__*/_interopNamespaceDefault(url);const { pathname } = url__namespace.parse(envConfig.config.BACKEND_URL);
|
|
2
|
+
/**
|
|
3
|
+
* Middleware function that takes 4 arguments is classified as "error handling middleware"
|
|
4
|
+
* and will only get called if an error occurs.
|
|
5
|
+
* @param e
|
|
6
|
+
* @param req
|
|
7
|
+
* @param res
|
|
8
|
+
* @param next
|
|
9
|
+
*/
|
|
10
|
+
const errorMiddleware = (e, req, res, next) => {
|
|
11
|
+
if (req.path === pathname) {
|
|
12
|
+
const stack = e.stack.toString().replace(/[\n]/g, '\\n');
|
|
13
|
+
res.status(200).send(`[{"data": {}, "errors":[{"message": "${stack}"}]}]`);
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
req.logger.error(e);
|
|
17
|
+
}
|
|
18
|
+
};exports.errorMiddleware=errorMiddleware;//# sourceMappingURL=error.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.cjs","sources":["../../src/middleware/error.ts"],"sourcesContent":[null],"names":["url","config"],"mappings":"8aAGA,MAAM,EAAE,QAAQ,EAAE,GAAGA,cAAG,CAAC,KAAK,CAACC,gBAAM,CAAC,WAAW,CAAC,CAAC;AAEnD;;;;;;;AAOG;AACI,MAAM,eAAe,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,KAAI;AACjD,IAAA,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE;AACvB,QAAA,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AACzD,QAAA,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAwC,qCAAA,EAAA,KAAK,CAAO,KAAA,CAAA,CAAC,CAAC;KAC9E;SAAM;AACH,QAAA,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KACvB;AACL"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Middleware function that takes 4 arguments is classified as "error handling middleware"
|
|
3
|
+
* and will only get called if an error occurs.
|
|
4
|
+
* @param e
|
|
5
|
+
* @param req
|
|
6
|
+
* @param res
|
|
7
|
+
* @param next
|
|
8
|
+
*/
|
|
9
|
+
export declare const errorMiddleware: (e: any, req: any, res: any, next: any) => void;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import*as url from'url';import {config}from'../config/env-config.mjs';const { pathname } = url.parse(config.BACKEND_URL);
|
|
2
|
+
/**
|
|
3
|
+
* Middleware function that takes 4 arguments is classified as "error handling middleware"
|
|
4
|
+
* and will only get called if an error occurs.
|
|
5
|
+
* @param e
|
|
6
|
+
* @param req
|
|
7
|
+
* @param res
|
|
8
|
+
* @param next
|
|
9
|
+
*/
|
|
10
|
+
const errorMiddleware = (e, req, res, next) => {
|
|
11
|
+
if (req.path === pathname) {
|
|
12
|
+
const stack = e.stack.toString().replace(/[\n]/g, '\\n');
|
|
13
|
+
res.status(200).send(`[{"data": {}, "errors":[{"message": "${stack}"}]}]`);
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
req.logger.error(e);
|
|
17
|
+
}
|
|
18
|
+
};export{errorMiddleware};//# sourceMappingURL=error.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.mjs","sources":["../../src/middleware/error.ts"],"sourcesContent":[null],"names":[],"mappings":"sEAGA,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AAEnD;;;;;;;AAOG;AACI,MAAM,eAAe,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,KAAI;AACjD,IAAA,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE;AACvB,QAAA,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AACzD,QAAA,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAwC,qCAAA,EAAA,KAAK,CAAO,KAAA,CAAA,CAAC,CAAC;KAC9E;SAAM;AACH,QAAA,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KACvB;AACL"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
'use strict';var moleculer=require('moleculer'),_=require('lodash-es');function _interopNamespaceDefault(e){var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var ___namespace=/*#__PURE__*/_interopNamespaceDefault(_);/* eslint-disable no-param-reassign */
|
|
2
|
+
const InterNamespaceMiddleware = function (options) {
|
|
3
|
+
if (!Array.isArray(options)) {
|
|
4
|
+
throw new Error('Must be an Array');
|
|
5
|
+
}
|
|
6
|
+
let thisBroker;
|
|
7
|
+
const brokers = {};
|
|
8
|
+
return {
|
|
9
|
+
created(broker) {
|
|
10
|
+
thisBroker = broker;
|
|
11
|
+
options.forEach((nsOpts) => {
|
|
12
|
+
if (___namespace.isString(nsOpts)) {
|
|
13
|
+
nsOpts = {
|
|
14
|
+
namespace: nsOpts,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
const ns = nsOpts.namespace;
|
|
18
|
+
const brokerOpts = ___namespace.defaultsDeep({}, nsOpts, { nodeID: null, middlewares: null, created: null, started: null }, broker.options);
|
|
19
|
+
brokers[ns] = new moleculer.ServiceBroker(brokerOpts);
|
|
20
|
+
});
|
|
21
|
+
},
|
|
22
|
+
started() {
|
|
23
|
+
return Promise.all(Object.values(brokers).map((b) => b.start()));
|
|
24
|
+
},
|
|
25
|
+
stopped() {
|
|
26
|
+
return Promise.all(Object.values(brokers).map((b) => b.stop()));
|
|
27
|
+
},
|
|
28
|
+
call(next) {
|
|
29
|
+
return function (actionName, params, opts = {}) {
|
|
30
|
+
if (___namespace.isString(actionName) && actionName.includes('@')) {
|
|
31
|
+
const [action, namespace] = actionName.split('@');
|
|
32
|
+
if (brokers[namespace]) {
|
|
33
|
+
return brokers[namespace].call(action, params, opts);
|
|
34
|
+
}
|
|
35
|
+
if (namespace === thisBroker.namespace) {
|
|
36
|
+
return next(action, params, opts);
|
|
37
|
+
}
|
|
38
|
+
throw new Error(`Unknown namespace: ${namespace}`);
|
|
39
|
+
}
|
|
40
|
+
return next(actionName, params, opts);
|
|
41
|
+
};
|
|
42
|
+
},
|
|
43
|
+
};
|
|
44
|
+
};exports.InterNamespaceMiddleware=InterNamespaceMiddleware;//# sourceMappingURL=moleculer-inter-namespace.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"moleculer-inter-namespace.cjs","sources":["../../src/middleware/moleculer-inter-namespace.ts"],"sourcesContent":[null],"names":["_","ServiceBroker"],"mappings":"+ZAAA;AAIO,MAAM,wBAAwB,GAAG,UAAU,OAAO,EAAA;IACrD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;AACzB,QAAA,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;KACvC;AAED,IAAA,IAAI,UAAyB,CAAC;IAC9B,MAAM,OAAO,GAAqC,EAAE,CAAC;IAErD,OAAO;AACH,QAAA,OAAO,CAAC,MAAqB,EAAA;YACzB,UAAU,GAAG,MAAM,CAAC;AACpB,YAAA,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,KAAI;AACvB,gBAAA,IAAIA,YAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AACpB,oBAAA,MAAM,GAAG;AACL,wBAAA,SAAS,EAAE,MAAM;qBACpB,CAAC;iBACL;AACD,gBAAA,MAAM,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC;AAE5B,gBAAA,MAAM,UAAU,GAAGA,YAAC,CAAC,YAAY,CAC7B,EAAE,EACF,MAAM,EACN,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EACjE,MAAM,CAAC,OAAO,CACjB,CAAC;gBACF,OAAO,CAAC,EAAE,CAAC,GAAG,IAAIC,uBAAa,CAAC,UAAU,CAAC,CAAC;AAChD,aAAC,CAAC,CAAC;SACN;QAED,OAAO,GAAA;YACH,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SACpE;QAED,OAAO,GAAA;YACH,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;SACnE;AAED,QAAA,IAAI,CAAC,IAAI,EAAA;AACL,YAAA,OAAO,UAAU,UAAU,EAAE,MAAM,EAAE,IAAI,GAAG,EAAE,EAAA;AAC1C,gBAAA,IAAID,YAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AACpD,oBAAA,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAElD,oBAAA,IAAI,OAAO,CAAC,SAAS,CAAC,EAAE;AACpB,wBAAA,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;qBACxD;AACD,oBAAA,IAAI,SAAS,KAAK,UAAU,CAAC,SAAS,EAAE;wBACpC,OAAO,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;qBACrC;AACD,oBAAA,MAAM,IAAI,KAAK,CAAC,sBAAsB,SAAS,CAAA,CAAE,CAAC,CAAC;iBACtD;gBAED,OAAO,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AAC1C,aAAC,CAAC;SACL;KACJ,CAAC;AACN"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import {ServiceBroker}from'moleculer';import*as _ from'lodash-es';/* eslint-disable no-param-reassign */
|
|
2
|
+
const InterNamespaceMiddleware = function (options) {
|
|
3
|
+
if (!Array.isArray(options)) {
|
|
4
|
+
throw new Error('Must be an Array');
|
|
5
|
+
}
|
|
6
|
+
let thisBroker;
|
|
7
|
+
const brokers = {};
|
|
8
|
+
return {
|
|
9
|
+
created(broker) {
|
|
10
|
+
thisBroker = broker;
|
|
11
|
+
options.forEach((nsOpts) => {
|
|
12
|
+
if (_.isString(nsOpts)) {
|
|
13
|
+
nsOpts = {
|
|
14
|
+
namespace: nsOpts,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
const ns = nsOpts.namespace;
|
|
18
|
+
const brokerOpts = _.defaultsDeep({}, nsOpts, { nodeID: null, middlewares: null, created: null, started: null }, broker.options);
|
|
19
|
+
brokers[ns] = new ServiceBroker(brokerOpts);
|
|
20
|
+
});
|
|
21
|
+
},
|
|
22
|
+
started() {
|
|
23
|
+
return Promise.all(Object.values(brokers).map((b) => b.start()));
|
|
24
|
+
},
|
|
25
|
+
stopped() {
|
|
26
|
+
return Promise.all(Object.values(brokers).map((b) => b.stop()));
|
|
27
|
+
},
|
|
28
|
+
call(next) {
|
|
29
|
+
return function (actionName, params, opts = {}) {
|
|
30
|
+
if (_.isString(actionName) && actionName.includes('@')) {
|
|
31
|
+
const [action, namespace] = actionName.split('@');
|
|
32
|
+
if (brokers[namespace]) {
|
|
33
|
+
return brokers[namespace].call(action, params, opts);
|
|
34
|
+
}
|
|
35
|
+
if (namespace === thisBroker.namespace) {
|
|
36
|
+
return next(action, params, opts);
|
|
37
|
+
}
|
|
38
|
+
throw new Error(`Unknown namespace: ${namespace}`);
|
|
39
|
+
}
|
|
40
|
+
return next(actionName, params, opts);
|
|
41
|
+
};
|
|
42
|
+
},
|
|
43
|
+
};
|
|
44
|
+
};export{InterNamespaceMiddleware};//# sourceMappingURL=moleculer-inter-namespace.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"moleculer-inter-namespace.mjs","sources":["../../src/middleware/moleculer-inter-namespace.ts"],"sourcesContent":[null],"names":[],"mappings":"kEAAA;AAIO,MAAM,wBAAwB,GAAG,UAAU,OAAO,EAAA;IACrD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;AACzB,QAAA,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;KACvC;AAED,IAAA,IAAI,UAAyB,CAAC;IAC9B,MAAM,OAAO,GAAqC,EAAE,CAAC;IAErD,OAAO;AACH,QAAA,OAAO,CAAC,MAAqB,EAAA;YACzB,UAAU,GAAG,MAAM,CAAC;AACpB,YAAA,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,KAAI;AACvB,gBAAA,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AACpB,oBAAA,MAAM,GAAG;AACL,wBAAA,SAAS,EAAE,MAAM;qBACpB,CAAC;iBACL;AACD,gBAAA,MAAM,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC;AAE5B,gBAAA,MAAM,UAAU,GAAG,CAAC,CAAC,YAAY,CAC7B,EAAE,EACF,MAAM,EACN,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EACjE,MAAM,CAAC,OAAO,CACjB,CAAC;gBACF,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,aAAa,CAAC,UAAU,CAAC,CAAC;AAChD,aAAC,CAAC,CAAC;SACN;QAED,OAAO,GAAA;YACH,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SACpE;QAED,OAAO,GAAA;YACH,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;SACnE;AAED,QAAA,IAAI,CAAC,IAAI,EAAA;AACL,YAAA,OAAO,UAAU,UAAU,EAAE,MAAM,EAAE,IAAI,GAAG,EAAE,EAAA;AAC1C,gBAAA,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AACpD,oBAAA,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAElD,oBAAA,IAAI,OAAO,CAAC,SAAS,CAAC,EAAE;AACpB,wBAAA,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;qBACxD;AACD,oBAAA,IAAI,SAAS,KAAK,UAAU,CAAC,SAAS,EAAE;wBACpC,OAAO,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;qBACrC;AACD,oBAAA,MAAM,IAAI,KAAK,CAAC,sBAAsB,SAAS,CAAA,CAAE,CAAC,CAAC;iBACtD;gBAED,OAAO,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AAC1C,aAAC,CAAC;SACL;KACJ,CAAC;AACN"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
'use strict';var node=require('@sentry/node');node.init({ dsn: process.env.SENTRY_DSN_BACKEND });
|
|
2
|
+
const sentryMiddleware = node.Handlers.requestHandler();
|
|
3
|
+
const sentryErrorHandlerMiddleware = node.Handlers.errorHandler();exports.sentryErrorHandlerMiddleware=sentryErrorHandlerMiddleware;exports.sentryMiddleware=sentryMiddleware;//# sourceMappingURL=sentry.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sentry.cjs","sources":["../../src/middleware/sentry.ts"],"sourcesContent":[null],"names":["init","Handlers"],"mappings":"8CAEAA,SAAI,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,CAAC;MAGjC,gBAAgB,GAAGC,aAAQ,CAAC,cAAc,GAAG;MAE7C,4BAA4B,GAAGA,aAAQ,CAAC,YAAY"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import {init,Handlers}from'@sentry/node';init({ dsn: process.env.SENTRY_DSN_BACKEND });
|
|
2
|
+
const sentryMiddleware = Handlers.requestHandler();
|
|
3
|
+
const sentryErrorHandlerMiddleware = Handlers.errorHandler();export{sentryErrorHandlerMiddleware,sentryMiddleware};//# sourceMappingURL=sentry.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sentry.mjs","sources":["../../src/middleware/sentry.ts"],"sourcesContent":[null],"names":[],"mappings":"yCAEA,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,CAAC;MAGjC,gBAAgB,GAAG,QAAQ,CAAC,cAAc,GAAG;MAE7C,4BAA4B,GAAG,QAAQ,CAAC,YAAY"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
'use strict';require('isomorphic-fetch');const contextServicesMiddleware = (createContext, serviceContext) => (req, res, next) => {
|
|
2
|
+
Promise.all([
|
|
3
|
+
createContext(req, res),
|
|
4
|
+
serviceContext(req, res),
|
|
5
|
+
])
|
|
6
|
+
.then(([context, services]) => {
|
|
7
|
+
req.context = context;
|
|
8
|
+
req.services = services;
|
|
9
|
+
next();
|
|
10
|
+
})
|
|
11
|
+
.catch((err) => next());
|
|
12
|
+
};exports.contextServicesMiddleware=contextServicesMiddleware;//# sourceMappingURL=services.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"services.cjs","sources":["../../src/middleware/services.ts"],"sourcesContent":[null],"names":[],"mappings":"yCAEa,MAAA,yBAAyB,GAAG,CAAC,aAAa,EAAE,cAAc,KAAM,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,KAAI;IAC5F,OAAO,CAAC,GAAG,CAAC;AACR,QAAA,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC;AACvB,QAAA,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC;KAC3B,CAAC;SACG,IAAI,CAAC,CAAC,CAAE,OAAO,EAAE,QAAQ,CAAE,KAAI;AAC5B,QAAA,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;AACtB,QAAA,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAExB,QAAA,IAAI,EAAE,CAAC;AACX,KAAC,CAAC;SACD,KAAK,CAAC,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC,CAAC;AAChC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import'isomorphic-fetch';const contextServicesMiddleware = (createContext, serviceContext) => (req, res, next) => {
|
|
2
|
+
Promise.all([
|
|
3
|
+
createContext(req, res),
|
|
4
|
+
serviceContext(req, res),
|
|
5
|
+
])
|
|
6
|
+
.then(([context, services]) => {
|
|
7
|
+
req.context = context;
|
|
8
|
+
req.services = services;
|
|
9
|
+
next();
|
|
10
|
+
})
|
|
11
|
+
.catch((err) => next());
|
|
12
|
+
};export{contextServicesMiddleware};//# sourceMappingURL=services.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"services.mjs","sources":["../../src/middleware/services.ts"],"sourcesContent":[null],"names":[],"mappings":"yBAEa,MAAA,yBAAyB,GAAG,CAAC,aAAa,EAAE,cAAc,KAAM,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,KAAI;IAC5F,OAAO,CAAC,GAAG,CAAC;AACR,QAAA,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC;AACvB,QAAA,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC;KAC3B,CAAC;SACG,IAAI,CAAC,CAAC,CAAE,OAAO,EAAE,QAAQ,CAAE,KAAI;AAC5B,QAAA,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;AACtB,QAAA,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAExB,QAAA,IAAI,EAAE,CAAC;AACX,KAAC,CAAC;SACD,KAAK,CAAC,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC,CAAC;AAChC"}
|