@things-factory/dataset 8.0.0-alpha.23 → 8.0.0-alpha.25

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/dataset",
3
- "version": "8.0.0-alpha.23",
3
+ "version": "8.0.0-alpha.25",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "dist-client/index.js",
6
6
  "things-factory": true,
@@ -40,21 +40,21 @@
40
40
  "@operato/shell": "^8.0.0-alpha",
41
41
  "@operato/styles": "^8.0.0-alpha",
42
42
  "@operato/utils": "^8.0.0-alpha",
43
- "@things-factory/auth-base": "^8.0.0-alpha.22",
44
- "@things-factory/aws-base": "^8.0.0-alpha.22",
45
- "@things-factory/board-service": "^8.0.0-alpha.23",
43
+ "@things-factory/auth-base": "^8.0.0-alpha.24",
44
+ "@things-factory/aws-base": "^8.0.0-alpha.24",
45
+ "@things-factory/board-service": "^8.0.0-alpha.25",
46
46
  "@things-factory/env": "^8.0.0-alpha.8",
47
- "@things-factory/integration-base": "^8.0.0-alpha.22",
48
- "@things-factory/organization": "^8.0.0-alpha.23",
49
- "@things-factory/personalization": "^8.0.0-alpha.22",
50
- "@things-factory/scheduler-client": "^8.0.0-alpha.22",
47
+ "@things-factory/integration-base": "^8.0.0-alpha.24",
48
+ "@things-factory/organization": "^8.0.0-alpha.25",
49
+ "@things-factory/personalization": "^8.0.0-alpha.24",
50
+ "@things-factory/scheduler-client": "^8.0.0-alpha.24",
51
51
  "@things-factory/shell": "^8.0.0-alpha.22",
52
- "@things-factory/work-shift": "^8.0.0-alpha.22",
53
- "@things-factory/worklist": "^8.0.0-alpha.23",
52
+ "@things-factory/work-shift": "^8.0.0-alpha.24",
53
+ "@things-factory/worklist": "^8.0.0-alpha.25",
54
54
  "cron-parser": "^4.3.0",
55
55
  "moment-timezone": "^0.5.45",
56
56
  "simple-statistics": "^7.8.3",
57
57
  "statistics": "^3.3.0"
58
58
  },
59
- "gitHead": "1ebbf45197acd1b0a8f27e9f21672d5cbef172ea"
59
+ "gitHead": "126c290973df223812311e21599224f527449b34"
60
60
  }
@@ -88,7 +88,10 @@ export class DataOoc {
88
88
  ? 'longtext'
89
89
  : DATABASE_TYPE == 'oracle'
90
90
  ? 'clob'
91
- : 'varchar'
91
+ : DATABASE_TYPE == 'mssql'
92
+ ? 'nvarchar'
93
+ : 'varchar',
94
+ length: DATABASE_TYPE == 'mssql' ? 'MAX' : undefined
92
95
  })
93
96
  @Field({ nullable: true })
94
97
  correctiveInstruction?: string
@@ -100,7 +103,10 @@ export class DataOoc {
100
103
  ? 'longtext'
101
104
  : DATABASE_TYPE == 'oracle'
102
105
  ? 'clob'
103
- : 'varchar'
106
+ : DATABASE_TYPE == 'mssql'
107
+ ? 'nvarchar'
108
+ : 'varchar',
109
+ length: DATABASE_TYPE == 'mssql' ? 'MAX' : undefined
104
110
  })
105
111
  @Field({ nullable: true })
106
112
  correctiveAction?: string
@@ -159,7 +165,10 @@ export class DataOoc {
159
165
  ? 'longtext'
160
166
  : DATABASE_TYPE == 'oracle'
161
167
  ? 'clob'
162
- : 'varchar'
168
+ : DATABASE_TYPE == 'mssql'
169
+ ? 'nvarchar'
170
+ : 'varchar',
171
+ length: DATABASE_TYPE == 'mssql' ? 'MAX' : undefined
163
172
  })
164
173
  @Field({ nullable: true })
165
174
  rawData?: string
@@ -104,7 +104,10 @@ export class DataSample {
104
104
  ? 'longtext'
105
105
  : DATABASE_TYPE == 'oracle'
106
106
  ? 'clob'
107
- : 'varchar',
107
+ : DATABASE_TYPE == 'mssql'
108
+ ? 'nvarchar'
109
+ : 'varchar',
110
+ length: DATABASE_TYPE == 'mssql' ? 'MAX' : undefined,
108
111
  transformer: json5Transformer
109
112
  })
110
113
  @Field({ nullable: true })
@@ -204,8 +204,14 @@ export class DataSetHistory implements HistoryEntityInterface<DataSet> {
204
204
  ? 'enum'
205
205
  : DATABASE_TYPE == 'oracle'
206
206
  ? 'varchar2'
207
- : 'smallint',
208
- enum: HistoryActionType
207
+ : DATABASE_TYPE == 'mssql'
208
+ ? 'nvarchar'
209
+ : 'varchar',
210
+ enum:
211
+ DATABASE_TYPE == 'postgres' || DATABASE_TYPE == 'mysql' || DATABASE_TYPE == 'mariadb'
212
+ ? HistoryActionType
213
+ : undefined,
214
+ length: DATABASE_TYPE == 'postgres' || DATABASE_TYPE == 'mysql' || DATABASE_TYPE == 'mariadb' ? undefined : 10
209
215
  })
210
216
  public action!: HistoryActionType
211
217
  }
@@ -1,2 +0,0 @@
1
- import { ActivityInstance } from '@things-factory/worklist';
2
- export declare function issueCollectData(domainId: string, dataSetId: string, context: ResolverContext): Promise<ActivityInstance | void>;
@@ -1,54 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.issueCollectData = issueCollectData;
4
- const typeorm_1 = require("typeorm");
5
- const shell_1 = require("@things-factory/shell");
6
- const worklist_1 = require("@things-factory/worklist");
7
- const data_set_1 = require("../service/data-set/data-set");
8
- async function issueCollectData(domainId, dataSetId, context) {
9
- await (0, shell_1.getDataSource)().transaction(async (tx) => {
10
- const domain = await tx.getRepository(shell_1.Domain).findOneBy({ id: domainId });
11
- if (!domain) {
12
- throw new Error(`domain(${domainId}) not found`);
13
- }
14
- const dataSet = await tx.getRepository(data_set_1.DataSet).findOne({
15
- where: {
16
- domain: {
17
- id: (0, typeorm_1.In)([domain.id, domain.parentId].filter(Boolean))
18
- },
19
- id: dataSetId
20
- }
21
- });
22
- const activity = (await tx.getRepository(worklist_1.Activity).findOneBy({
23
- domain: { id: (0, typeorm_1.In)([domain.id, domain.parentId].filter(Boolean)) },
24
- name: 'Collect Data'
25
- }));
26
- if (activity) {
27
- const { assignees } = dataSet;
28
- /* 해당 dataset에 대한 데이타 수집 태스크를 dataset assignees에게 할당한다. */
29
- if (assignees && assignees instanceof Array && assignees.length > 0) {
30
- const activityInstance = {
31
- name: `[Data 수집] ${dataSet.name}`,
32
- description: dataSet.description,
33
- activityId: activity.id,
34
- dueAt: new Date(Date.now() + 24 * 60 * 60 * 1000),
35
- input: {
36
- dataSetId: dataSet.id,
37
- dataSetName: dataSet.name
38
- },
39
- assignees
40
- };
41
- context.state = Object.assign(Object.assign({}, context.state), { domain,
42
- tx });
43
- return await (0, worklist_1.issue)(activityInstance, context);
44
- }
45
- else {
46
- throw new Error(`Assignees not set. So Data Collect Activity for ${dataSet.name}($dataSet.id) could not be issued.`);
47
- }
48
- }
49
- else {
50
- throw new Error(`Data Collect Activity is not installed.`);
51
- }
52
- });
53
- }
54
- //# sourceMappingURL=issue-collect-data.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"issue-collect-data.js","sourceRoot":"","sources":["../../server/controllers/issue-collect-data.ts"],"names":[],"mappings":";;AAOA,4CA2DC;AAlED,qCAA4B;AAE5B,iDAA6D;AAC7D,uDAA4E;AAE5E,2DAAsD;AAE/C,KAAK,UAAU,gBAAgB,CACpC,QAAgB,EAChB,SAAiB,EACjB,OAAwB;IAExB,MAAM,IAAA,qBAAa,GAAE,CAAC,WAAW,CAAC,KAAK,EAAC,EAAE,EAAC,EAAE;QAC3C,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,cAAM,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;QAEzE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,UAAU,QAAQ,aAAa,CAAC,CAAA;QAClD,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,kBAAO,CAAC,CAAC,OAAO,CAAC;YACtD,KAAK,EAAE;gBACL,MAAM,EAAE;oBACN,EAAE,EAAE,IAAA,YAAE,EAAC,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;iBACrD;gBACD,EAAE,EAAE,SAAS;aACd;SACF,CAAC,CAAA;QAEF,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC,aAAa,CAAC,mBAAQ,CAAC,CAAC,SAAS,CAAC;YAC3D,MAAM,EAAE,EAAE,EAAE,EAAE,IAAA,YAAE,EAAC,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE;YAChE,IAAI,EAAE,cAAc;SACrB,CAAC,CAAa,CAAA;QAEf,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAA;YAE7B,0DAA0D;YAC1D,IAAI,SAAS,IAAI,SAAS,YAAY,KAAK,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpE,MAAM,gBAAgB,GAAG;oBACvB,IAAI,EAAE,aAAa,OAAO,CAAC,IAAI,EAAE;oBACjC,WAAW,EAAE,OAAO,CAAC,WAAW;oBAChC,UAAU,EAAE,QAAQ,CAAC,EAAE;oBACvB,KAAK,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;oBACjD,KAAK,EAAE;wBACL,SAAS,EAAE,OAAO,CAAC,EAAE;wBACrB,WAAW,EAAE,OAAO,CAAC,IAAI;qBAC1B;oBACD,SAAS;iBACV,CAAA;gBAED,OAAO,CAAC,KAAK,mCACR,OAAO,CAAC,KAAK,KAChB,MAAM;oBACN,EAAE,GACH,CAAA;gBAED,OAAO,MAAM,IAAA,gBAAK,EAAC,gBAAgB,EAAE,OAAO,CAAC,CAAA;YAC/C,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CACb,mDAAmD,OAAO,CAAC,IAAI,oCAAoC,CACpG,CAAA;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;QAC5D,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC","sourcesContent":["import { In } from 'typeorm'\n\nimport { Domain, getDataSource } from '@things-factory/shell'\nimport { Activity, ActivityInstance, issue } from '@things-factory/worklist'\n\nimport { DataSet } from '../service/data-set/data-set'\n\nexport async function issueCollectData(\n domainId: string,\n dataSetId: string,\n context: ResolverContext\n): Promise<ActivityInstance | void> {\n await getDataSource().transaction(async tx => {\n const domain = await tx.getRepository(Domain).findOneBy({ id: domainId })\n\n if (!domain) {\n throw new Error(`domain(${domainId}) not found`)\n }\n\n const dataSet = await tx.getRepository(DataSet).findOne({\n where: {\n domain: {\n id: In([domain.id, domain.parentId].filter(Boolean))\n },\n id: dataSetId\n }\n })\n\n const activity = (await tx.getRepository(Activity).findOneBy({\n domain: { id: In([domain.id, domain.parentId].filter(Boolean)) },\n name: 'Collect Data'\n })) as Activity\n\n if (activity) {\n const { assignees } = dataSet\n\n /* 해당 dataset에 대한 데이타 수집 태스크를 dataset assignees에게 할당한다. */\n if (assignees && assignees instanceof Array && assignees.length > 0) {\n const activityInstance = {\n name: `[Data 수집] ${dataSet.name}`,\n description: dataSet.description,\n activityId: activity.id,\n dueAt: new Date(Date.now() + 24 * 60 * 60 * 1000),\n input: {\n dataSetId: dataSet.id,\n dataSetName: dataSet.name\n },\n assignees\n }\n\n context.state = {\n ...context.state,\n domain,\n tx\n }\n\n return await issue(activityInstance, context)\n } else {\n throw new Error(\n `Assignees not set. So Data Collect Activity for ${dataSet.name}($dataSet.id) could not be issued.`\n )\n }\n } else {\n throw new Error(`Data Collect Activity is not installed.`)\n }\n })\n}\n"]}