@things-factory/integration-base 10.0.0-zeta.3 → 10.0.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/dist-server/controllers/scenario-controller.d.ts +2 -2
- package/dist-server/controllers/scenario-controller.js +19 -8
- package/dist-server/controllers/scenario-controller.js.map +1 -1
- package/dist-server/engine/analyzer/analyze-integration.js +6 -2
- package/dist-server/engine/analyzer/analyze-integration.js.map +1 -1
- package/dist-server/engine/connector/operato-connector.js +4 -1
- package/dist-server/engine/connector/operato-connector.js.map +1 -1
- package/dist-server/engine/scenario-engine.js +7 -2
- package/dist-server/engine/scenario-engine.js.map +1 -1
- package/dist-server/engine/task/pick-pending-scenario.js +6 -1
- package/dist-server/engine/task/pick-pending-scenario.js.map +1 -1
- package/dist-server/engine/task/stop-scenario.js +1 -1
- package/dist-server/engine/task/stop-scenario.js.map +1 -1
- package/dist-server/engine/task/sub-scenario.js +6 -1
- package/dist-server/engine/task/sub-scenario.js.map +1 -1
- package/dist-server/engine/task/switch-range-scenario.js +6 -1
- package/dist-server/engine/task/switch-range-scenario.js.map +1 -1
- package/dist-server/engine/task/switch-scenario.js +6 -1
- package/dist-server/engine/task/switch-scenario.js.map +1 -1
- package/dist-server/routers/scenario-schedule-callback-router.js +4 -1
- package/dist-server/routers/scenario-schedule-callback-router.js.map +1 -1
- package/dist-server/routers/scenario-view-router.js +4 -3
- package/dist-server/routers/scenario-view-router.js.map +1 -1
- package/dist-server/service/index.d.ts +4 -1
- package/dist-server/service/index.js +4 -1
- package/dist-server/service/index.js.map +1 -1
- package/dist-server/service/scenario/event-subscriber.d.ts +22 -0
- package/dist-server/service/scenario/event-subscriber.js +49 -0
- package/dist-server/service/scenario/event-subscriber.js.map +1 -0
- package/dist-server/service/scenario/index.d.ts +6 -2
- package/dist-server/service/scenario/index.js +7 -3
- package/dist-server/service/scenario/index.js.map +1 -1
- package/dist-server/service/scenario/resolve-steps.d.ts +43 -0
- package/dist-server/service/scenario/resolve-steps.js +101 -0
- package/dist-server/service/scenario/resolve-steps.js.map +1 -0
- package/dist-server/service/scenario/scenario-history.d.ts +44 -0
- package/dist-server/service/scenario/scenario-history.js +167 -0
- package/dist-server/service/scenario/scenario-history.js.map +1 -0
- package/dist-server/service/scenario/scenario-mutation.d.ts +2 -0
- package/dist-server/service/scenario/scenario-mutation.js +150 -36
- package/dist-server/service/scenario/scenario-mutation.js.map +1 -1
- package/dist-server/service/scenario/scenario-query.js +8 -14
- package/dist-server/service/scenario/scenario-query.js.map +1 -1
- package/dist-server/service/scenario/scenario-version-diff.d.ts +8 -0
- package/dist-server/service/scenario/scenario-version-diff.js +107 -0
- package/dist-server/service/scenario/scenario-version-diff.js.map +1 -0
- package/dist-server/service/scenario/scenario-version-query.d.ts +11 -0
- package/dist-server/service/scenario/scenario-version-query.js +135 -0
- package/dist-server/service/scenario/scenario-version-query.js.map +1 -0
- package/dist-server/service/scenario/scenario-version-type.d.ts +18 -0
- package/dist-server/service/scenario/scenario-version-type.js +79 -0
- package/dist-server/service/scenario/scenario-version-type.js.map +1 -0
- package/dist-server/service/scenario/scenario.d.ts +23 -0
- package/dist-server/service/scenario/scenario.js +18 -3
- package/dist-server/service/scenario/scenario.js.map +1 -1
- package/dist-server/service/scenario-instance/scenario-instance-mutation.d.ts +2 -2
- package/dist-server/service/scenario-instance/scenario-instance-mutation.js +8 -6
- package/dist-server/service/scenario-instance/scenario-instance-mutation.js.map +1 -1
- package/dist-server/service/step/step-mutation.js +26 -13
- package/dist-server/service/step/step-mutation.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/dist-server/utils/version-text-column.d.ts +16 -0
- package/dist-server/utils/version-text-column.js +67 -0
- package/dist-server/utils/version-text-column.js.map +1 -0
- package/package.json +12 -11
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ColumnOptions } from 'typeorm';
|
|
2
|
+
/**
|
|
3
|
+
* 버전 스냅샷/모델을 저장하기 위한 대용량 텍스트 컬럼 옵션.
|
|
4
|
+
*
|
|
5
|
+
* board-service 의 `Board.model` / `BoardHistory.model` 과 동일한 멀티 DB 분기를 따른다.
|
|
6
|
+
* (mysql/mariadb=longtext, oracle=clob, mssql=nvarchar(MAX), 그외=varchar)
|
|
7
|
+
*
|
|
8
|
+
* JSON 값을 문자열로 직렬화해 저장하고 읽을 때 파싱하는 transformer 를 함께 제공한다.
|
|
9
|
+
* varchar/longtext 등 텍스트 컬럼이므로 DB 종류와 무관하게 동일하게 동작한다.
|
|
10
|
+
*/
|
|
11
|
+
export declare function jsonTextColumn(options?: ColumnOptions): ColumnOptions;
|
|
12
|
+
/**
|
|
13
|
+
* 대용량 텍스트(문자열 그대로) 컬럼 옵션 — comment 등 순수 문자열용.
|
|
14
|
+
* transformer 없이 텍스트 타입만 멀티 DB 분기.
|
|
15
|
+
*/
|
|
16
|
+
export declare function largeTextColumn(options?: ColumnOptions): ColumnOptions;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.jsonTextColumn = jsonTextColumn;
|
|
4
|
+
exports.largeTextColumn = largeTextColumn;
|
|
5
|
+
const env_1 = require("@things-factory/env");
|
|
6
|
+
const ORMCONFIG = env_1.config.get('ormconfig', {});
|
|
7
|
+
const DATABASE_TYPE = ORMCONFIG.type;
|
|
8
|
+
/**
|
|
9
|
+
* 버전 스냅샷/모델을 저장하기 위한 대용량 텍스트 컬럼 옵션.
|
|
10
|
+
*
|
|
11
|
+
* board-service 의 `Board.model` / `BoardHistory.model` 과 동일한 멀티 DB 분기를 따른다.
|
|
12
|
+
* (mysql/mariadb=longtext, oracle=clob, mssql=nvarchar(MAX), 그외=varchar)
|
|
13
|
+
*
|
|
14
|
+
* JSON 값을 문자열로 직렬화해 저장하고 읽을 때 파싱하는 transformer 를 함께 제공한다.
|
|
15
|
+
* varchar/longtext 등 텍스트 컬럼이므로 DB 종류와 무관하게 동일하게 동작한다.
|
|
16
|
+
*/
|
|
17
|
+
function jsonTextColumn(options = {}) {
|
|
18
|
+
return {
|
|
19
|
+
nullable: true,
|
|
20
|
+
type: DATABASE_TYPE == 'mysql' || DATABASE_TYPE == 'mariadb'
|
|
21
|
+
? 'longtext'
|
|
22
|
+
: DATABASE_TYPE == 'oracle'
|
|
23
|
+
? 'clob'
|
|
24
|
+
: DATABASE_TYPE == 'mssql'
|
|
25
|
+
? 'nvarchar'
|
|
26
|
+
: 'varchar',
|
|
27
|
+
length: DATABASE_TYPE == 'mssql' ? 'MAX' : undefined,
|
|
28
|
+
transformer: {
|
|
29
|
+
to: (value) => (value === undefined || value === null ? value : JSON.stringify(value)),
|
|
30
|
+
from: (value) => {
|
|
31
|
+
if (value === undefined || value === null) {
|
|
32
|
+
return value;
|
|
33
|
+
}
|
|
34
|
+
if (typeof value !== 'string') {
|
|
35
|
+
// 일부 드라이버(simple-json 등)는 이미 객체로 돌려줄 수 있음
|
|
36
|
+
return value;
|
|
37
|
+
}
|
|
38
|
+
try {
|
|
39
|
+
return JSON.parse(value);
|
|
40
|
+
}
|
|
41
|
+
catch (e) {
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
...options
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* 대용량 텍스트(문자열 그대로) 컬럼 옵션 — comment 등 순수 문자열용.
|
|
51
|
+
* transformer 없이 텍스트 타입만 멀티 DB 분기.
|
|
52
|
+
*/
|
|
53
|
+
function largeTextColumn(options = {}) {
|
|
54
|
+
return {
|
|
55
|
+
nullable: true,
|
|
56
|
+
type: DATABASE_TYPE == 'mysql' || DATABASE_TYPE == 'mariadb'
|
|
57
|
+
? 'longtext'
|
|
58
|
+
: DATABASE_TYPE == 'oracle'
|
|
59
|
+
? 'clob'
|
|
60
|
+
: DATABASE_TYPE == 'mssql'
|
|
61
|
+
? 'nvarchar'
|
|
62
|
+
: 'varchar',
|
|
63
|
+
length: DATABASE_TYPE == 'mssql' ? 'MAX' : undefined,
|
|
64
|
+
...options
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=version-text-column.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version-text-column.js","sourceRoot":"","sources":["../../server/utils/version-text-column.ts"],"names":[],"mappings":";;AAeA,wCA+BC;AAMD,0CAcC;AAjED,6CAA4C;AAE5C,MAAM,SAAS,GAAG,YAAM,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;AAC7C,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,CAAA;AAEpC;;;;;;;;GAQG;AACH,SAAgB,cAAc,CAAC,UAAyB,EAAE;IACxD,OAAO;QACL,QAAQ,EAAE,IAAI;QACd,IAAI,EACF,aAAa,IAAI,OAAO,IAAI,aAAa,IAAI,SAAS;YACpD,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,aAAa,IAAI,QAAQ;gBACzB,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,aAAa,IAAI,OAAO;oBACxB,CAAC,CAAC,UAAU;oBACZ,CAAC,CAAC,SAAS;QACnB,MAAM,EAAE,aAAa,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;QACpD,WAAW,EAAE;YACX,EAAE,EAAE,CAAC,KAAU,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC3F,IAAI,EAAE,CAAC,KAAU,EAAE,EAAE;gBACnB,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;oBAC1C,OAAO,KAAK,CAAA;gBACd,CAAC;gBACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAC9B,0CAA0C;oBAC1C,OAAO,KAAK,CAAA;gBACd,CAAC;gBACD,IAAI,CAAC;oBACH,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;gBAC1B,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,OAAO,IAAI,CAAA;gBACb,CAAC;YACH,CAAC;SACF;QACD,GAAG,OAAO;KACX,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,SAAgB,eAAe,CAAC,UAAyB,EAAE;IACzD,OAAO;QACL,QAAQ,EAAE,IAAI;QACd,IAAI,EACF,aAAa,IAAI,OAAO,IAAI,aAAa,IAAI,SAAS;YACpD,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,aAAa,IAAI,QAAQ;gBACzB,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,aAAa,IAAI,OAAO;oBACxB,CAAC,CAAC,UAAU;oBACZ,CAAC,CAAC,SAAS;QACnB,MAAM,EAAE,aAAa,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;QACpD,GAAG,OAAO;KACX,CAAA;AACH,CAAC","sourcesContent":["import { ColumnOptions } from 'typeorm'\nimport { config } from '@things-factory/env'\n\nconst ORMCONFIG = config.get('ormconfig', {})\nconst DATABASE_TYPE = ORMCONFIG.type\n\n/**\n * 버전 스냅샷/모델을 저장하기 위한 대용량 텍스트 컬럼 옵션.\n *\n * board-service 의 `Board.model` / `BoardHistory.model` 과 동일한 멀티 DB 분기를 따른다.\n * (mysql/mariadb=longtext, oracle=clob, mssql=nvarchar(MAX), 그외=varchar)\n *\n * JSON 값을 문자열로 직렬화해 저장하고 읽을 때 파싱하는 transformer 를 함께 제공한다.\n * varchar/longtext 등 텍스트 컬럼이므로 DB 종류와 무관하게 동일하게 동작한다.\n */\nexport function jsonTextColumn(options: ColumnOptions = {}): ColumnOptions {\n return {\n nullable: true,\n type:\n DATABASE_TYPE == 'mysql' || DATABASE_TYPE == 'mariadb'\n ? 'longtext'\n : DATABASE_TYPE == 'oracle'\n ? 'clob'\n : DATABASE_TYPE == 'mssql'\n ? 'nvarchar'\n : 'varchar',\n length: DATABASE_TYPE == 'mssql' ? 'MAX' : undefined,\n transformer: {\n to: (value: any) => (value === undefined || value === null ? value : JSON.stringify(value)),\n from: (value: any) => {\n if (value === undefined || value === null) {\n return value\n }\n if (typeof value !== 'string') {\n // 일부 드라이버(simple-json 등)는 이미 객체로 돌려줄 수 있음\n return value\n }\n try {\n return JSON.parse(value)\n } catch (e) {\n return null\n }\n }\n },\n ...options\n }\n}\n\n/**\n * 대용량 텍스트(문자열 그대로) 컬럼 옵션 — comment 등 순수 문자열용.\n * transformer 없이 텍스트 타입만 멀티 DB 분기.\n */\nexport function largeTextColumn(options: ColumnOptions = {}): ColumnOptions {\n return {\n nullable: true,\n type:\n DATABASE_TYPE == 'mysql' || DATABASE_TYPE == 'mariadb'\n ? 'longtext'\n : DATABASE_TYPE == 'oracle'\n ? 'clob'\n : DATABASE_TYPE == 'mssql'\n ? 'nvarchar'\n : 'varchar',\n length: DATABASE_TYPE == 'mssql' ? 'MAX' : undefined,\n ...options\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@things-factory/integration-base",
|
|
3
|
-
"version": "10.0.0
|
|
3
|
+
"version": "10.0.0",
|
|
4
4
|
"main": "dist-server/index.js",
|
|
5
5
|
"browser": "client/index.ts",
|
|
6
6
|
"things-factory": true,
|
|
@@ -31,15 +31,16 @@
|
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"@apollo/client": "^3.6.9",
|
|
34
|
-
"@operato/moment-timezone-es": "^10.0.0
|
|
35
|
-
"@
|
|
36
|
-
"@things-factory/
|
|
37
|
-
"@things-factory/
|
|
38
|
-
"@things-factory/
|
|
39
|
-
"@things-factory/
|
|
40
|
-
"@things-factory/
|
|
41
|
-
"@things-factory/
|
|
42
|
-
"@things-factory/
|
|
34
|
+
"@operato/moment-timezone-es": "^10.0.0",
|
|
35
|
+
"@operato/typeorm-history": "^10.0.0-beta.64",
|
|
36
|
+
"@things-factory/api": "^10.0.0",
|
|
37
|
+
"@things-factory/auth-base": "^10.0.0",
|
|
38
|
+
"@things-factory/cache-service": "^10.0.0",
|
|
39
|
+
"@things-factory/env": "^10.0.0",
|
|
40
|
+
"@things-factory/oauth2-client": "^10.0.0",
|
|
41
|
+
"@things-factory/scheduler-client": "^10.0.0",
|
|
42
|
+
"@things-factory/shell": "^10.0.0",
|
|
43
|
+
"@things-factory/utils": "^10.0.0",
|
|
43
44
|
"async-mqtt": "^2.5.0",
|
|
44
45
|
"chance": "^1.1.11",
|
|
45
46
|
"cross-fetch": "^3.0.4",
|
|
@@ -48,5 +49,5 @@
|
|
|
48
49
|
"promise-socket": "^7.0.0",
|
|
49
50
|
"readline": "^1.3.0"
|
|
50
51
|
},
|
|
51
|
-
"gitHead": "
|
|
52
|
+
"gitHead": "b20fa0816c33727f7ec327e0455687d3be620c58"
|
|
52
53
|
}
|