@things-factory/shell 5.0.7 → 6.0.0-alpha.0
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/client/elements/custom-alert.js +3 -0
- package/config/config.development.js +31 -22
- package/dist-server/graphql-local-client.d.ts +28 -0
- package/dist-server/graphql-local-client.js.map +1 -1
- package/dist-server/index.d.ts +9 -0
- package/dist-server/index.js +10 -22
- package/dist-server/index.js.map +1 -1
- package/dist-server/initializers/database.d.ts +7 -0
- package/dist-server/initializers/database.js +38 -8
- package/dist-server/initializers/database.js.map +1 -1
- package/dist-server/initializers/naming-strategy.d.ts +6 -0
- package/dist-server/initializers/naming-strategy.js +3 -5
- package/dist-server/initializers/naming-strategy.js.map +1 -1
- package/dist-server/middlewares/domain-middleware.d.ts +1 -0
- package/dist-server/middlewares/domain-middleware.js +0 -4
- package/dist-server/middlewares/domain-middleware.js.map +1 -1
- package/dist-server/middlewares/index.d.ts +2 -0
- package/dist-server/middlewares/index.js +2 -17
- package/dist-server/middlewares/index.js.map +1 -1
- package/dist-server/migrations/1000000000000-SeedDomain.d.ts +5 -0
- package/dist-server/migrations/1000000000000-SeedDomain.js +4 -4
- package/dist-server/migrations/1000000000000-SeedDomain.js.map +1 -1
- package/dist-server/migrations/index.d.ts +1 -0
- package/dist-server/migrations/index.js.map +1 -1
- package/dist-server/pubsub-log-transport.d.ts +8 -0
- package/dist-server/pubsub-log-transport.js +3 -5
- package/dist-server/pubsub-log-transport.js.map +1 -1
- package/dist-server/pubsub.d.ts +2 -0
- package/dist-server/pubsub.js +2 -6
- package/dist-server/pubsub.js.map +1 -1
- package/dist-server/routers/domain-router.d.ts +2 -0
- package/dist-server/routers/domain-router.js +2 -7
- package/dist-server/routers/domain-router.js.map +1 -1
- package/dist-server/routers/global-router.d.ts +2 -0
- package/dist-server/routers/global-router.js +3 -7
- package/dist-server/routers/global-router.js.map +1 -1
- package/dist-server/routers/index.d.ts +2 -0
- package/dist-server/routers/index.js +3 -16
- package/dist-server/routers/index.js.map +1 -1
- package/dist-server/schema.d.ts +2 -0
- package/dist-server/schema.js.map +1 -1
- package/dist-server/server-dev.d.ts +1 -0
- package/dist-server/server-dev.js +27 -26
- package/dist-server/server-dev.js.map +1 -1
- package/dist-server/server.d.ts +1 -0
- package/dist-server/server.js +19 -18
- package/dist-server/server.js.map +1 -1
- package/dist-server/service/common-types/index.d.ts +6 -0
- package/dist-server/service/common-types/index.js +7 -20
- package/dist-server/service/common-types/index.js.map +1 -1
- package/dist-server/service/common-types/list-param.d.ts +19 -0
- package/dist-server/service/common-types/list-param.js +28 -36
- package/dist-server/service/common-types/list-param.js.map +1 -1
- package/dist-server/service/common-types/log.d.ts +6 -0
- package/dist-server/service/common-types/log.js +10 -18
- package/dist-server/service/common-types/log.js.map +1 -1
- package/dist-server/service/common-types/object-ref.d.ts +5 -0
- package/dist-server/service/common-types/object-ref.js +8 -16
- package/dist-server/service/common-types/object-ref.js.map +1 -1
- package/dist-server/service/common-types/scalar-any.d.ts +2 -0
- package/dist-server/service/common-types/scalar-any.js.map +1 -1
- package/dist-server/service/common-types/scalar-date.d.ts +2 -0
- package/dist-server/service/common-types/scalar-date.js.map +1 -1
- package/dist-server/service/common-types/scalar-object.d.ts +1 -0
- package/dist-server/service/common-types/scalar-object.js.map +1 -1
- package/dist-server/service/directive-transaction/index.d.ts +1 -0
- package/dist-server/service/directive-transaction/index.js +2 -15
- package/dist-server/service/directive-transaction/index.js.map +1 -1
- package/dist-server/service/directive-transaction/transaction.d.ts +3 -0
- package/dist-server/service/directive-transaction/transaction.js +4 -9
- package/dist-server/service/directive-transaction/transaction.js.map +1 -1
- package/dist-server/service/domain/domain-resolver.d.ts +17 -0
- package/dist-server/service/domain/domain-resolver.js +58 -68
- package/dist-server/service/domain/domain-resolver.js.map +1 -1
- package/dist-server/service/domain/domain-types.d.ts +21 -0
- package/dist-server/service/domain/domain-types.js +32 -40
- package/dist-server/service/domain/domain-types.js.map +1 -1
- package/dist-server/service/domain/domain.d.ts +16 -0
- package/dist-server/service/domain/domain.js +30 -38
- package/dist-server/service/domain/domain.js.map +1 -1
- package/dist-server/service/domain/index.d.ts +4 -0
- package/dist-server/service/domain/index.js.map +1 -1
- package/dist-server/service/index.d.ts +14 -0
- package/dist-server/service/index.js +5 -18
- package/dist-server/service/index.js.map +1 -1
- package/dist-server/service/subscription-data/data-resolver.d.ts +6 -0
- package/dist-server/service/subscription-data/data-resolver.js +9 -22
- package/dist-server/service/subscription-data/data-resolver.js.map +1 -1
- package/dist-server/service/subscription-data/data-types.d.ts +6 -0
- package/dist-server/service/subscription-data/data-types.js +8 -17
- package/dist-server/service/subscription-data/data-types.js.map +1 -1
- package/dist-server/service/subscription-data/index.d.ts +3 -0
- package/dist-server/service/subscription-data/index.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -0
- package/dist-server/utils/condition-builder.d.ts +17 -0
- package/dist-server/utils/condition-builder.js +2 -4
- package/dist-server/utils/condition-builder.js.map +1 -1
- package/dist-server/utils/get-domain.d.ts +10 -0
- package/dist-server/utils/get-domain.js +3 -6
- package/dist-server/utils/get-domain.js.map +1 -1
- package/dist-server/utils/get-query-builder-from-list-params.d.ts +21 -0
- package/dist-server/utils/get-query-builder-from-list-params.js +7 -8
- package/dist-server/utils/get-query-builder-from-list-params.js.map +1 -1
- package/dist-server/utils/index.d.ts +7 -0
- package/dist-server/utils/index.js +8 -21
- package/dist-server/utils/index.js.map +1 -1
- package/dist-server/utils/list-param-adjuster.d.ts +2 -0
- package/dist-server/utils/list-param-adjuster.js.map +1 -1
- package/dist-server/utils/list-params-converter.d.ts +16 -0
- package/dist-server/utils/list-params-converter.js +1 -2
- package/dist-server/utils/list-params-converter.js.map +1 -1
- package/dist-server/utils/list-query-builder.d.ts +7 -0
- package/dist-server/utils/list-query-builder.js +2 -3
- package/dist-server/utils/list-query-builder.js.map +1 -1
- package/dist-server/utils/publish-progress.d.ts +6 -0
- package/dist-server/utils/publish-progress.js.map +1 -1
- package/dist-server/webpack/koa-webpack/client.d.ts +1 -0
- package/dist-server/webpack/koa-webpack/client.js.map +1 -1
- package/dist-server/webpack/koa-webpack/index.d.ts +2 -0
- package/dist-server/webpack/koa-webpack/index.js.map +1 -1
- package/dist-server/webpack/koa-webpack/middleware.d.ts +0 -0
- package/dist-server/webpack/koa-webpack/middleware.js.map +1 -1
- package/dist-server/webpack/koa-webpack/validate.d.ts +1 -0
- package/dist-server/webpack/koa-webpack/validate.js.map +1 -1
- package/ormconfig.js +2 -3
- package/package.json +9 -8
- package/server/index.ts +1 -0
- package/server/initializers/database.ts +49 -9
- package/server/middlewares/domain-middleware.ts +0 -5
- package/server/middlewares/index.ts +0 -4
- package/server/migrations/1000000000000-SeedDomain.ts +4 -2
- package/server/pubsub.ts +0 -4
- package/server/routers/domain-router.ts +1 -4
- package/server/routers/global-router.ts +2 -3
- package/server/server-dev.ts +29 -18
- package/server/server.ts +8 -8
- package/server/service/common-types/list-param.ts +4 -3
- package/server/service/directive-transaction/transaction.ts +2 -7
- package/server/service/domain/domain-resolver.ts +7 -6
- package/server/service/subscription-data/data-resolver.ts +3 -6
- package/server/service/subscription-data/data-types.ts +2 -3
- package/server/utils/get-domain.ts +5 -7
- package/server/utils/get-query-builder-from-list-params.ts +13 -9
- package/server/utils/list-params-converter.ts +5 -4
- package/server/utils/list-query-builder.ts +8 -4
@@ -35,6 +35,7 @@ export async function CustomAlert({
|
|
35
35
|
footer,
|
36
36
|
position = 'center',
|
37
37
|
toast,
|
38
|
+
timer,
|
38
39
|
confirmButton = {},
|
39
40
|
cancelButton = {},
|
40
41
|
invertButton = false,
|
@@ -77,6 +78,8 @@ export async function CustomAlert({
|
|
77
78
|
icon: icon || type,
|
78
79
|
title: title,
|
79
80
|
text: text,
|
81
|
+
timer: timer ? timer:0,
|
82
|
+
timerProgressBar: timer ? true : 0,
|
80
83
|
allowOutsideClick: allowOutsideClick,
|
81
84
|
allowEscapeKey: allowEscapeKey,
|
82
85
|
footer: footer,
|
@@ -22,25 +22,25 @@ module.exports = {
|
|
22
22
|
level: 'silly'
|
23
23
|
}
|
24
24
|
},
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
25
|
+
/**
|
26
|
+
* requestBody configuration
|
27
|
+
* ie.
|
28
|
+
* requestBody: {
|
29
|
+
* formLimit: '100mb',
|
30
|
+
* jsonLimit: '100mb',
|
31
|
+
* textLimit: '100mb'
|
32
|
+
* }
|
33
|
+
**/
|
34
|
+
|
35
|
+
/**
|
36
|
+
* fileUpload configuration
|
37
|
+
* ie.
|
38
|
+
* fileUpload: {
|
39
|
+
* maxFileSize: '100mb',
|
40
|
+
* maxFiles: 10
|
41
|
+
* }
|
42
|
+
**/
|
34
43
|
|
35
|
-
/**
|
36
|
-
* fileUpload configuration
|
37
|
-
* ie.
|
38
|
-
* fileUpload: {
|
39
|
-
* maxFileSize: '100mb',
|
40
|
-
* maxFiles: 10
|
41
|
-
* }
|
42
|
-
**/
|
43
|
-
|
44
44
|
/*
|
45
45
|
* pubsub configuration
|
46
46
|
* ie.
|
@@ -52,7 +52,7 @@ module.exports = {
|
|
52
52
|
* ...
|
53
53
|
* }
|
54
54
|
* }
|
55
|
-
*
|
55
|
+
*
|
56
56
|
* pubsub: {
|
57
57
|
* middleware: 'redisCluster', // empty, redis, mqtt, redisCluster
|
58
58
|
* nodes: [
|
@@ -63,16 +63,16 @@ module.exports = {
|
|
63
63
|
* ...
|
64
64
|
* }
|
65
65
|
* }
|
66
|
-
*
|
66
|
+
*
|
67
67
|
* pubsub: {
|
68
68
|
* middleware: 'kafka',
|
69
69
|
* topic: 'operato-app-graphql-pubsub'
|
70
70
|
* host: 'b-3.kafka-server:9092,b-1.kafka-server:9092,b-2.kafka-server:9092',
|
71
71
|
* options: {
|
72
|
-
* ...
|
72
|
+
* ...
|
73
73
|
* }
|
74
74
|
* }
|
75
|
-
*
|
75
|
+
*
|
76
76
|
* pubsub: {
|
77
77
|
* middleware: 'kafka',
|
78
78
|
* host: 'confluent.cloud:9092',
|
@@ -103,5 +103,14 @@ module.exports = {
|
|
103
103
|
synchronize: false,
|
104
104
|
logging: true,
|
105
105
|
logger: 'debug'
|
106
|
+
},
|
107
|
+
|
108
|
+
ormconfig4Tx: {
|
109
|
+
name: 'tx',
|
110
|
+
type: 'sqlite',
|
111
|
+
database: 'db.sqlite',
|
112
|
+
synchronize: false,
|
113
|
+
logging: true,
|
114
|
+
logger: 'debug'
|
106
115
|
}
|
107
116
|
}
|
@@ -0,0 +1,28 @@
|
|
1
|
+
import { GraphQLResponse } from 'apollo-server-types';
|
2
|
+
import { DocumentNode } from 'graphql';
|
3
|
+
declare type StringOrAst = string | DocumentNode;
|
4
|
+
declare type Query = {
|
5
|
+
query: StringOrAst;
|
6
|
+
mutation?: undefined;
|
7
|
+
variables?: {
|
8
|
+
[name: string]: any;
|
9
|
+
};
|
10
|
+
operationName?: string;
|
11
|
+
};
|
12
|
+
declare type Mutation = {
|
13
|
+
mutation: StringOrAst;
|
14
|
+
query?: undefined;
|
15
|
+
variables?: {
|
16
|
+
[name: string]: any;
|
17
|
+
};
|
18
|
+
operationName?: string;
|
19
|
+
};
|
20
|
+
export interface ApolloServerLocalClient {
|
21
|
+
query: (query: Query) => Promise<GraphQLResponse>;
|
22
|
+
mutate: (mutation: Mutation) => Promise<GraphQLResponse>;
|
23
|
+
}
|
24
|
+
export declare class GraphqlLocalClient {
|
25
|
+
static client: ApolloServerLocalClient;
|
26
|
+
static init(schema: any, app: any): void;
|
27
|
+
}
|
28
|
+
export {};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"graphql-local-client.js","sourceRoot":"","sources":["../server/graphql-local-client.ts"],"names":[],"mappings":";;;AAAA,2DAAqD;AAErD,qCAA6C;AA4B7C,MAAa,kBAAkB;IAG7B,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG;QACrB,MAAM,OAAO,GAAG,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE;YAChE,8CAA8C;YAC9C,MAAM,MAAM,GAAG,IAAI,qCAAgB,CAAC;gBAClC,MAAM;gBACN,OAAO,kCAOF,OAAO,KACV,GAAG,GACJ;aACF,CAAC,CAAA;YAEF,MAAM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAC7D,MAAM,SAAS,GAAG,KAAK,IAAI,QAAQ,CAAA;YACnC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE;gBACzC,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAA;aACzE;YAED,+BAA+B;YAC/B,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC;gBACjC,SAAS;gBACT,KAAK,EAAE,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,eAAK,EAAC,SAAS,CAAC;aACpE,CAAC,CAAA;YAEF,8CAA8C;YAC9C,+CAA+C;YAC/C,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;gBACvC,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACjE,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAA;aACzB;YAED,OAAO,GAAG,CAAA;QACZ,CAAC,CAAA;QAED,kBAAkB,CAAC,MAAM,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;IACjE,CAAC;CACF;AA5CD,gDA4CC"}
|
1
|
+
{"version":3,"file":"graphql-local-client.js","sourceRoot":"","sources":["../server/graphql-local-client.ts"],"names":[],"mappings":";;;AAAA,2DAAqD;AAErD,qCAA6C;AA4B7C,MAAa,kBAAkB;IAG7B,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG;QACrB,MAAM,OAAO,GAAG,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE;YAChE,8CAA8C;YAC9C,MAAM,MAAM,GAAG,IAAI,qCAAgB,CAAC;gBAClC,MAAM;gBACN,OAAO,kCAOF,OAAO,KACV,GAAG,GACJ;aACF,CAAC,CAAA;YAEF,MAAM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAC7D,MAAM,SAAS,GAAG,KAAK,IAAI,QAAQ,CAAA;YACnC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE;gBACzC,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAA;aACzE;YAED,+BAA+B;YAC/B,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC;gBACjC,SAAS;gBACT,KAAK,EAAE,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,eAAK,EAAC,SAAS,CAAC;aACpE,CAAC,CAAA;YAEF,8CAA8C;YAC9C,+CAA+C;YAC/C,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;gBACvC,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACjE,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAA;aACzB;YAED,OAAO,GAAG,CAAA;QACZ,CAAC,CAAA;QAED,kBAAkB,CAAC,MAAM,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;IACjE,CAAC;CACF;AA5CD,gDA4CC","sourcesContent":["import { ApolloServerBase } from 'apollo-server-core'\nimport { GraphQLResponse } from 'apollo-server-types'\nimport { print, DocumentNode } from 'graphql'\n\ntype StringOrAst = string | DocumentNode\n\n// A query must not come with a mutation (and vice versa).\ntype Query = {\n query: StringOrAst\n mutation?: undefined\n variables?: {\n [name: string]: any\n }\n operationName?: string\n}\n\ntype Mutation = {\n mutation: StringOrAst\n query?: undefined\n variables?: {\n [name: string]: any\n }\n operationName?: string\n}\n\nexport interface ApolloServerLocalClient {\n query: (query: Query) => Promise<GraphQLResponse>\n mutate: (mutation: Mutation) => Promise<GraphQLResponse>\n}\n\nexport class GraphqlLocalClient {\n static client: ApolloServerLocalClient\n\n static init(schema, app) {\n const resolve = async ({ query, mutation, variables, context }) => {\n // Create a new Apollo Server for each request\n const server = new ApolloServerBase({\n schema,\n context: {\n // ⚠️ Note: here you should construct your GraphQL\n // context! When calling the query/mutation, I\n // usually like to override some properties (eg the\n // authed user which I attach to the context). Here\n // is where you need to put all your default GraphQL\n // context data. Eg dataloaders etc.\n ...context,\n app\n }\n })\n\n const executeOperation = server.executeOperation.bind(server)\n const operation = query || mutation\n if (!operation || (!!query && !!mutation)) {\n throw new Error('Either query or mutation must be passed, but not both')\n }\n\n // Execute the actual operation\n const res = await executeOperation({\n variables,\n query: typeof operation === 'string' ? operation : print(operation)\n })\n\n // Throw an error with all the messages of the\n // errors to make them easy to match using Jest\n if (!!res.errors && !!res.errors.length) {\n const message = res.errors.map(error => error.message).join('\\n')\n throw new Error(message)\n }\n\n return res\n }\n\n GraphqlLocalClient.client = { query: resolve, mutate: resolve }\n }\n}\n"]}
|
@@ -0,0 +1,9 @@
|
|
1
|
+
export * from './migrations';
|
2
|
+
export * from './initializers/naming-strategy';
|
3
|
+
export * from './initializers/database';
|
4
|
+
export * from './utils';
|
5
|
+
export * from './pubsub';
|
6
|
+
export * from './pubsub-log-transport';
|
7
|
+
export * from './middlewares';
|
8
|
+
export * from './graphql-local-client';
|
9
|
+
export * from './service';
|
package/dist-server/index.js
CHANGED
@@ -1,25 +1,13 @@
|
|
1
1
|
"use strict";
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
-
if (k2 === undefined) k2 = k;
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
-
}
|
8
|
-
Object.defineProperty(o, k2, desc);
|
9
|
-
}) : (function(o, m, k, k2) {
|
10
|
-
if (k2 === undefined) k2 = k;
|
11
|
-
o[k2] = m[k];
|
12
|
-
}));
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
15
|
-
};
|
16
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
17
|
-
|
18
|
-
__exportStar(require("./
|
19
|
-
__exportStar(require("./
|
20
|
-
__exportStar(require("./
|
21
|
-
__exportStar(require("./
|
22
|
-
__exportStar(require("./
|
23
|
-
__exportStar(require("./
|
24
|
-
__exportStar(require("./
|
3
|
+
const tslib_1 = require("tslib");
|
4
|
+
tslib_1.__exportStar(require("./migrations"), exports);
|
5
|
+
tslib_1.__exportStar(require("./initializers/naming-strategy"), exports);
|
6
|
+
tslib_1.__exportStar(require("./initializers/database"), exports);
|
7
|
+
tslib_1.__exportStar(require("./utils"), exports);
|
8
|
+
tslib_1.__exportStar(require("./pubsub"), exports);
|
9
|
+
tslib_1.__exportStar(require("./pubsub-log-transport"), exports);
|
10
|
+
tslib_1.__exportStar(require("./middlewares"), exports);
|
11
|
+
tslib_1.__exportStar(require("./graphql-local-client"), exports);
|
12
|
+
tslib_1.__exportStar(require("./service"), exports);
|
25
13
|
//# sourceMappingURL=index.js.map
|
package/dist-server/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../server/index.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../server/index.ts"],"names":[],"mappings":";;;AAAA,uDAA4B;AAC5B,yEAA8C;AAC9C,kEAAuC;AACvC,kDAAuB;AACvB,mDAAwB;AACxB,iEAAsC;AACtC,wDAA6B;AAC7B,iEAAsC;AACtC,oDAAyB","sourcesContent":["export * from './migrations'\nexport * from './initializers/naming-strategy'\nexport * from './initializers/database'\nexport * from './utils'\nexport * from './pubsub'\nexport * from './pubsub-log-transport'\nexport * from './middlewares'\nexport * from './graphql-local-client'\nexport * from './service'\n"]}
|
@@ -0,0 +1,7 @@
|
|
1
|
+
import { DataSource, EntityTarget, Repository } from 'typeorm';
|
2
|
+
export declare function getDataSource(name?: string): DataSource;
|
3
|
+
export declare function addDataSource(name: string, dataSource: DataSource): void;
|
4
|
+
export declare function removeDataSource(name: string): void;
|
5
|
+
export declare function getDataSourceNames(): string[];
|
6
|
+
export declare function getRepository<X>(target: EntityTarget<X>): Repository<X>;
|
7
|
+
export declare const databaseInitializer: () => Promise<void>;
|
@@ -1,9 +1,9 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.databaseInitializer = void 0;
|
4
|
-
const path = require('path');
|
3
|
+
exports.databaseInitializer = exports.getRepository = exports.getDataSourceNames = exports.removeDataSource = exports.addDataSource = exports.getDataSource = void 0;
|
5
4
|
const typeorm_1 = require("typeorm");
|
6
5
|
const env_1 = require("@things-factory/env");
|
6
|
+
const path = require('path');
|
7
7
|
var ormconfig;
|
8
8
|
try {
|
9
9
|
ormconfig = require(path.resolve(env_1.appRootPath, 'ormconfig'));
|
@@ -11,16 +11,46 @@ try {
|
|
11
11
|
catch (e) {
|
12
12
|
ormconfig = require('@things-factory/shell/ormconfig');
|
13
13
|
}
|
14
|
+
const dataSources = {};
|
15
|
+
function getDataSource(name) {
|
16
|
+
return dataSources[name || 'default'];
|
17
|
+
}
|
18
|
+
exports.getDataSource = getDataSource;
|
19
|
+
function addDataSource(name, dataSource) {
|
20
|
+
dataSources[name] = dataSource;
|
21
|
+
}
|
22
|
+
exports.addDataSource = addDataSource;
|
23
|
+
function removeDataSource(name) {
|
24
|
+
delete dataSources[name];
|
25
|
+
}
|
26
|
+
exports.removeDataSource = removeDataSource;
|
27
|
+
function getDataSourceNames() {
|
28
|
+
return Object.keys(dataSources);
|
29
|
+
}
|
30
|
+
exports.getDataSourceNames = getDataSourceNames;
|
31
|
+
function getRepository(target) {
|
32
|
+
return getDataSource('default').getRepository(target);
|
33
|
+
}
|
34
|
+
exports.getRepository = getRepository;
|
14
35
|
const databaseInitializer = async () => {
|
15
36
|
try {
|
16
|
-
const
|
17
|
-
|
37
|
+
const dataSource = await (0, typeorm_1.createConnection)(Object.assign(Object.assign({}, ormconfig), env_1.config.get('ormconfig')));
|
38
|
+
addDataSource('default', dataSource);
|
39
|
+
env_1.logger.info('Default DataSource established');
|
18
40
|
if (ormconfig.type == 'sqlite' && ormconfig.synchronize == false) {
|
19
|
-
await
|
20
|
-
await
|
21
|
-
await
|
41
|
+
await dataSource.query('PRAGMA foreign_keys=OFF');
|
42
|
+
await dataSource.synchronize();
|
43
|
+
await dataSource.query('PRAGMA foreign_keys=ON');
|
44
|
+
}
|
45
|
+
if (env_1.config.get('ormconfig4Tx')) {
|
46
|
+
const dataSource4Tx = new typeorm_1.DataSource(Object.assign(Object.assign({}, ormconfig), env_1.config.get('ormconfig4Tx')));
|
47
|
+
dataSource4Tx.initialize();
|
48
|
+
addDataSource('tx', dataSource4Tx);
|
49
|
+
env_1.logger.info('Transaction DataSource established');
|
50
|
+
}
|
51
|
+
else {
|
52
|
+
addDataSource('tx', dataSource);
|
22
53
|
}
|
23
|
-
return connection;
|
24
54
|
}
|
25
55
|
catch (e) {
|
26
56
|
env_1.logger.error(e);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"database.js","sourceRoot":"","sources":["../../server/initializers/database.ts"],"names":[],"mappings":";;;AAAA,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;AAE5B,
|
1
|
+
{"version":3,"file":"database.js","sourceRoot":"","sources":["../../server/initializers/database.ts"],"names":[],"mappings":";;;AAAA,qCAAgF;AAEhF,6CAAiE;AAEjE,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;AAE5B,IAAI,SAAS,CAAA;AACb,IAAI;IACF,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAW,EAAE,WAAW,CAAC,CAAC,CAAA;CAC5D;AAAC,OAAO,CAAC,EAAE;IACV,SAAS,GAAG,OAAO,CAAC,iCAAiC,CAAC,CAAA;CACvD;AAED,MAAM,WAAW,GAAmC,EAAE,CAAA;AAEtD,SAAgB,aAAa,CAAC,IAAa;IACzC,OAAO,WAAW,CAAC,IAAI,IAAI,SAAS,CAAC,CAAA;AACvC,CAAC;AAFD,sCAEC;AAED,SAAgB,aAAa,CAAC,IAAY,EAAE,UAAsB;IAChE,WAAW,CAAC,IAAI,CAAC,GAAG,UAAU,CAAA;AAChC,CAAC;AAFD,sCAEC;AAED,SAAgB,gBAAgB,CAAC,IAAY;IAC3C,OAAO,WAAW,CAAC,IAAI,CAAC,CAAA;AAC1B,CAAC;AAFD,4CAEC;AAED,SAAgB,kBAAkB;IAChC,OAAO,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;AACjC,CAAC;AAFD,gDAEC;AAED,SAAgB,aAAa,CAAI,MAAuB;IACtD,OAAO,aAAa,CAAC,SAAS,CAAC,CAAC,aAAa,CAAI,MAAM,CAAC,CAAA;AAC1D,CAAC;AAFD,sCAEC;AAEM,MAAM,mBAAmB,GAAG,KAAK,IAAI,EAAE;IAC5C,IAAI;QACF,MAAM,UAAU,GAAG,MAAM,IAAA,0BAAgB,kCACpC,SAAS,GACT,YAAM,CAAC,GAAG,CAAC,WAAW,CAAC,EAC1B,CAAA;QAEF,aAAa,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;QAEpC,YAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAA;QAE7C,IAAI,SAAS,CAAC,IAAI,IAAI,QAAQ,IAAI,SAAS,CAAC,WAAW,IAAI,KAAK,EAAE;YAChE,MAAM,UAAU,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAA;YACjD,MAAM,UAAU,CAAC,WAAW,EAAE,CAAA;YAC9B,MAAM,UAAU,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAA;SACjD;QAED,IAAI,YAAM,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE;YAC9B,MAAM,aAAa,GAAG,IAAI,oBAAU,iCAC/B,SAAS,GACT,YAAM,CAAC,GAAG,CAAC,cAAc,CAAC,EAC7B,CAAA;YACF,aAAa,CAAC,UAAU,EAAE,CAAA;YAC1B,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,CAAA;YAElC,YAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAA;SAClD;aAAM;YACL,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;SAChC;KACF;IAAC,OAAO,CAAC,EAAE;QACV,YAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;KAChB;AACH,CAAC,CAAA;AAhCY,QAAA,mBAAmB,uBAgC/B","sourcesContent":["import { createConnection, DataSource, EntityTarget, Repository } from 'typeorm'\n\nimport { appRootPath, config, logger } from '@things-factory/env'\n\nconst path = require('path')\n\nvar ormconfig\ntry {\n ormconfig = require(path.resolve(appRootPath, 'ormconfig'))\n} catch (e) {\n ormconfig = require('@things-factory/shell/ormconfig')\n}\n\nconst dataSources: { [name: string]: DataSource } = {}\n\nexport function getDataSource(name?: string): DataSource {\n return dataSources[name || 'default']\n}\n\nexport function addDataSource(name: string, dataSource: DataSource) {\n dataSources[name] = dataSource\n}\n\nexport function removeDataSource(name: string) {\n delete dataSources[name]\n}\n\nexport function getDataSourceNames() {\n return Object.keys(dataSources)\n}\n\nexport function getRepository<X>(target: EntityTarget<X>): Repository<X> {\n return getDataSource('default').getRepository<X>(target)\n}\n\nexport const databaseInitializer = async () => {\n try {\n const dataSource = await createConnection({\n ...ormconfig,\n ...config.get('ormconfig')\n })\n\n addDataSource('default', dataSource)\n\n logger.info('Default DataSource established')\n\n if (ormconfig.type == 'sqlite' && ormconfig.synchronize == false) {\n await dataSource.query('PRAGMA foreign_keys=OFF')\n await dataSource.synchronize()\n await dataSource.query('PRAGMA foreign_keys=ON')\n }\n\n if (config.get('ormconfig4Tx')) {\n const dataSource4Tx = new DataSource({\n ...ormconfig,\n ...config.get('ormconfig4Tx')\n })\n dataSource4Tx.initialize()\n addDataSource('tx', dataSource4Tx)\n\n logger.info('Transaction DataSource established')\n } else {\n addDataSource('tx', dataSource)\n }\n } catch (e) {\n logger.error(e)\n }\n}\n"]}
|
@@ -0,0 +1,6 @@
|
|
1
|
+
import { NamingStrategyInterface } from 'typeorm';
|
2
|
+
import { DefaultNamingStrategy } from 'typeorm';
|
3
|
+
export declare class NamingStrategy extends DefaultNamingStrategy implements NamingStrategyInterface {
|
4
|
+
tableName(targetName: string, userSpecifiedName: string): string;
|
5
|
+
columnName(propertyName: string, customName: string, embeddedPrefixes: string[]): string;
|
6
|
+
}
|
@@ -1,12 +1,10 @@
|
|
1
1
|
"use strict";
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
-
};
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
3
|
exports.NamingStrategy = void 0;
|
4
|
+
const tslib_1 = require("tslib");
|
7
5
|
const typeorm_1 = require("typeorm");
|
8
|
-
const pluralize_1 = __importDefault(require("pluralize"));
|
9
|
-
const lodash_1 = __importDefault(require("lodash"));
|
6
|
+
const pluralize_1 = tslib_1.__importDefault(require("pluralize"));
|
7
|
+
const lodash_1 = tslib_1.__importDefault(require("lodash"));
|
10
8
|
class NamingStrategy extends typeorm_1.DefaultNamingStrategy {
|
11
9
|
tableName(targetName, userSpecifiedName) {
|
12
10
|
return userSpecifiedName || (0, pluralize_1.default)(lodash_1.default.snakeCase(targetName));
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"naming-strategy.js","sourceRoot":"","sources":["../../server/initializers/naming-strategy.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"naming-strategy.js","sourceRoot":"","sources":["../../server/initializers/naming-strategy.ts"],"names":[],"mappings":";;;;AACA,qCAA+C;AAC/C,kEAAiC;AACjC,4DAAsB;AAEtB,MAAa,cAAe,SAAQ,+BAAqB;IACvD,SAAS,CAAC,UAAkB,EAAE,iBAAyB;QACrD,OAAO,iBAAiB,IAAI,IAAA,mBAAS,EAAC,gBAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAA;IAChE,CAAC;IAED,UAAU,CAAC,YAAoB,EAAE,UAAkB,EAAE,gBAA0B;QAC7E,OAAO,gBAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,MAAM,CAAC,UAAU,IAAI,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;IACnF,CAAC;CACF;AARD,wCAQC","sourcesContent":["import { NamingStrategyInterface } from 'typeorm'\nimport { DefaultNamingStrategy } from 'typeorm'\nimport pluralize from 'pluralize'\nimport _ from 'lodash'\n\nexport class NamingStrategy extends DefaultNamingStrategy implements NamingStrategyInterface {\n tableName(targetName: string, userSpecifiedName: string): string {\n return userSpecifiedName || pluralize(_.snakeCase(targetName))\n }\n\n columnName(propertyName: string, customName: string, embeddedPrefixes: string[]): string {\n return _.snakeCase(embeddedPrefixes.concat(customName || propertyName).join('_'))\n }\n}\n"]}
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare function domainMiddleware(context: any, next: any): Promise<any>;
|
@@ -2,12 +2,9 @@
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.domainMiddleware = void 0;
|
4
4
|
const utils_1 = require("../utils");
|
5
|
-
const debug = require('debug')('things-factory:shell:domain-middleware');
|
6
5
|
async function domainMiddleware(context, next) {
|
7
|
-
var _a;
|
8
6
|
const { domain } = context.state;
|
9
7
|
if (domain) {
|
10
|
-
debug('already fetch domain', context.path, domain.subdomain);
|
11
8
|
return await next();
|
12
9
|
}
|
13
10
|
/*
|
@@ -16,7 +13,6 @@ async function domainMiddleware(context, next) {
|
|
16
13
|
* So, we don't check domainType here.
|
17
14
|
*/
|
18
15
|
context.state.domain = await (0, utils_1.getDomainFromURL)(context);
|
19
|
-
debug('subdomain', context.path, (_a = context.state.domain) === null || _a === void 0 ? void 0 : _a.subdomain);
|
20
16
|
await next();
|
21
17
|
}
|
22
18
|
exports.domainMiddleware = domainMiddleware;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"domain-middleware.js","sourceRoot":"","sources":["../../server/middlewares/domain-middleware.ts"],"names":[],"mappings":";;;AAAA,oCAA2C;
|
1
|
+
{"version":3,"file":"domain-middleware.js","sourceRoot":"","sources":["../../server/middlewares/domain-middleware.ts"],"names":[],"mappings":";;;AAAA,oCAA2C;AAEpC,KAAK,UAAU,gBAAgB,CAAC,OAAY,EAAE,IAAS;IAC5D,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAChC,IAAI,MAAM,EAAE;QACV,OAAO,MAAM,IAAI,EAAE,CAAA;KACpB;IAED;;;;OAIG;IACH,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,IAAA,wBAAgB,EAAC,OAAO,CAAC,CAAA;IAEtD,MAAM,IAAI,EAAE,CAAA;AACd,CAAC;AAdD,4CAcC","sourcesContent":["import { getDomainFromURL } from '../utils'\n\nexport async function domainMiddleware(context: any, next: any) {\n const { domain } = context.state\n if (domain) {\n return await next()\n }\n\n /*\n * The domainType should be checked only when signin and checkin.\n * For purposes such as API calls, the target domainType may be different from the system domainType.\n * So, we don't check domainType here.\n */\n context.state.domain = await getDomainFromURL(context)\n\n await next()\n}\n"]}
|
@@ -1,23 +1,9 @@
|
|
1
1
|
"use strict";
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
-
if (k2 === undefined) k2 = k;
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
-
}
|
8
|
-
Object.defineProperty(o, k2, desc);
|
9
|
-
}) : (function(o, m, k, k2) {
|
10
|
-
if (k2 === undefined) k2 = k;
|
11
|
-
o[k2] = m[k];
|
12
|
-
}));
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
15
|
-
};
|
16
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
17
3
|
exports.initMiddlewares = void 0;
|
4
|
+
const tslib_1 = require("tslib");
|
18
5
|
const env_1 = require("@things-factory/env");
|
19
6
|
const domain_middleware_1 = require("./domain-middleware");
|
20
|
-
const debug = require('debug')('things-factory:shell:middleware');
|
21
7
|
function initMiddlewares(app) {
|
22
8
|
app.subdomainOffset = env_1.config.get('subdomainOffset', 2);
|
23
9
|
app.on('error', (err, context) => {
|
@@ -52,8 +38,7 @@ function initMiddlewares(app) {
|
|
52
38
|
}
|
53
39
|
exports.initMiddlewares = initMiddlewares;
|
54
40
|
process.on('bootstrap-module-subscription', (app, subscriptionMiddleware) => {
|
55
|
-
debug('bootstrap-module-subscription');
|
56
41
|
subscriptionMiddleware.push(domain_middleware_1.domainMiddleware);
|
57
42
|
});
|
58
|
-
__exportStar(require("./domain-middleware"), exports);
|
43
|
+
tslib_1.__exportStar(require("./domain-middleware"), exports);
|
59
44
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/middlewares/index.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/middlewares/index.ts"],"names":[],"mappings":";;;;AAAA,6CAAoD;AAEpD,2DAAsD;AAEtD,SAAgB,eAAe,CAAC,GAAG;IACjC,GAAG,CAAC,eAAe,GAAG,YAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAA;IAEtD,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QAC/B,YAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACnB,CAAC,CAAC,CAAA;IAEF;;;OAGG;IACH,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAC9B,IAAI;YACF,MAAM,IAAI,EAAE,CAAA;SACb;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,CAAC,MAAM,GAAG,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,MAAM,KAAI,GAAG,CAAA;YACnC,OAAO,CAAC,IAAI,GAAG,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,CAAA;YAE3B,yCAAyC;YACzC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;SACxC;IACH,CAAC,CAAC,CAAA;IAEF;;;OAGG;IACH,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAC9B,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAA;QAEhC,IAAI,MAAM,IAAI,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;YACnD,OAAO,MAAM,IAAA,oCAAgB,EAAC,OAAO,EAAE,IAAI,CAAC,CAAA;SAC7C;QAED,MAAM,IAAI,EAAE,CAAA;IACd,CAAC,CAAC,CAAA;AACJ,CAAC;AApCD,0CAoCC;AAED,OAAO,CAAC,EAAE,CAAC,+BAAsC,EAAE,CAAC,GAAG,EAAE,sBAAsB,EAAE,EAAE;IACjF,sBAAsB,CAAC,IAAI,CAAC,oCAAgB,CAAC,CAAA;AAC/C,CAAC,CAAC,CAAA;AAEF,8DAAmC","sourcesContent":["import { config, logger } from '@things-factory/env'\n\nimport { domainMiddleware } from './domain-middleware'\n\nexport function initMiddlewares(app) {\n app.subdomainOffset = config.get('subdomainOffset', 2)\n\n app.on('error', (err, context) => {\n logger.error(err)\n })\n\n /*\n * Catching downstream errors\n * - recommend to use context.throw, context.assert\n */\n app.use(async (context, next) => {\n try {\n await next()\n } catch (err) {\n context.status = err?.status || 500\n context.body = err?.message\n\n // emitting error to app.on('error', ...)\n context.app.emit('error', err, context)\n }\n })\n\n /*\n * post:graphql 에 대해서는 domain을 확인한다.\n * graphql app을 router에 적용하지 못하기 때문임.\n */\n app.use(async (context, next) => {\n const { method, path } = context\n\n if (method == 'POST' && path.startsWith('/graphql')) {\n return await domainMiddleware(context, next)\n }\n\n await next()\n })\n}\n\nprocess.on('bootstrap-module-subscription' as any, (app, subscriptionMiddleware) => {\n subscriptionMiddleware.push(domainMiddleware)\n})\n\nexport * from './domain-middleware'\n"]}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.SeedDomain1000000000000 = void 0;
|
4
|
-
const
|
4
|
+
const database_1 = require("../initializers/database");
|
5
5
|
const domain_1 = require("../service/domain/domain");
|
6
6
|
const SEED_DOMAINS = [
|
7
7
|
{
|
@@ -12,15 +12,15 @@ const SEED_DOMAINS = [
|
|
12
12
|
];
|
13
13
|
class SeedDomain1000000000000 {
|
14
14
|
async up(queryRunner) {
|
15
|
-
const repository = (0,
|
15
|
+
const repository = (0, database_1.getRepository)(domain_1.Domain);
|
16
16
|
return await Promise.all(SEED_DOMAINS.map(async (domain) => {
|
17
17
|
await repository.save(Object.assign({}, domain));
|
18
18
|
}));
|
19
19
|
}
|
20
20
|
async down(queryRunner) {
|
21
|
-
const repository = (0,
|
21
|
+
const repository = (0, database_1.getRepository)(domain_1.Domain);
|
22
22
|
return await Promise.all(SEED_DOMAINS.reverse().map(async (domain) => {
|
23
|
-
let recode = await repository.
|
23
|
+
let recode = await repository.findOneBy({ subdomain: domain.subdomain });
|
24
24
|
await repository.remove(recode);
|
25
25
|
}));
|
26
26
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"1000000000000-SeedDomain.js","sourceRoot":"","sources":["../../server/migrations/1000000000000-SeedDomain.ts"],"names":[],"mappings":";;;
|
1
|
+
{"version":3,"file":"1000000000000-SeedDomain.js","sourceRoot":"","sources":["../../server/migrations/1000000000000-SeedDomain.ts"],"names":[],"mappings":";;;AAEA,uDAAwD;AACxD,qDAAiD;AAEjD,MAAM,YAAY,GAAG;IACnB;QACE,IAAI,EAAE,QAAQ;QACd,SAAS,EAAE,QAAQ;QACnB,UAAU,EAAE,IAAI;KACjB;CACF,CAAA;AAED,MAAa,uBAAuB;IAC3B,KAAK,CAAC,EAAE,CAAC,WAAwB;QACtC,MAAM,UAAU,GAAG,IAAA,wBAAa,EAAC,eAAM,CAAC,CAAA;QAExC,OAAO,MAAM,OAAO,CAAC,GAAG,CACtB,YAAY,CAAC,GAAG,CAAC,KAAK,EAAC,MAAM,EAAC,EAAE;YAC9B,MAAM,UAAU,CAAC,IAAI,mBAChB,MAAM,EACT,CAAA;QACJ,CAAC,CAAC,CACH,CAAA;IACH,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,WAAwB;QACxC,MAAM,UAAU,GAAG,IAAA,wBAAa,EAAC,eAAM,CAAC,CAAA;QAExC,OAAO,MAAM,OAAO,CAAC,GAAG,CACtB,YAAY,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,KAAK,EAAC,MAAM,EAAC,EAAE;YACxC,IAAI,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAA;YACxE,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACjC,CAAC,CAAC,CACH,CAAA;IACH,CAAC;CACF;AAvBD,0DAuBC","sourcesContent":["import { MigrationInterface, QueryRunner } from 'typeorm'\n\nimport { getRepository } from '../initializers/database'\nimport { Domain } from '../service/domain/domain'\n\nconst SEED_DOMAINS = [\n {\n name: 'SYSTEM',\n subdomain: 'system',\n systemFlag: true\n }\n]\n\nexport class SeedDomain1000000000000 implements MigrationInterface {\n public async up(queryRunner: QueryRunner): Promise<any> {\n const repository = getRepository(Domain)\n\n return await Promise.all(\n SEED_DOMAINS.map(async domain => {\n await repository.save({\n ...domain\n })\n })\n )\n }\n\n public async down(queryRunner: QueryRunner): Promise<any> {\n const repository = getRepository(Domain)\n\n return await Promise.all(\n SEED_DOMAINS.reverse().map(async domain => {\n let recode = await repository.findOneBy({ subdomain: domain.subdomain })\n await repository.remove(recode)\n })\n )\n }\n}\n"]}
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare var migrations: any[];
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/migrations/index.ts"],"names":[],"mappings":";;;AAAA,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;AAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;AAEjB,QAAA,UAAU,GAAG,EAAE,CAAA;AAE1B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,UAAS,IAAI;IACzE,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAAE,OAAM;IAC3C,kBAAU,GAAG,kBAAU,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;AAClF,CAAC,CAAC,CAAA"}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/migrations/index.ts"],"names":[],"mappings":";;;AAAA,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;AAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;AAEjB,QAAA,UAAU,GAAG,EAAE,CAAA;AAE1B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,UAAS,IAAI;IACzE,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAAE,OAAM;IAC3C,kBAAU,GAAG,kBAAU,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;AAClF,CAAC,CAAC,CAAA","sourcesContent":["const glob = require('glob')\nconst path = require('path')\n\nexport var migrations = []\n\nglob.sync(path.resolve(__dirname, '.', '**', '*.js')).forEach(function(file) {\n if (file.indexOf('index.js') !== -1) return\n migrations = migrations.concat(Object.values(require(path.resolve(file))) || [])\n})\n"]}
|
@@ -1,11 +1,9 @@
|
|
1
1
|
"use strict";
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
-
};
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
3
|
exports.PubSubLogTransport = void 0;
|
7
|
-
const
|
8
|
-
const
|
4
|
+
const tslib_1 = require("tslib");
|
5
|
+
const camelCase_1 = tslib_1.__importDefault(require("lodash/camelCase"));
|
6
|
+
const winston_transport_1 = tslib_1.__importDefault(require("winston-transport"));
|
9
7
|
const pubsub_1 = require("./pubsub");
|
10
8
|
class PubSubLogTransport extends winston_transport_1.default {
|
11
9
|
constructor(opts) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"pubsub-log-transport.js","sourceRoot":"","sources":["../server/pubsub-log-transport.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"pubsub-log-transport.js","sourceRoot":"","sources":["../server/pubsub-log-transport.ts"],"names":[],"mappings":";;;;AAAA,yEAAwC;AACxC,kFAAyC;AACzC,qCAAiC;AAEjC,MAAa,kBAAmB,SAAQ,2BAAS;IAK/C,YAAY,IAAI;QACd,KAAK,CAAC,IAAI,CAAC,CAAA;QAEX,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACvB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAA,mBAAS,EAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACxD,CAAC;IAED,GAAG,CAAC,IAAI,EAAE,QAAQ;QAChB,YAAY,CAAC,GAAG,EAAE;YAChB,eAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE;gBACzB,CAAC,IAAI,CAAC,QAAQ,CAAC,kBACb,MAAM,EAAE,IAAI,CAAC,MAAM,IAChB,IAAI,CACR;aACF,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,QAAQ,EAAE,CAAA;IACZ,CAAC;CACF;AAzBD,gDAyBC","sourcesContent":["import camelCase from 'lodash/camelCase'\nimport Transport from 'winston-transport'\nimport { pubsub } from './pubsub'\n\nexport class PubSubLogTransport extends Transport {\n source: object\n topic: string\n resolver: string /* field resolver name */\n\n constructor(opts) {\n super(opts)\n\n this.topic = opts.topic\n this.source = opts.source\n this.resolver = opts.resolver || camelCase(this.topic)\n }\n\n log(info, callback) {\n setImmediate(() => {\n pubsub.publish(this.topic, {\n [this.resolver]: {\n source: this.source,\n ...info\n }\n })\n })\n\n callback()\n }\n}\n"]}
|
package/dist-server/pubsub.js
CHANGED
@@ -1,17 +1,14 @@
|
|
1
1
|
"use strict";
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
-
};
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
3
|
exports.pubsub = void 0;
|
4
|
+
const tslib_1 = require("tslib");
|
7
5
|
const graphql_mqtt_subscriptions_1 = require("graphql-mqtt-subscriptions");
|
8
6
|
const graphql_redis_subscriptions_1 = require("graphql-redis-subscriptions");
|
9
7
|
const graphql_subscriptions_1 = require("graphql-subscriptions");
|
10
|
-
const ioredis_1 = __importDefault(require("ioredis"));
|
8
|
+
const ioredis_1 = tslib_1.__importDefault(require("ioredis"));
|
11
9
|
const mqtt_1 = require("mqtt");
|
12
10
|
const env_1 = require("@things-factory/env");
|
13
11
|
const { middleware, host, port, nodes, topic, options } = env_1.config.get('pubsub', {});
|
14
|
-
const debug = require('debug')('things-factory:shell');
|
15
12
|
let pubsub;
|
16
13
|
exports.pubsub = pubsub;
|
17
14
|
switch (middleware) {
|
@@ -57,7 +54,6 @@ switch (middleware) {
|
|
57
54
|
exports.pubsub = pubsub = new graphql_subscriptions_1.PubSub();
|
58
55
|
break;
|
59
56
|
}
|
60
|
-
debug(middleware || 'default', 'pubsub initialized.');
|
61
57
|
// kafka pubsub keeps connection and app port with 'ctrl+c' termination.
|
62
58
|
const exitHandler = async (evt) => {
|
63
59
|
if (pubsub.close) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"pubsub.js","sourceRoot":"","sources":["../server/pubsub.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"pubsub.js","sourceRoot":"","sources":["../server/pubsub.ts"],"names":[],"mappings":"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","sourcesContent":["import { MQTTPubSub } from 'graphql-mqtt-subscriptions'\nimport { RedisPubSub } from 'graphql-redis-subscriptions'\nimport { PubSub } from 'graphql-subscriptions'\nimport Redis from 'ioredis'\nimport { connect } from 'mqtt'\n\nimport { config, logger } from '@things-factory/env'\n\nconst { middleware, host, port, nodes, topic, options } = config.get('pubsub', {})\n\nlet pubsub: any\n\nswitch (middleware) {\n case 'mqtt':\n pubsub = new MQTTPubSub({\n client: connect('mqtt://' + host, {\n reconnectPeriod: 1000,\n ...options\n }) as any\n })\n break\n case 'redis':\n const redisOption = {\n host,\n port,\n retryStrategy: times => {\n // reconnect after\n return Math.min(times * 50, 2000)\n },\n ...options\n }\n pubsub = new RedisPubSub({\n publisher: new Redis(redisOption),\n subscriber: new Redis(redisOption)\n })\n break\n case 'redisCluster':\n const cluster = new Redis.Cluster(nodes, options)\n pubsub = new RedisPubSub({\n publisher: cluster,\n subscriber: cluster\n })\n break\n case 'kafka':\n try {\n /*\n * https://github.com/hatiolab/things-factory/issues/1239\n */\n const { KafkaPubSub } = require('graphql-kafka-subscriptions')\n pubsub = new KafkaPubSub({\n topic,\n host,\n port,\n ...options\n })\n } catch (e) {\n logger.error('graphql-kafka-subscriptions module is not installed, so application can not go further.')\n throw e\n }\n break\n default:\n pubsub = new PubSub()\n break\n}\n\n// kafka pubsub keeps connection and app port with 'ctrl+c' termination.\nconst exitHandler = async evt => {\n if (pubsub.close) {\n try {\n await pubsub.close()\n } catch (err) {\n logger.error(err)\n }\n }\n}\n\n/*\n * exit events hint from https://stackoverflow.com/a/14032965/14539284\n */\n\n//do something when app is closing\nprocess.on('exit', exitHandler.bind(null, { name: 'exit', exit: true }))\n\n//catches ctrl+c event\nprocess.on('SIGINT', exitHandler.bind(null, { name: 'SIGINT', exit: true }))\n\n// catches \"kill pid\" (for example: nodemon restart)\nprocess.on('SIGUSR1', exitHandler.bind(null, { name: 'SIGUSR1', exit: true }))\nprocess.on('SIGUSR2', exitHandler.bind(null, { name: 'SIGUSR2', exit: true }))\n\n//catches uncaught exceptions\nprocess.on('uncaughtException', exitHandler.bind(null, { name: 'uncaughtException', exit: true }))\n\nexport { pubsub }\n"]}
|
@@ -1,20 +1,15 @@
|
|
1
1
|
"use strict";
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
-
};
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
3
|
exports.domainPrivateRouter = exports.domainPublicRouter = void 0;
|
7
|
-
const
|
4
|
+
const tslib_1 = require("tslib");
|
5
|
+
const koa_router_1 = tslib_1.__importDefault(require("koa-router"));
|
8
6
|
const domain_middleware_1 = require("../middlewares/domain-middleware");
|
9
|
-
const debug = require('debug')('things-factory:shell:domain-router');
|
10
7
|
exports.domainPublicRouter = new koa_router_1.default();
|
11
8
|
exports.domainPublicRouter.use(async (context, next) => {
|
12
|
-
debug('domain-public-router path, referer, matched', context.path, context.get('Referrer'), context._matchedRoute);
|
13
9
|
await next();
|
14
10
|
}, domain_middleware_1.domainMiddleware);
|
15
11
|
exports.domainPrivateRouter = new koa_router_1.default();
|
16
12
|
exports.domainPrivateRouter.use(async (context, next) => {
|
17
|
-
debug('domain-private-router path, referer, matched', context.path, context.get('Referrer'), context._matchedRoute);
|
18
13
|
await next();
|
19
14
|
}, domain_middleware_1.domainMiddleware);
|
20
15
|
//# sourceMappingURL=domain-router.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"domain-router.js","sourceRoot":"","sources":["../../server/routers/domain-router.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"domain-router.js","sourceRoot":"","sources":["../../server/routers/domain-router.ts"],"names":[],"mappings":";;;;AAAA,oEAA+B;AAE/B,wEAAmE;AAEtD,QAAA,kBAAkB,GAAG,IAAI,oBAAM,EAAE,CAAA;AAC9C,0BAAkB,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;IAC7C,MAAM,IAAI,EAAE,CAAA;AACd,CAAC,EAAE,oCAAgB,CAAC,CAAA;AAEP,QAAA,mBAAmB,GAAG,IAAI,oBAAM,EAAE,CAAA;AAC/C,2BAAmB,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;IAC9C,MAAM,IAAI,EAAE,CAAA;AACd,CAAC,EAAE,oCAAgB,CAAC,CAAA","sourcesContent":["import Router from 'koa-router'\n\nimport { domainMiddleware } from '../middlewares/domain-middleware'\n\nexport const domainPublicRouter = new Router()\ndomainPublicRouter.use(async (context, next) => {\n await next()\n}, domainMiddleware)\n\nexport const domainPrivateRouter = new Router()\ndomainPrivateRouter.use(async (context, next) => {\n await next()\n}, domainMiddleware)\n"]}
|
@@ -1,13 +1,10 @@
|
|
1
1
|
"use strict";
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
-
};
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
3
|
exports.globalPrivateRouter = exports.globalPublicRouter = void 0;
|
7
|
-
const
|
4
|
+
const tslib_1 = require("tslib");
|
5
|
+
const koa_router_1 = tslib_1.__importDefault(require("koa-router"));
|
8
6
|
const domain_middleware_1 = require("../middlewares/domain-middleware");
|
9
7
|
var crawler = require('npm-license-crawler');
|
10
|
-
const debug = require('debug')('things-factory:shell:global-router');
|
11
8
|
exports.globalPublicRouter = new koa_router_1.default();
|
12
9
|
exports.globalPrivateRouter = new koa_router_1.default();
|
13
10
|
/* even though global private router, catch domain for information */
|
@@ -27,7 +24,7 @@ exports.globalPublicRouter.get('/licenses', (context, next) => {
|
|
27
24
|
};
|
28
25
|
crawler.dumpLicenses(options, function (error, res) {
|
29
26
|
if (error) {
|
30
|
-
|
27
|
+
console.error('get:/licenses', error);
|
31
28
|
reject(error);
|
32
29
|
}
|
33
30
|
else {
|
@@ -41,7 +38,6 @@ exports.globalPublicRouter.get('/licenses', (context, next) => {
|
|
41
38
|
/* Paths starting with /public are assumed to use the koa-view renderer. */
|
42
39
|
exports.globalPublicRouter.get('/public/(.[^.]*)', async (context, next) => {
|
43
40
|
const { path } = context;
|
44
|
-
debug('get:/public/(.[^.]*)', path);
|
45
41
|
await context.render(path.substr(1));
|
46
42
|
});
|
47
43
|
//# sourceMappingURL=global-router.js.map
|