@things-factory/dataset 7.0.0-alpha.6 → 7.0.0-alpha.8

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.
Files changed (136) hide show
  1. package/client/activities/activity-data-collect-view.ts +7 -0
  2. package/client/activities/activity-data-review-edit.ts +66 -4
  3. package/client/activities/activity-data-review-view.ts +78 -4
  4. package/client/activities/activity-ooc-resolve-view.ts +12 -0
  5. package/client/activities/activity-ooc-review-view.ts +12 -0
  6. package/client/pages/data-ooc/data-ooc-list-page.ts +50 -21
  7. package/client/pages/data-ooc/data-ooc-page.ts +44 -0
  8. package/client/pages/data-ooc/data-ooc-view.ts +158 -19
  9. package/client/pages/data-ooc/data-oocs-page.ts +71 -3
  10. package/client/pages/data-sample/data-sample-list-page.ts +33 -16
  11. package/client/pages/data-sample/data-sample-page.ts +7 -0
  12. package/client/pages/data-sample/data-sample-search-page.ts +12 -12
  13. package/client/pages/data-sample/data-sample-view.ts +145 -22
  14. package/client/pages/data-sample/data-samples-page.ts +133 -5
  15. package/client/pages/data-sensor/data-sensor-list-page.ts +28 -6
  16. package/client/pages/data-set/data-item-list.ts +2 -2
  17. package/client/pages/data-summary/data-summary-list-page.ts +12 -24
  18. package/dist-client/activities/activity-data-collect-view.js +7 -0
  19. package/dist-client/activities/activity-data-collect-view.js.map +1 -1
  20. package/dist-client/activities/activity-data-review-edit.d.ts +1 -1
  21. package/dist-client/activities/activity-data-review-edit.js +63 -5
  22. package/dist-client/activities/activity-data-review-edit.js.map +1 -1
  23. package/dist-client/activities/activity-data-review-view.d.ts +1 -1
  24. package/dist-client/activities/activity-data-review-view.js +75 -5
  25. package/dist-client/activities/activity-data-review-view.js.map +1 -1
  26. package/dist-client/activities/activity-ooc-resolve-view.js +12 -0
  27. package/dist-client/activities/activity-ooc-resolve-view.js.map +1 -1
  28. package/dist-client/activities/activity-ooc-review-view.js +12 -0
  29. package/dist-client/activities/activity-ooc-review-view.js.map +1 -1
  30. package/dist-client/pages/data-ooc/data-ooc-list-page.js +50 -21
  31. package/dist-client/pages/data-ooc/data-ooc-list-page.js.map +1 -1
  32. package/dist-client/pages/data-ooc/data-ooc-page.js +44 -0
  33. package/dist-client/pages/data-ooc/data-ooc-page.js.map +1 -1
  34. package/dist-client/pages/data-ooc/data-ooc-view.d.ts +6 -3
  35. package/dist-client/pages/data-ooc/data-ooc-view.js +155 -22
  36. package/dist-client/pages/data-ooc/data-ooc-view.js.map +1 -1
  37. package/dist-client/pages/data-ooc/data-oocs-page.d.ts +1 -0
  38. package/dist-client/pages/data-ooc/data-oocs-page.js +71 -3
  39. package/dist-client/pages/data-ooc/data-oocs-page.js.map +1 -1
  40. package/dist-client/pages/data-sample/data-sample-list-page.js +33 -16
  41. package/dist-client/pages/data-sample/data-sample-list-page.js.map +1 -1
  42. package/dist-client/pages/data-sample/data-sample-page.js +7 -0
  43. package/dist-client/pages/data-sample/data-sample-page.js.map +1 -1
  44. package/dist-client/pages/data-sample/data-sample-search-page.js +12 -12
  45. package/dist-client/pages/data-sample/data-sample-search-page.js.map +1 -1
  46. package/dist-client/pages/data-sample/data-sample-view.d.ts +18 -0
  47. package/dist-client/pages/data-sample/data-sample-view.js +144 -21
  48. package/dist-client/pages/data-sample/data-sample-view.js.map +1 -1
  49. package/dist-client/pages/data-sample/data-samples-page.d.ts +2 -0
  50. package/dist-client/pages/data-sample/data-samples-page.js +134 -5
  51. package/dist-client/pages/data-sample/data-samples-page.js.map +1 -1
  52. package/dist-client/pages/data-sensor/data-sensor-list-page.js +28 -6
  53. package/dist-client/pages/data-sensor/data-sensor-list-page.js.map +1 -1
  54. package/dist-client/pages/data-set/data-item-list.js +2 -2
  55. package/dist-client/pages/data-set/data-item-list.js.map +1 -1
  56. package/dist-client/pages/data-summary/data-summary-list-page.js +12 -21
  57. package/dist-client/pages/data-summary/data-summary-list-page.js.map +1 -1
  58. package/dist-client/tsconfig.tsbuildinfo +1 -1
  59. package/dist-server/activities/activity-data-collect.js.map +1 -1
  60. package/dist-server/activities/activity-data-review.js.map +1 -1
  61. package/dist-server/activities/activity-ooc-review.js +3 -2
  62. package/dist-server/activities/activity-ooc-review.js.map +1 -1
  63. package/dist-server/controllers/create-data-sample.js +27 -29
  64. package/dist-server/controllers/create-data-sample.js.map +1 -1
  65. package/dist-server/controllers/issue-collect-data.js +55 -0
  66. package/dist-server/controllers/issue-collect-data.js.map +1 -0
  67. package/dist-server/engine/index.js +4 -0
  68. package/dist-server/engine/index.js.map +1 -0
  69. package/dist-server/engine/task/create-data-sample.js +80 -0
  70. package/dist-server/engine/task/create-data-sample.js.map +1 -0
  71. package/dist-server/engine/task/index.js +5 -0
  72. package/dist-server/engine/task/index.js.map +1 -0
  73. package/dist-server/engine/task/issue-collect-data.js +40 -0
  74. package/dist-server/engine/task/issue-collect-data.js.map +1 -0
  75. package/dist-server/index.js +1 -0
  76. package/dist-server/index.js.map +1 -1
  77. package/dist-server/routes.js +36 -65
  78. package/dist-server/routes.js.map +1 -1
  79. package/dist-server/service/data-ooc/data-ooc-query.js +32 -0
  80. package/dist-server/service/data-ooc/data-ooc-query.js.map +1 -1
  81. package/dist-server/service/data-ooc/data-ooc.js +15 -26
  82. package/dist-server/service/data-ooc/data-ooc.js.map +1 -1
  83. package/dist-server/service/data-sample/data-sample-query.js +24 -0
  84. package/dist-server/service/data-sample/data-sample-query.js.map +1 -1
  85. package/dist-server/service/data-sample/data-sample.js +17 -21
  86. package/dist-server/service/data-sample/data-sample.js.map +1 -1
  87. package/dist-server/service/data-sensor/data-sensor-query.js +16 -1
  88. package/dist-server/service/data-sensor/data-sensor-query.js.map +1 -1
  89. package/dist-server/service/data-sensor/data-sensor-type.js +8 -0
  90. package/dist-server/service/data-sensor/data-sensor-type.js.map +1 -1
  91. package/dist-server/service/data-sensor/data-sensor.js +15 -1
  92. package/dist-server/service/data-sensor/data-sensor.js.map +1 -1
  93. package/dist-server/service/data-set/data-item-type.js +1 -0
  94. package/dist-server/service/data-set/data-item-type.js.map +1 -1
  95. package/dist-server/service/data-set/data-set-query.js +2 -2
  96. package/dist-server/service/data-set/data-set-query.js.map +1 -1
  97. package/dist-server/service/data-summary/data-summary.js +8 -8
  98. package/dist-server/service/data-summary/data-summary.js.map +1 -1
  99. package/dist-server/tsconfig.tsbuildinfo +1 -1
  100. package/helps/dataset/task/create-data-sample.ja.md +28 -0
  101. package/helps/dataset/task/create-data-sample.ko.md +28 -0
  102. package/helps/dataset/task/create-data-sample.md +28 -0
  103. package/helps/dataset/task/create-data-sample.ms.md +30 -0
  104. package/helps/dataset/task/create-data-sample.zh.md +28 -0
  105. package/helps/dataset/task/issue-collect-data.ja.md +35 -0
  106. package/helps/dataset/task/issue-collect-data.ko.md +32 -0
  107. package/helps/dataset/task/issue-collect-data.md +32 -0
  108. package/helps/dataset/task/issue-collect-data.ms.md +34 -0
  109. package/helps/dataset/task/issue-collect-data.zh.md +32 -0
  110. package/package.json +11 -11
  111. package/server/activities/activity-data-collect.ts +3 -11
  112. package/server/activities/activity-data-review.ts +1 -5
  113. package/server/activities/activity-ooc-review.ts +6 -16
  114. package/server/controllers/create-data-sample.ts +31 -38
  115. package/server/controllers/issue-collect-data.ts +61 -0
  116. package/server/engine/index.ts +1 -0
  117. package/server/engine/task/create-data-sample.ts +92 -0
  118. package/server/engine/task/index.ts +2 -0
  119. package/server/engine/task/issue-collect-data.ts +45 -0
  120. package/server/index.ts +1 -0
  121. package/server/routes.ts +47 -76
  122. package/server/service/data-ooc/data-ooc-query.ts +17 -0
  123. package/server/service/data-ooc/data-ooc.ts +17 -28
  124. package/server/service/data-sample/data-sample-query.ts +17 -17
  125. package/server/service/data-sample/data-sample.ts +18 -23
  126. package/server/service/data-sensor/data-sensor-query.ts +13 -1
  127. package/server/service/data-sensor/data-sensor-type.ts +6 -0
  128. package/server/service/data-sensor/data-sensor.ts +13 -11
  129. package/server/service/data-set/data-item-type.ts +1 -0
  130. package/server/service/data-set/data-set-query.ts +7 -7
  131. package/server/service/data-summary/data-summary.ts +10 -23
  132. package/translations/en.json +14 -2
  133. package/translations/ja.json +11 -1
  134. package/translations/ko.json +13 -1
  135. package/translations/ms.json +10 -0
  136. package/translations/zh.json +11 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"issue-collect-data.js","sourceRoot":"","sources":["../../../server/engine/task/issue-collect-data.ts"],"names":[],"mappings":";;;AAAA,uEAAmF;AACnF,6EAAuE;AACvE,8DAA6B;AAE7B,KAAK,UAAU,gBAAgB,CAAC,IAAe,EAAE,OAAgB;IAC/D,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAA;IACnD,IAAI,EACF,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,EAC/B,GAAG,IAAI,CAAA;IAER,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;KACpC;IAED,MAAM,gBAAgB,GAAG,MAAM,IAAA,qCAAgB,EAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE;QACpE,CAAC,EAAE,iBAAO,CAAC,CAAC;QACZ,KAAK,EAAE;YACL,MAAM;YACN,IAAI;YACJ,GAAG;YACH,EAAE,EAAE,SAAS;SACd;KACF,CAAC,CAAA;IAEF,OAAO;QACL,IAAI,EAAE,gBAAgB;KACvB,CAAA;AACH,CAAC;AAED,gBAAgB,CAAC,aAAa,GAAG;IAC/B;QACE,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,UAAU;QACjB,QAAQ,EAAE;YACR,SAAS,EAAE,UAAU;YACrB,QAAQ,EAAE,IAAI;SACf;KACF;CACF,CAAA;AAED,gBAAgB,CAAC,aAAa,GAAG,IAAI,CAAA;AACrC,gBAAgB,CAAC,IAAI,GAAG,iCAAiC,CAAA;AAEzD,+BAAY,CAAC,mBAAmB,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,CAAA","sourcesContent":["import { TaskRegistry, InputStep, Context } from '@things-factory/integration-base'\nimport { issueCollectData } from '../../controllers/issue-collect-data'\nimport i18next from 'i18next'\n\nasync function IssueCollectData(step: InputStep, context: Context) {\n const { logger, data, domain, user, lng } = context\n var {\n params: { dataset: dataSetId }\n } = step\n\n if (!dataSetId) {\n throw new Error(`no dataset found`)\n }\n\n const activityInstance = await issueCollectData(domain.id, dataSetId, {\n t: i18next.t,\n state: {\n domain,\n user,\n lng,\n tx: undefined\n }\n })\n\n return {\n data: activityInstance\n }\n}\n\nIssueCollectData.parameterSpec = [\n {\n type: 'entity-selector',\n name: 'dataset',\n label: 'data-set',\n property: {\n queryName: 'dataSets',\n valueKey: 'id'\n }\n }\n]\n\nIssueCollectData.connectorFree = true\nIssueCollectData.help = 'dataset/task/issue-collect-data'\n\nTaskRegistry.registerTaskHandler('issue-collect-data', IssueCollectData)\n"]}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  require("./routes");
5
5
  require("./activities");
6
+ require("./engine");
6
7
  tslib_1.__exportStar(require("./controllers"), exports);
7
8
  tslib_1.__exportStar(require("./service"), exports);
8
9
  tslib_1.__exportStar(require("./service/data-spec/data-spec-manager"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../server/index.ts"],"names":[],"mappings":";;;AAAA,oBAAiB;AACjB,wBAAqB;AAErB,wDAA6B;AAC7B,oDAAyB;AAEzB,gFAAqD","sourcesContent":["import './routes'\nimport './activities'\n\nexport * from './controllers'\nexport * from './service'\n\nexport * from './service/data-spec/data-spec-manager'\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../server/index.ts"],"names":[],"mappings":";;;AAAA,oBAAiB;AACjB,wBAAqB;AACrB,oBAAiB;AAEjB,wDAA6B;AAC7B,oDAAyB;AAEzB,gFAAqD","sourcesContent":["import './routes'\nimport './activities'\nimport './engine'\n\nexport * from './controllers'\nexport * from './service'\n\nexport * from './service/data-spec/data-spec-manager'\n"]}
@@ -2,12 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const typeorm_1 = require("typeorm");
4
4
  const shell_1 = require("@things-factory/shell");
5
- const auth_base_1 = require("@things-factory/auth-base");
6
- const worklist_1 = require("@things-factory/worklist");
7
- const issue_1 = require("@things-factory/worklist/dist-server/controllers/activity-instance/issue");
5
+ const integration_base_1 = require("@things-factory/integration-base");
8
6
  const create_data_sample_1 = require("./controllers/create-data-sample");
9
7
  const jasper_report_1 = require("./controllers/jasper-report");
10
8
  const shiny_report_1 = require("./controllers/shiny-report");
9
+ const issue_collect_data_1 = require("./controllers/issue-collect-data");
11
10
  const data_sensor_1 = require("./service/data-sensor/data-sensor");
12
11
  const data_set_1 = require("./service/data-set/data-set");
13
12
  process.on('bootstrap-module-global-public-route', (app, globalPublicRouter) => {
@@ -20,15 +19,16 @@ process.on('bootstrap-module-global-public-route', (app, globalPublicRouter) =>
20
19
  globalPublicRouter.post('/sensor-data', async (context, next) => {
21
20
  // 데이타 검증
22
21
  const { deviceId, data, rawData, timestamp = Date.now() } = context.request.body;
23
- if (!deviceId || !data) {
24
- throw new Error(`deviceId(${deviceId}) and data(${JSON.stringify(data)}) properties are mandatory`);
22
+ if (!deviceId) {
23
+ throw new Error(`The deviceId(${deviceId}) property are mandatory`);
25
24
  }
26
25
  // make new data-sample
27
26
  await (0, shell_1.getDataSource)().transaction(async (tx) => {
27
+ var _a;
28
28
  // find sensor through deviceId
29
29
  const sensor = await tx.getRepository(data_sensor_1.DataSensor).findOne({
30
30
  where: { deviceId },
31
- relations: ['domain', 'appliance', 'dataSet']
31
+ relations: ['domain', 'appliance', 'dataSet', 'decoder']
32
32
  });
33
33
  if (!sensor) {
34
34
  throw new Error(`Sensor having given deviceId(${deviceId}) not found`);
@@ -39,28 +39,39 @@ process.on('bootstrap-module-global-public-route', (app, globalPublicRouter) =>
39
39
  if (!sensor.appliance) {
40
40
  throw new Error(`Appliance of the sensor given deviceId(${deviceId}) is not set up`);
41
41
  }
42
- if (!sensor.dataSet) {
43
- throw new Error(`DataSet of the sensor given deviceId(${deviceId}) is not set up`);
44
- }
42
+ // if (!sensor.dataSet) {
43
+ // throw new Error(`DataSet of the sensor given deviceId(${deviceId}) is not set up`)
44
+ // }
45
45
  const domain = sensor.domain;
46
46
  const dataSet = sensor.dataSet;
47
- const user = await tx.getRepository(auth_base_1.User).findOne({
48
- where: {
49
- reference: sensor.appliance.id,
50
- userType: 'appliance'
51
- }
52
- });
47
+ // const user: User = await tx.getRepository(User).findOne({
48
+ // where: {
49
+ // reference: sensor.appliance.id,
50
+ // userType: 'appliance'
51
+ // }
52
+ // })
53
53
  context.state = Object.assign(Object.assign({}, context.state), { domain,
54
54
  tx });
55
- return await (0, create_data_sample_1.createDataSample)({
56
- dataSet,
57
- data,
58
- rawData,
59
- source: deviceId,
60
- collectedAt: new Date(timestamp)
61
- }, context);
55
+ var decoded;
56
+ if (sensor.decoder) {
57
+ const { name: scenarioName } = sensor.decoder;
58
+ const variables = {
59
+ dataSensor: sensor,
60
+ source: deviceId,
61
+ data,
62
+ rawData,
63
+ timestamp
64
+ };
65
+ decoded = (_a = (await (0, integration_base_1.runScenario)(null, scenarioName, variables, context))) === null || _a === void 0 ? void 0 : _a.result;
66
+ }
67
+ if (dataSet) {
68
+ await (0, create_data_sample_1.createDataSample)(Object.assign({ dataSet,
69
+ data,
70
+ rawData, source: deviceId, collectedAt: new Date(timestamp) }, decoded), context);
71
+ }
72
+ context.status = 200;
73
+ context.body = Object.assign({ data }, decoded);
62
74
  });
63
- context.status = 200;
64
75
  });
65
76
  /* When a callback occurs from the scheduler when a scheduled dataset is on schedule, data collection task for the dataset should be issued. */
66
77
  globalPublicRouter.post('/callback-schedule-for-dataset', async (context, next) => {
@@ -72,45 +83,7 @@ process.on('bootstrap-module-global-public-route', (app, globalPublicRouter) =>
72
83
  if (!domainId || !dataSetId) {
73
84
  throw new Error(`group(${domainId}) and key(${dataSetId}) properties should not be empty`);
74
85
  }
75
- await (0, shell_1.getDataSource)().transaction(async (tx) => {
76
- const domain = await tx.getRepository(shell_1.Domain).findOneBy({ id: domainId });
77
- if (!domain) {
78
- throw new Error(`domain(${domainId}) not found`);
79
- }
80
- const dataSet = await tx
81
- .getRepository(data_set_1.DataSet)
82
- .findOne({ where: { domain: { id: (0, typeorm_1.In)([domain.id, domain.parentId].filter(Boolean)) }, id: dataSetId } });
83
- const activity = (await tx.getRepository(worklist_1.Activity).findOneBy({
84
- domain: { id: domainId },
85
- name: 'Collect Data'
86
- }));
87
- if (activity) {
88
- const { assignees } = dataSet;
89
- /* 해당 dataset에 대한 데이타 수집 태스크를 dataset assignees에게 할당한다. */
90
- if (assignees && assignees instanceof Array && assignees.length > 0) {
91
- const activityInstance = {
92
- name: `[Data 수집] ${dataSet.name}`,
93
- description: dataSet.description,
94
- activityId: activity.id,
95
- dueAt: new Date(Date.now() + 24 * 60 * 60 * 1000),
96
- input: {
97
- dataSetId: dataSet.id,
98
- dataSetName: dataSet.name
99
- },
100
- assignees
101
- };
102
- context.state = Object.assign(Object.assign({}, context.state), { domain,
103
- tx });
104
- await (0, issue_1.issue)(activityInstance, context);
105
- }
106
- else {
107
- throw new Error(`Assignees not set. So Data Collect Activity for ${dataSet.name}($dataSet.id) could not be issued.`);
108
- }
109
- }
110
- else {
111
- throw new Error(`Data Collect Activity is not installed.`);
112
- }
113
- });
86
+ await (0, issue_collect_data_1.issueCollectData)(domainId, dataSetId, context);
114
87
  context.status = 200;
115
88
  });
116
89
  /* When a callback occurs from the scheduler when a scheduled summary is on schedule, data summary procedure for the dataset should be executed. */
@@ -128,9 +101,7 @@ process.on('bootstrap-module-global-public-route', (app, globalPublicRouter) =>
128
101
  if (!domain) {
129
102
  throw new Error(`domain(${domainId}) not found`);
130
103
  }
131
- const dataSet = await tx
132
- .getRepository(data_set_1.DataSet)
133
- .findOne({ where: { domain: { id: (0, typeorm_1.In)([domain.id, domain.parentId].filter(Boolean)) }, id: dataSetId } });
104
+ const dataSet = await tx.getRepository(data_set_1.DataSet).findOne({ where: { domain: { id: (0, typeorm_1.In)([domain.id, domain.parentId].filter(Boolean)) }, id: dataSetId } });
134
105
  // do what you gotta do
135
106
  });
136
107
  context.status = 200;
@@ -1 +1 @@
1
- {"version":3,"file":"routes.js","sourceRoot":"","sources":["../server/routes.ts"],"names":[],"mappings":"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","sourcesContent":["import { In } from 'typeorm'\n\nimport { Domain, getDataSource } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\nimport { Activity } from '@things-factory/worklist'\nimport { issue } from '@things-factory/worklist/dist-server/controllers/activity-instance/issue'\nimport { ScheduleRegisterRequest } from '@things-factory/scheduler-client'\n\nimport { createDataSample } from './controllers/create-data-sample'\nimport { renderJasperReport } from './controllers/jasper-report'\nimport { renderShinyReport } from './controllers/shiny-report'\nimport { DataSensor } from './service/data-sensor/data-sensor'\nimport { DataSet } from './service/data-set/data-set'\n\nprocess.on('bootstrap-module-global-public-route' as any, (app, globalPublicRouter) => {\n /*\n * can add global public routes to application (auth not required, tenancy not required)\n *\n * ex) routes.get('/path', async(context, next) => {})\n * ex) routes.post('/path', async(context, next) => {})\n */\n\n globalPublicRouter.post('/sensor-data', async (context, next) => {\n // 데이타 검증\n const { deviceId, data, rawData, timestamp = Date.now() } = context.request.body\n if (!deviceId || !data) {\n throw new Error(`deviceId(${deviceId}) and data(${JSON.stringify(data)}) properties are mandatory`)\n }\n\n // make new data-sample\n await getDataSource().transaction(async tx => {\n // find sensor through deviceId\n const sensor = await tx.getRepository(DataSensor).findOne({\n where: { deviceId },\n relations: ['domain', 'appliance', 'dataSet']\n })\n\n if (!sensor) {\n throw new Error(`Sensor having given deviceId(${deviceId}) not found`)\n }\n\n if (!sensor.active) {\n throw new Error(`State of the sensor given deviceId(${deviceId}) is not active`)\n }\n\n if (!sensor.appliance) {\n throw new Error(`Appliance of the sensor given deviceId(${deviceId}) is not set up`)\n }\n\n if (!sensor.dataSet) {\n throw new Error(`DataSet of the sensor given deviceId(${deviceId}) is not set up`)\n }\n\n const domain = sensor.domain\n const dataSet = sensor.dataSet\n const user: User = await tx.getRepository(User).findOne({\n where: {\n reference: sensor.appliance.id,\n userType: 'appliance'\n }\n })\n\n context.state = {\n ...context.state,\n domain,\n tx\n }\n\n return await createDataSample(\n {\n dataSet,\n data,\n rawData,\n source: deviceId,\n collectedAt: new Date(timestamp)\n },\n context\n )\n })\n\n context.status = 200\n })\n\n /* When a callback occurs from the scheduler when a scheduled dataset is on schedule, data collection task for the dataset should be issued. */\n globalPublicRouter.post('/callback-schedule-for-dataset', async (context, next) => {\n const { client } = context.request.body as ScheduleRegisterRequest\n\n if (!client || typeof client !== 'object') {\n throw new Error('client property should be a part of callback body.')\n }\n\n const { group: domainId, key: dataSetId } = client\n\n if (!domainId || !dataSetId) {\n throw new Error(`group(${domainId}) and key(${dataSetId}) properties should not be empty`)\n }\n\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\n .getRepository(DataSet)\n .findOne({ where: { domain: { id: In([domain.id, domain.parentId].filter(Boolean)) }, id: dataSetId } })\n\n const activity = (await tx.getRepository(Activity).findOneBy({\n domain: { id: domainId },\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 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 context.status = 200\n })\n\n /* When a callback occurs from the scheduler when a scheduled summary is on schedule, data summary procedure for the dataset should be executed. */\n globalPublicRouter.post('/callback-schedule-for-data-summary', async (context, next) => {\n const { client } = context.request.body as ScheduleRegisterRequest\n\n if (!client || typeof client !== 'object') {\n throw new Error('client property should be a part of callback body.')\n }\n\n const { group: domainId, key: dataSetId } = client\n\n if (!domainId || !dataSetId) {\n throw new Error(`group(${domainId}) and key(${dataSetId}) properties should not be empty`)\n }\n\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\n .getRepository(DataSet)\n .findOne({ where: { domain: { id: In([domain.id, domain.parentId].filter(Boolean)) }, id: dataSetId } })\n\n // do what you gotta do\n })\n\n context.status = 200\n })\n})\n\nprocess.on('bootstrap-module-global-private-route' as any, (app, globalPrivateRouter) => {\n /*\n * can add global private routes to application (auth required, tenancy not required)\n */\n})\n\nprocess.on('bootstrap-module-domain-public-route' as any, (app, domainPublicRouter) => {\n /*\n * can add domain public routes to application (auth not required, tenancy required)\n */\n})\n\nprocess.on('bootstrap-module-domain-private-route' as any, (app, domainPrivateRouter) => {\n /*\n * can add domain private routes to application (auth required, tenancy required)\n */\n domainPrivateRouter.get('/data-report/jasper', async (context, next) => {\n context.body = await renderJasperReport(context)\n })\n\n domainPrivateRouter.get('/data-report/shiny', async (context, next) => {\n await renderShinyReport(context)\n })\n\n domainPrivateRouter.get('/data-report/:reportType', async (context, next) => {\n let { reportType } = context.params\n context.body = `${reportType} Not Implemented.`\n })\n})\n"]}
1
+ {"version":3,"file":"routes.js","sourceRoot":"","sources":["../server/routes.ts"],"names":[],"mappings":"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","sourcesContent":["import { In } from 'typeorm'\n\nimport { Domain, getDataSource } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\nimport { runScenario } from '@things-factory/integration-base'\nimport { ScheduleRegisterRequest } from '@things-factory/scheduler-client'\n\nimport { createDataSample } from './controllers/create-data-sample'\nimport { renderJasperReport } from './controllers/jasper-report'\nimport { renderShinyReport } from './controllers/shiny-report'\nimport { issueCollectData } from './controllers/issue-collect-data'\nimport { DataSensor } from './service/data-sensor/data-sensor'\nimport { DataSet } from './service/data-set/data-set'\n\nprocess.on('bootstrap-module-global-public-route' as any, (app, globalPublicRouter) => {\n /*\n * can add global public routes to application (auth not required, tenancy not required)\n *\n * ex) routes.get('/path', async(context, next) => {})\n * ex) routes.post('/path', async(context, next) => {})\n */\n\n globalPublicRouter.post('/sensor-data', async (context, next) => {\n // 데이타 검증\n const { deviceId, data, rawData, timestamp = Date.now() } = context.request.body\n if (!deviceId) {\n throw new Error(`The deviceId(${deviceId}) property are mandatory`)\n }\n\n // make new data-sample\n await getDataSource().transaction(async tx => {\n // find sensor through deviceId\n const sensor = await tx.getRepository(DataSensor).findOne({\n where: { deviceId },\n relations: ['domain', 'appliance', 'dataSet', 'decoder']\n })\n\n if (!sensor) {\n throw new Error(`Sensor having given deviceId(${deviceId}) not found`)\n }\n\n if (!sensor.active) {\n throw new Error(`State of the sensor given deviceId(${deviceId}) is not active`)\n }\n\n if (!sensor.appliance) {\n throw new Error(`Appliance of the sensor given deviceId(${deviceId}) is not set up`)\n }\n\n // if (!sensor.dataSet) {\n // throw new Error(`DataSet of the sensor given deviceId(${deviceId}) is not set up`)\n // }\n\n const domain = sensor.domain\n const dataSet = sensor.dataSet\n // const user: User = await tx.getRepository(User).findOne({\n // where: {\n // reference: sensor.appliance.id,\n // userType: 'appliance'\n // }\n // })\n\n context.state = {\n ...context.state,\n domain,\n tx\n }\n\n var decoded\n if (sensor.decoder) {\n const { name: scenarioName } = sensor.decoder\n const variables = {\n dataSensor: sensor,\n source: deviceId,\n data,\n rawData,\n timestamp\n }\n\n decoded = (await runScenario(null, scenarioName, variables, context))?.result\n }\n\n if (dataSet) {\n await createDataSample(\n {\n dataSet,\n data,\n rawData,\n source: deviceId,\n collectedAt: new Date(timestamp),\n ...decoded\n },\n context\n )\n }\n\n context.status = 200\n context.body = {\n data,\n ...decoded\n }\n })\n })\n\n /* When a callback occurs from the scheduler when a scheduled dataset is on schedule, data collection task for the dataset should be issued. */\n globalPublicRouter.post('/callback-schedule-for-dataset', async (context, next) => {\n const { client } = context.request.body as ScheduleRegisterRequest\n\n if (!client || typeof client !== 'object') {\n throw new Error('client property should be a part of callback body.')\n }\n\n const { group: domainId, key: dataSetId } = client\n\n if (!domainId || !dataSetId) {\n throw new Error(`group(${domainId}) and key(${dataSetId}) properties should not be empty`)\n }\n\n await issueCollectData(domainId, dataSetId, context)\n\n context.status = 200\n })\n\n /* When a callback occurs from the scheduler when a scheduled summary is on schedule, data summary procedure for the dataset should be executed. */\n globalPublicRouter.post('/callback-schedule-for-data-summary', async (context, next) => {\n const { client } = context.request.body as ScheduleRegisterRequest\n\n if (!client || typeof client !== 'object') {\n throw new Error('client property should be a part of callback body.')\n }\n\n const { group: domainId, key: dataSetId } = client\n\n if (!domainId || !dataSetId) {\n throw new Error(`group(${domainId}) and key(${dataSetId}) properties should not be empty`)\n }\n\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({ where: { domain: { id: In([domain.id, domain.parentId].filter(Boolean)) }, id: dataSetId } })\n\n // do what you gotta do\n })\n\n context.status = 200\n })\n})\n\nprocess.on('bootstrap-module-global-private-route' as any, (app, globalPrivateRouter) => {\n /*\n * can add global private routes to application (auth required, tenancy not required)\n */\n})\n\nprocess.on('bootstrap-module-domain-public-route' as any, (app, domainPublicRouter) => {\n /*\n * can add domain public routes to application (auth not required, tenancy required)\n */\n})\n\nprocess.on('bootstrap-module-domain-private-route' as any, (app, domainPrivateRouter) => {\n /*\n * can add domain private routes to application (auth required, tenancy required)\n */\n domainPrivateRouter.get('/data-report/jasper', async (context, next) => {\n context.body = await renderJasperReport(context)\n })\n\n domainPrivateRouter.get('/data-report/shiny', async (context, next) => {\n await renderShinyReport(context)\n })\n\n domainPrivateRouter.get('/data-report/:reportType', async (context, next) => {\n let { reportType } = context.params\n context.body = `${reportType} Not Implemented.`\n })\n})\n"]}
@@ -5,9 +5,11 @@ const tslib_1 = require("tslib");
5
5
  const type_graphql_1 = require("type-graphql");
6
6
  const auth_base_1 = require("@things-factory/auth-base");
7
7
  const shell_1 = require("@things-factory/shell");
8
+ const worklist_1 = require("@things-factory/worklist");
8
9
  const data_set_history_1 = require("../data-set-history/data-set-history");
9
10
  const data_item_type_1 = require("../data-set/data-item-type");
10
11
  const data_set_1 = require("../data-set/data-set");
12
+ const data_sample_1 = require("../data-sample/data-sample");
11
13
  const data_ooc_1 = require("./data-ooc");
12
14
  const data_ooc_type_1 = require("./data-ooc-type");
13
15
  let DataOocQuery = class DataOocQuery {
@@ -38,9 +40,18 @@ let DataOocQuery = class DataOocQuery {
38
40
  }));
39
41
  return (dataSetHistory === null || dataSetHistory === void 0 ? void 0 : dataSetHistory.dataItems) || [];
40
42
  }
43
+ async dataSample(dataOoc) {
44
+ return dataOoc.dataSampleId && (await (0, shell_1.getRepository)(data_sample_1.DataSample).findOneBy({ id: dataOoc.dataSampleId }));
45
+ }
41
46
  async dataSet(dataOoc) {
42
47
  return dataOoc.dataSetId && (await (0, shell_1.getRepository)(data_set_1.DataSet).findOneBy({ id: dataOoc.dataSetId }));
43
48
  }
49
+ async reviewActivityInstance(dataOoc) {
50
+ return dataOoc.reviewActivityInstanceId && (await (0, shell_1.getRepository)(worklist_1.ActivityInstance).findOneBy({ id: dataOoc.reviewActivityInstanceId }));
51
+ }
52
+ async resolveActivityInstance(dataOoc) {
53
+ return dataOoc.resolveActivityInstanceId && (await (0, shell_1.getRepository)(worklist_1.ActivityInstance).findOneBy({ id: dataOoc.resolveActivityInstanceId }));
54
+ }
44
55
  async corrector(dataOoc) {
45
56
  return dataOoc.correctorId && (await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id: dataOoc.correctorId }));
46
57
  }
@@ -82,6 +93,13 @@ tslib_1.__decorate([
82
93
  tslib_1.__metadata("design:paramtypes", [data_ooc_1.DataOoc]),
83
94
  tslib_1.__metadata("design:returntype", Promise)
84
95
  ], DataOocQuery.prototype, "dataItems", null);
96
+ tslib_1.__decorate([
97
+ (0, type_graphql_1.FieldResolver)(type => data_sample_1.DataSample),
98
+ tslib_1.__param(0, (0, type_graphql_1.Root)()),
99
+ tslib_1.__metadata("design:type", Function),
100
+ tslib_1.__metadata("design:paramtypes", [data_ooc_1.DataOoc]),
101
+ tslib_1.__metadata("design:returntype", Promise)
102
+ ], DataOocQuery.prototype, "dataSample", null);
85
103
  tslib_1.__decorate([
86
104
  (0, type_graphql_1.FieldResolver)(type => data_set_1.DataSet),
87
105
  tslib_1.__param(0, (0, type_graphql_1.Root)()),
@@ -89,6 +107,20 @@ tslib_1.__decorate([
89
107
  tslib_1.__metadata("design:paramtypes", [data_ooc_1.DataOoc]),
90
108
  tslib_1.__metadata("design:returntype", Promise)
91
109
  ], DataOocQuery.prototype, "dataSet", null);
110
+ tslib_1.__decorate([
111
+ (0, type_graphql_1.FieldResolver)(type => worklist_1.ActivityInstance),
112
+ tslib_1.__param(0, (0, type_graphql_1.Root)()),
113
+ tslib_1.__metadata("design:type", Function),
114
+ tslib_1.__metadata("design:paramtypes", [data_ooc_1.DataOoc]),
115
+ tslib_1.__metadata("design:returntype", Promise)
116
+ ], DataOocQuery.prototype, "reviewActivityInstance", null);
117
+ tslib_1.__decorate([
118
+ (0, type_graphql_1.FieldResolver)(type => worklist_1.ActivityInstance),
119
+ tslib_1.__param(0, (0, type_graphql_1.Root)()),
120
+ tslib_1.__metadata("design:type", Function),
121
+ tslib_1.__metadata("design:paramtypes", [data_ooc_1.DataOoc]),
122
+ tslib_1.__metadata("design:returntype", Promise)
123
+ ], DataOocQuery.prototype, "resolveActivityInstance", null);
92
124
  tslib_1.__decorate([
93
125
  (0, type_graphql_1.FieldResolver)(type => auth_base_1.User),
94
126
  tslib_1.__param(0, (0, type_graphql_1.Root)()),
@@ -1 +1 @@
1
- {"version":3,"file":"data-ooc-query.js","sourceRoot":"","sources":["../../../server/service/data-ooc/data-ooc-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Args, Ctx, Directive, FieldResolver, Query, Resolver, Root } from 'type-graphql'\n\nimport { User } from '@things-factory/auth-base'\nimport { Domain, getQueryBuilderFromListParams, getRepository, ListParam } from '@things-factory/shell'\n\nimport { DataSetHistory } from '../data-set-history/data-set-history'\nimport { DataItem } from '../data-set/data-item-type'\nimport { DataSet } from '../data-set/data-set'\nimport { DataOoc } from './data-ooc'\nimport { DataOocList } from './data-ooc-type'\n\n@Resolver(DataOoc)\nexport class DataOocQuery {\n @Directive('@privilege(category: \"data-ooc\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => DataOoc, { description: 'To fetch a DataOoc' })\n async dataOoc(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<DataOoc> {\n const { domain } = context.state\n\n return await getRepository(DataOoc).findOne({\n where: { domain: { id: domain.id }, id }\n })\n }\n\n @Directive('@privilege(category: \"data-ooc\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => DataOocList, { description: 'To fetch multiple DataOoc' })\n async dataOocs(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<DataOocList> {\n const { domain } = context.state\n\n const queryBuilder = getQueryBuilderFromListParams({\n repository: getRepository(DataOoc),\n params,\n domain,\n searchables: ['name', 'description']\n })\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @FieldResolver(type => [DataItem])\n async dataItems(@Root() dataOoc: DataOoc): Promise<DataItem[]> {\n const dataSetHistory: DataSetHistory =\n dataOoc.dataSetId &&\n (await getRepository(DataSetHistory).findOne({\n where: {\n originalId: dataOoc.dataSetId,\n version: dataOoc.dataSetVersion\n }\n }))\n return dataSetHistory?.dataItems || []\n }\n\n @FieldResolver(type => DataSet)\n async dataSet(@Root() dataOoc: DataOoc): Promise<DataSet> {\n return dataOoc.dataSetId && (await getRepository(DataSet).findOneBy({ id: dataOoc.dataSetId }))\n }\n\n @FieldResolver(type => User)\n async corrector(@Root() dataOoc: DataOoc): Promise<User> {\n return dataOoc.correctorId && (await getRepository(User).findOneBy({ id: dataOoc.correctorId }))\n }\n\n @FieldResolver(type => User)\n async reviewer(@Root() dataOoc: DataOoc): Promise<User> {\n return dataOoc.reviewerId && (await getRepository(User).findOneBy({ id: dataOoc.reviewerId }))\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() dataOoc: DataOoc): Promise<Domain> {\n return await getRepository(Domain).findOneBy({ id: dataOoc.domainId })\n }\n\n @FieldResolver(type => User)\n async updater(@Root() dataOoc: DataOoc): Promise<User> {\n return dataOoc.updaterId && (await getRepository(User).findOneBy({ id: dataOoc.updaterId }))\n }\n\n @FieldResolver(type => User)\n async creator(@Root() dataOoc: DataOoc): Promise<User> {\n return dataOoc.creatorId && (await getRepository(User).findOneBy({ id: dataOoc.creatorId }))\n }\n}\n"]}
1
+ {"version":3,"file":"data-ooc-query.js","sourceRoot":"","sources":["../../../server/service/data-ooc/data-ooc-query.ts"],"names":[],"mappings":";;;;AAAA,+CAA8F;AAE9F,yDAAgD;AAChD,iDAAuG;AACvG,uDAA2D;AAE3D,2EAAqE;AACrE,+DAAqD;AACrD,mDAA8C;AAC9C,4DAAuD;AACvD,yCAAoC;AACpC,mDAA6C;AAGtC,IAAM,YAAY,GAAlB,MAAM,YAAY;IAGjB,AAAN,KAAK,CAAC,OAAO,CAAY,EAAU,EAAS,OAAwB;QAClE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEhC,OAAO,MAAM,IAAA,qBAAa,EAAC,kBAAO,CAAC,CAAC,OAAO,CAAC;YAC1C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;SACzC,CAAC,CAAA;IACJ,CAAC;IAIK,AAAN,KAAK,CAAC,QAAQ,CAAS,MAAiB,EAAS,OAAwB;QACvE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEhC,MAAM,YAAY,GAAG,IAAA,qCAA6B,EAAC;YACjD,UAAU,EAAE,IAAA,qBAAa,EAAC,kBAAO,CAAC;YAClC,MAAM;YACN,MAAM;YACN,WAAW,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC;SACrC,CAAC,CAAA;QAEF,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,YAAY,CAAC,eAAe,EAAE,CAAA;QAE3D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IACzB,CAAC;IAGK,AAAN,KAAK,CAAC,SAAS,CAAS,OAAgB;QACtC,MAAM,cAAc,GAClB,OAAO,CAAC,SAAS;YACjB,CAAC,MAAM,IAAA,qBAAa,EAAC,iCAAc,CAAC,CAAC,OAAO,CAAC;gBAC3C,KAAK,EAAE;oBACL,UAAU,EAAE,OAAO,CAAC,SAAS;oBAC7B,OAAO,EAAE,OAAO,CAAC,cAAc;iBAChC;aACF,CAAC,CAAC,CAAA;QACL,OAAO,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,SAAS,KAAI,EAAE,CAAA;IACxC,CAAC;IAGK,AAAN,KAAK,CAAC,UAAU,CAAS,OAAgB;QACvC,OAAO,OAAO,CAAC,YAAY,IAAI,CAAC,MAAM,IAAA,qBAAa,EAAC,wBAAU,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAA;IAC1G,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO,CAAS,OAAgB;QACpC,OAAO,OAAO,CAAC,SAAS,IAAI,CAAC,MAAM,IAAA,qBAAa,EAAC,kBAAO,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;IACjG,CAAC;IAGK,AAAN,KAAK,CAAC,sBAAsB,CAAS,OAAgB;QACnD,OAAO,OAAO,CAAC,wBAAwB,IAAI,CAAC,MAAM,IAAA,qBAAa,EAAC,2BAAgB,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAA;IACxI,CAAC;IAGK,AAAN,KAAK,CAAC,uBAAuB,CAAS,OAAgB;QACpD,OAAO,OAAO,CAAC,yBAAyB,IAAI,CAAC,MAAM,IAAA,qBAAa,EAAC,2BAAgB,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAA;IAC1I,CAAC;IAGK,AAAN,KAAK,CAAC,SAAS,CAAS,OAAgB;QACtC,OAAO,OAAO,CAAC,WAAW,IAAI,CAAC,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;IAClG,CAAC;IAGK,AAAN,KAAK,CAAC,QAAQ,CAAS,OAAgB;QACrC,OAAO,OAAO,CAAC,UAAU,IAAI,CAAC,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAA;IAChG,CAAC;IAGK,AAAN,KAAK,CAAC,MAAM,CAAS,OAAgB;QACnC,OAAO,MAAM,IAAA,qBAAa,EAAC,cAAM,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;IACxE,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO,CAAS,OAAgB;QACpC,OAAO,OAAO,CAAC,SAAS,IAAI,CAAC,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;IAC9F,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO,CAAS,OAAgB;QACpC,OAAO,OAAO,CAAC,SAAS,IAAI,CAAC,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;IAC9F,CAAC;CACF,CAAA;AAlFO;IAFL,IAAA,wBAAS,EAAC,gFAAgF,CAAC;IAC3F,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,kBAAO,EAAE,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC;IAClD,mBAAA,IAAA,kBAAG,EAAC,IAAI,CAAC,CAAA;IAAc,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;2CAM1C;AAIK;IAFL,IAAA,wBAAS,EAAC,gFAAgF,CAAC;IAC3F,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,2BAAW,EAAE,EAAE,WAAW,EAAE,2BAA2B,EAAE,CAAC;IAC5D,mBAAA,IAAA,mBAAI,GAAE,CAAA;IAAqB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;6CAAjB,iBAAS;;4CAavC;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,yBAAQ,CAAC,CAAC;IACjB,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAU,kBAAO;;6CAUvC;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,wBAAU,CAAC;IAChB,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAU,kBAAO;;8CAExC;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAO,CAAC;IAChB,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAU,kBAAO;;2CAErC;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,2BAAgB,CAAC;IACV,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAU,kBAAO;;0DAEpD;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,2BAAgB,CAAC;IACT,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAU,kBAAO;;2DAErD;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,CAAC;IACX,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAU,kBAAO;;6CAEvC;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,CAAC;IACZ,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAU,kBAAO;;4CAEtC;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,cAAM,CAAC;IAChB,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAU,kBAAO;;0CAEpC;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,CAAC;IACb,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAU,kBAAO;;2CAErC;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,CAAC;IACb,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAU,kBAAO;;2CAErC;AApFU,YAAY;IADxB,IAAA,uBAAQ,EAAC,kBAAO,CAAC;GACL,YAAY,CAqFxB;AArFY,oCAAY","sourcesContent":["import { Arg, Args, Ctx, Directive, FieldResolver, Query, Resolver, Root } from 'type-graphql'\n\nimport { User } from '@things-factory/auth-base'\nimport { Domain, getQueryBuilderFromListParams, getRepository, ListParam } from '@things-factory/shell'\nimport { ActivityInstance } from '@things-factory/worklist'\n\nimport { DataSetHistory } from '../data-set-history/data-set-history'\nimport { DataItem } from '../data-set/data-item-type'\nimport { DataSet } from '../data-set/data-set'\nimport { DataSample } from '../data-sample/data-sample'\nimport { DataOoc } from './data-ooc'\nimport { DataOocList } from './data-ooc-type'\n\n@Resolver(DataOoc)\nexport class DataOocQuery {\n @Directive('@privilege(category: \"data-ooc\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => DataOoc, { description: 'To fetch a DataOoc' })\n async dataOoc(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<DataOoc> {\n const { domain } = context.state\n\n return await getRepository(DataOoc).findOne({\n where: { domain: { id: domain.id }, id }\n })\n }\n\n @Directive('@privilege(category: \"data-ooc\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => DataOocList, { description: 'To fetch multiple DataOoc' })\n async dataOocs(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<DataOocList> {\n const { domain } = context.state\n\n const queryBuilder = getQueryBuilderFromListParams({\n repository: getRepository(DataOoc),\n params,\n domain,\n searchables: ['name', 'description']\n })\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @FieldResolver(type => [DataItem])\n async dataItems(@Root() dataOoc: DataOoc): Promise<DataItem[]> {\n const dataSetHistory: DataSetHistory =\n dataOoc.dataSetId &&\n (await getRepository(DataSetHistory).findOne({\n where: {\n originalId: dataOoc.dataSetId,\n version: dataOoc.dataSetVersion\n }\n }))\n return dataSetHistory?.dataItems || []\n }\n\n @FieldResolver(type => DataSample)\n async dataSample(@Root() dataOoc: DataOoc): Promise<DataSample> {\n return dataOoc.dataSampleId && (await getRepository(DataSample).findOneBy({ id: dataOoc.dataSampleId }))\n }\n\n @FieldResolver(type => DataSet)\n async dataSet(@Root() dataOoc: DataOoc): Promise<DataSet> {\n return dataOoc.dataSetId && (await getRepository(DataSet).findOneBy({ id: dataOoc.dataSetId }))\n }\n\n @FieldResolver(type => ActivityInstance)\n async reviewActivityInstance(@Root() dataOoc: DataOoc): Promise<ActivityInstance> {\n return dataOoc.reviewActivityInstanceId && (await getRepository(ActivityInstance).findOneBy({ id: dataOoc.reviewActivityInstanceId }))\n }\n\n @FieldResolver(type => ActivityInstance)\n async resolveActivityInstance(@Root() dataOoc: DataOoc): Promise<ActivityInstance> {\n return dataOoc.resolveActivityInstanceId && (await getRepository(ActivityInstance).findOneBy({ id: dataOoc.resolveActivityInstanceId }))\n }\n\n @FieldResolver(type => User)\n async corrector(@Root() dataOoc: DataOoc): Promise<User> {\n return dataOoc.correctorId && (await getRepository(User).findOneBy({ id: dataOoc.correctorId }))\n }\n\n @FieldResolver(type => User)\n async reviewer(@Root() dataOoc: DataOoc): Promise<User> {\n return dataOoc.reviewerId && (await getRepository(User).findOneBy({ id: dataOoc.reviewerId }))\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() dataOoc: DataOoc): Promise<Domain> {\n return await getRepository(Domain).findOneBy({ id: dataOoc.domainId })\n }\n\n @FieldResolver(type => User)\n async updater(@Root() dataOoc: DataOoc): Promise<User> {\n return dataOoc.updaterId && (await getRepository(User).findOneBy({ id: dataOoc.updaterId }))\n }\n\n @FieldResolver(type => User)\n async creator(@Root() dataOoc: DataOoc): Promise<User> {\n return dataOoc.creatorId && (await getRepository(User).findOneBy({ id: dataOoc.creatorId }))\n }\n}\n"]}
@@ -49,13 +49,11 @@ tslib_1.__decorate([
49
49
  ], DataOoc.prototype, "domainId", void 0);
50
50
  tslib_1.__decorate([
51
51
  (0, typeorm_1.Column)(),
52
- (0, type_graphql_1.Field)(),
52
+ (0, type_graphql_1.Field)({ nullable: true }),
53
53
  tslib_1.__metadata("design:type", String)
54
54
  ], DataOoc.prototype, "name", void 0);
55
55
  tslib_1.__decorate([
56
- (0, typeorm_1.Column)({
57
- nullable: true
58
- }),
56
+ (0, typeorm_1.Column)({ nullable: true }),
59
57
  (0, type_graphql_1.Field)({ nullable: true }),
60
58
  tslib_1.__metadata("design:type", String)
61
59
  ], DataOoc.prototype, "description", void 0);
@@ -74,23 +72,17 @@ tslib_1.__decorate([
74
72
  tslib_1.__metadata("design:type", Number)
75
73
  ], DataOoc.prototype, "dataSetVersion", void 0);
76
74
  tslib_1.__decorate([
77
- (0, typeorm_1.Column)({
78
- nullable: true
79
- }),
75
+ (0, typeorm_1.Column)({ nullable: true }),
80
76
  (0, type_graphql_1.Field)({ nullable: true }),
81
77
  tslib_1.__metadata("design:type", Boolean)
82
78
  ], DataOoc.prototype, "ooc", void 0);
83
79
  tslib_1.__decorate([
84
- (0, typeorm_1.Column)({
85
- nullable: true
86
- }),
80
+ (0, typeorm_1.Column)({ nullable: true }),
87
81
  (0, type_graphql_1.Field)({ nullable: true }),
88
82
  tslib_1.__metadata("design:type", Boolean)
89
83
  ], DataOoc.prototype, "oos", void 0);
90
84
  tslib_1.__decorate([
91
- (0, typeorm_1.Column)({
92
- nullable: true
93
- }),
85
+ (0, typeorm_1.Column)({ nullable: true }),
94
86
  (0, type_graphql_1.Field)({ nullable: true }),
95
87
  tslib_1.__metadata("design:type", String)
96
88
  ], DataOoc.prototype, "state", void 0);
@@ -111,16 +103,12 @@ tslib_1.__decorate([
111
103
  tslib_1.__metadata("design:type", String)
112
104
  ], DataOoc.prototype, "correctiveAction", void 0);
113
105
  tslib_1.__decorate([
114
- (0, typeorm_1.Column)({
115
- nullable: true
116
- }),
106
+ (0, typeorm_1.Column)({ nullable: true }),
117
107
  (0, type_graphql_1.Field)({ nullable: true }),
118
108
  tslib_1.__metadata("design:type", String)
119
109
  ], DataOoc.prototype, "type", void 0);
120
110
  tslib_1.__decorate([
121
- (0, typeorm_1.Column)({
122
- nullable: true
123
- }),
111
+ (0, typeorm_1.Column)({ nullable: true }),
124
112
  (0, type_graphql_1.Field)({ nullable: true }),
125
113
  tslib_1.__metadata("design:type", String)
126
114
  ], DataOoc.prototype, "useCase", void 0);
@@ -182,15 +170,14 @@ tslib_1.__decorate([
182
170
  tslib_1.__metadata("design:type", String)
183
171
  ], DataOoc.prototype, "rawData", void 0);
184
172
  tslib_1.__decorate([
185
- (0, typeorm_1.Column)({
186
- nullable: true
187
- }),
173
+ (0, typeorm_1.Column)({ nullable: true }),
188
174
  (0, type_graphql_1.Field)({ nullable: true }),
189
175
  tslib_1.__metadata("design:type", String)
190
176
  ], DataOoc.prototype, "source", void 0);
191
177
  tslib_1.__decorate([
192
- (0, typeorm_1.ManyToOne)(type => data_sample_1.DataSample, { nullable: true }),
193
- (0, type_graphql_1.Field)({ nullable: true }),
178
+ (0, typeorm_1.OneToOne)(type => data_sample_1.DataSample, { nullable: true }),
179
+ (0, typeorm_1.JoinColumn)(),
180
+ (0, type_graphql_1.Field)(type => data_sample_1.DataSample, { nullable: true }),
194
181
  tslib_1.__metadata("design:type", data_sample_1.DataSample)
195
182
  ], DataOoc.prototype, "dataSample", void 0);
196
183
  tslib_1.__decorate([
@@ -198,7 +185,8 @@ tslib_1.__decorate([
198
185
  tslib_1.__metadata("design:type", String)
199
186
  ], DataOoc.prototype, "dataSampleId", void 0);
200
187
  tslib_1.__decorate([
201
- (0, typeorm_1.ManyToOne)(type => worklist_1.ActivityInstance, { nullable: true }),
188
+ (0, typeorm_1.OneToOne)(type => worklist_1.ActivityInstance, { nullable: true }),
189
+ (0, typeorm_1.JoinColumn)(),
202
190
  (0, type_graphql_1.Field)({ nullable: true }),
203
191
  tslib_1.__metadata("design:type", typeof (_a = typeof worklist_1.ActivityInstance !== "undefined" && worklist_1.ActivityInstance) === "function" ? _a : Object)
204
192
  ], DataOoc.prototype, "reviewActivityInstance", void 0);
@@ -207,7 +195,8 @@ tslib_1.__decorate([
207
195
  tslib_1.__metadata("design:type", String)
208
196
  ], DataOoc.prototype, "reviewActivityInstanceId", void 0);
209
197
  tslib_1.__decorate([
210
- (0, typeorm_1.ManyToOne)(type => worklist_1.ActivityInstance, { nullable: true }),
198
+ (0, typeorm_1.OneToOne)(type => worklist_1.ActivityInstance, { nullable: true }),
199
+ (0, typeorm_1.JoinColumn)(),
211
200
  (0, type_graphql_1.Field)({ nullable: true }),
212
201
  tslib_1.__metadata("design:type", typeof (_b = typeof worklist_1.ActivityInstance !== "undefined" && worklist_1.ActivityInstance) === "function" ? _b : Object)
213
202
  ], DataOoc.prototype, "resolveActivityInstance", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"data-ooc.js","sourceRoot":"","sources":["../../../server/service/data-ooc/data-ooc.ts"],"names":[],"mappings":"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","sourcesContent":["import { Field, ID, ObjectType, registerEnumType } from 'type-graphql'\nimport { Column, CreateDateColumn, Entity, Index, ManyToOne, PrimaryGeneratedColumn, RelationId, UpdateDateColumn } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { config } from '@things-factory/env'\nimport { Domain, ScalarObject } from '@things-factory/shell'\nimport { ActivityInstance } from '@things-factory/worklist'\n\nimport { DataItem } from '../data-set/data-item-type'\nimport { DataSet } from '../data-set/data-set'\nimport { DataSample } from '../data-sample/data-sample'\n\nconst ORMCONFIG = config.get('ormconfig', {})\nconst DATABASE_TYPE = ORMCONFIG.type\n\nexport enum DataOocStatus {\n ISSUED = 'ISSUED',\n REVIEWED = 'REVIEWED',\n CORRECTED = 'CORRECTED'\n}\n\nregisterEnumType(DataOocStatus, {\n name: 'DataOocStatus',\n description: 'Out of control data corrective action process progress status'\n})\n\n@Entity()\n@Index('ix_data_ooc_0', (dataOoc: DataOoc) => [dataOoc.domain, dataOoc.dataSet, dataOoc.collectedAt], { unique: false })\n@ObjectType({ description: 'Entity for Out of control data' })\nexport class DataOoc {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID)\n readonly id: string\n\n @ManyToOne(type => Domain)\n @Field({ nullable: true })\n domain?: Domain\n\n @RelationId((dataOoc: DataOoc) => dataOoc.domain)\n domainId?: string\n\n @Column()\n @Field()\n name: string\n\n @Column({\n nullable: true\n })\n @Field({ nullable: true })\n description?: string\n\n @ManyToOne(type => DataSet)\n @Field(type => DataSet, { nullable: true })\n dataSet?: DataSet\n\n @RelationId((dataOoc: DataOoc) => dataOoc.dataSet)\n dataSetId?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n dataSetVersion?: number\n\n @Column({\n nullable: true\n })\n @Field({ nullable: true })\n ooc?: boolean\n\n @Column({\n nullable: true\n })\n @Field({ nullable: true })\n oos?: boolean\n\n @Column({\n nullable: true\n })\n @Field({ nullable: true })\n state?: DataOocStatus\n\n @Column({\n nullable: true,\n type: DATABASE_TYPE == 'mysql' || DATABASE_TYPE == 'mariadb' ? 'longtext' : DATABASE_TYPE == 'oracle' ? 'clob' : 'varchar'\n })\n @Field({ nullable: true })\n correctiveInstruction?: string\n\n @Column({\n nullable: true,\n type: DATABASE_TYPE == 'mysql' || DATABASE_TYPE == 'mariadb' ? 'longtext' : DATABASE_TYPE == 'oracle' ? 'clob' : 'varchar'\n })\n @Field({ nullable: true })\n correctiveAction?: string\n\n @Column({\n nullable: true\n })\n @Field({ nullable: true })\n type?: string\n\n @Column({\n nullable: true\n })\n @Field({ nullable: true })\n useCase?: string\n\n @Column({ nullable: true, default: '' })\n @Field({ nullable: true })\n key01?: string = ''\n\n @Column({ nullable: true, default: '' })\n @Field({ nullable: true })\n key02?: string = ''\n\n @Column({ nullable: true, default: '' })\n @Field({ nullable: true })\n key03?: string = ''\n\n @Column({ nullable: true, default: '' })\n @Field({ nullable: true })\n key04?: string = ''\n\n @Column({ nullable: true, default: '' })\n @Field({ nullable: true })\n key05?: string = ''\n\n @Column('simple-json', { nullable: true })\n @Field(type => ScalarObject, { nullable: true })\n partitionKeys?: { [key: string]: any }\n\n @Column('simple-json', { nullable: true })\n @Field(type => ScalarObject, { nullable: true })\n data?: any\n\n @Column('simple-json', { nullable: true })\n @Field(type => ScalarObject, { nullable: true })\n judgment?: any\n\n @Field(type => [DataItem], { nullable: true })\n dataItems?: DataItem[]\n\n @Column('simple-json', { nullable: true })\n @Field(type => ScalarObject, { nullable: true })\n history?: any\n\n @Column({\n nullable: true,\n type: DATABASE_TYPE == 'mysql' || DATABASE_TYPE == 'mariadb' ? 'longtext' : DATABASE_TYPE == 'oracle' ? 'clob' : 'varchar'\n })\n @Field({ nullable: true })\n rawData?: string\n\n @Column({\n nullable: true\n })\n @Field({ nullable: true })\n source?: string\n\n @ManyToOne(type => DataSample, { nullable: true })\n @Field({ nullable: true })\n dataSample?: DataSample\n\n @RelationId((dataOoc: DataOoc) => dataOoc.dataSample)\n dataSampleId?: string\n\n @ManyToOne(type => ActivityInstance, { nullable: true })\n @Field({ nullable: true })\n reviewActivityInstance?: ActivityInstance\n\n @RelationId((dataOoc: DataOoc) => dataOoc.reviewActivityInstance)\n reviewActivityInstanceId?: string\n\n @ManyToOne(type => ActivityInstance, { nullable: true })\n @Field({ nullable: true })\n resolveActivityInstance?: ActivityInstance\n\n @RelationId((dataOoc: DataOoc) => dataOoc.resolveActivityInstance)\n resolveActivityInstanceId?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n workDate?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n workShift?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n collectedAt?: Date\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n reviewedAt?: Date\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n correctedAt?: Date\n\n @CreateDateColumn()\n @Field({ nullable: true })\n createdAt?: Date\n\n @UpdateDateColumn()\n @Field({ nullable: true })\n updatedAt?: Date\n\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n reviewer?: User\n\n @RelationId((dataOoc: DataOoc) => dataOoc.reviewer)\n reviewerId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n corrector?: User\n\n @RelationId((dataOoc: DataOoc) => dataOoc.corrector)\n correctorId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n creator?: User\n\n @RelationId((dataOoc: DataOoc) => dataOoc.creator)\n creatorId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n updater?: User\n\n @RelationId((dataOoc: DataOoc) => dataOoc.updater)\n updaterId?: string\n}\n"]}
1
+ {"version":3,"file":"data-ooc.js","sourceRoot":"","sources":["../../../server/service/data-ooc/data-ooc.ts"],"names":[],"mappings":"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","sourcesContent":["import { Field, ID, ObjectType, registerEnumType } from 'type-graphql'\nimport { Column, CreateDateColumn, Entity, Index, JoinColumn, ManyToOne, OneToOne, PrimaryGeneratedColumn, RelationId, UpdateDateColumn } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { config } from '@things-factory/env'\nimport { Domain, ScalarObject } from '@things-factory/shell'\nimport { ActivityInstance } from '@things-factory/worklist'\n\nimport { DataItem } from '../data-set/data-item-type'\nimport { DataSet } from '../data-set/data-set'\nimport { DataSample } from '../data-sample/data-sample'\n\nconst ORMCONFIG = config.get('ormconfig', {})\nconst DATABASE_TYPE = ORMCONFIG.type\n\nexport enum DataOocStatus {\n ISSUED = 'ISSUED',\n REVIEWED = 'REVIEWED',\n CORRECTED = 'CORRECTED'\n}\n\nregisterEnumType(DataOocStatus, {\n name: 'DataOocStatus',\n description: 'Out of control data corrective action process progress status'\n})\n\n@Entity()\n@Index('ix_data_ooc_0', (dataOoc: DataOoc) => [dataOoc.domain, dataOoc.dataSet, dataOoc.collectedAt], { unique: false })\n@ObjectType({ description: 'Entity for Out of control data' })\nexport class DataOoc {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID)\n readonly id: string\n\n @ManyToOne(type => Domain)\n @Field({ nullable: true })\n domain?: Domain\n\n @RelationId((dataOoc: DataOoc) => dataOoc.domain)\n domainId?: string\n\n @Column()\n @Field({ nullable: true })\n name?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n description?: string\n\n @ManyToOne(type => DataSet)\n @Field(type => DataSet, { nullable: true })\n dataSet?: DataSet\n\n @RelationId((dataOoc: DataOoc) => dataOoc.dataSet)\n dataSetId?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n dataSetVersion?: number\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n ooc?: boolean\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n oos?: boolean\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n state?: DataOocStatus\n\n @Column({\n nullable: true,\n type: DATABASE_TYPE == 'mysql' || DATABASE_TYPE == 'mariadb' ? 'longtext' : DATABASE_TYPE == 'oracle' ? 'clob' : 'varchar'\n })\n @Field({ nullable: true })\n correctiveInstruction?: string\n\n @Column({\n nullable: true,\n type: DATABASE_TYPE == 'mysql' || DATABASE_TYPE == 'mariadb' ? 'longtext' : DATABASE_TYPE == 'oracle' ? 'clob' : 'varchar'\n })\n @Field({ nullable: true })\n correctiveAction?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n type?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n useCase?: string\n\n @Column({ nullable: true, default: '' })\n @Field({ nullable: true })\n key01?: string = ''\n\n @Column({ nullable: true, default: '' })\n @Field({ nullable: true })\n key02?: string = ''\n\n @Column({ nullable: true, default: '' })\n @Field({ nullable: true })\n key03?: string = ''\n\n @Column({ nullable: true, default: '' })\n @Field({ nullable: true })\n key04?: string = ''\n\n @Column({ nullable: true, default: '' })\n @Field({ nullable: true })\n key05?: string = ''\n\n @Column('simple-json', { nullable: true })\n @Field(type => ScalarObject, { nullable: true })\n partitionKeys?: { [key: string]: any }\n\n @Column('simple-json', { nullable: true })\n @Field(type => ScalarObject, { nullable: true })\n data?: any\n\n @Column('simple-json', { nullable: true })\n @Field(type => ScalarObject, { nullable: true })\n judgment?: any\n\n @Field(type => [DataItem], { nullable: true })\n dataItems?: DataItem[]\n\n @Column('simple-json', { nullable: true })\n @Field(type => ScalarObject, { nullable: true })\n history?: any\n\n @Column({\n nullable: true,\n type: DATABASE_TYPE == 'mysql' || DATABASE_TYPE == 'mariadb' ? 'longtext' : DATABASE_TYPE == 'oracle' ? 'clob' : 'varchar'\n })\n @Field({ nullable: true })\n rawData?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n source?: string\n\n @OneToOne(type => DataSample, { nullable: true })\n @JoinColumn()\n @Field(type => DataSample, { nullable: true })\n dataSample?: DataSample\n\n @RelationId((dataOoc: DataOoc) => dataOoc.dataSample)\n dataSampleId?: string\n\n @OneToOne(type => ActivityInstance, { nullable: true })\n @JoinColumn()\n @Field({ nullable: true })\n reviewActivityInstance?: ActivityInstance\n\n @RelationId((dataOoc: DataOoc) => dataOoc.reviewActivityInstance)\n reviewActivityInstanceId?: string\n\n @OneToOne(type => ActivityInstance, { nullable: true })\n @JoinColumn()\n @Field({ nullable: true })\n resolveActivityInstance?: ActivityInstance\n\n @RelationId((dataOoc: DataOoc) => dataOoc.resolveActivityInstance)\n resolveActivityInstanceId?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n workDate?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n workShift?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n collectedAt?: Date\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n reviewedAt?: Date\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n correctedAt?: Date\n\n @CreateDateColumn()\n @Field({ nullable: true })\n createdAt?: Date\n\n @UpdateDateColumn()\n @Field({ nullable: true })\n updatedAt?: Date\n\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n reviewer?: User\n\n @RelationId((dataOoc: DataOoc) => dataOoc.reviewer)\n reviewerId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n corrector?: User\n\n @RelationId((dataOoc: DataOoc) => dataOoc.corrector)\n correctorId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n creator?: User\n\n @RelationId((dataOoc: DataOoc) => dataOoc.creator)\n creatorId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n updater?: User\n\n @RelationId((dataOoc: DataOoc) => dataOoc.updater)\n updaterId?: string\n}\n"]}
@@ -6,10 +6,12 @@ const typeorm_1 = require("typeorm");
6
6
  const type_graphql_1 = require("type-graphql");
7
7
  const auth_base_1 = require("@things-factory/auth-base");
8
8
  const shell_1 = require("@things-factory/shell");
9
+ const worklist_1 = require("@things-factory/worklist");
9
10
  const data_key_set_1 = require("../data-key-set/data-key-set");
10
11
  const data_set_history_1 = require("../data-set-history/data-set-history");
11
12
  const data_item_type_1 = require("../data-set/data-item-type");
12
13
  const data_set_1 = require("../data-set/data-set");
14
+ const data_ooc_1 = require("../data-ooc/data-ooc");
13
15
  const data_sample_1 = require("./data-sample");
14
16
  const data_sample_type_1 = require("./data-sample-type");
15
17
  let DataSampleQuery = class DataSampleQuery {
@@ -117,6 +119,14 @@ let DataSampleQuery = class DataSampleQuery {
117
119
  async dataSet(dataSample) {
118
120
  return dataSample.dataSetId && (await (0, shell_1.getRepository)(data_set_1.DataSet).findOneBy({ id: dataSample.dataSetId }));
119
121
  }
122
+ async dataOoc(dataSample) {
123
+ if (dataSample.ooc || dataSample.oos) {
124
+ return await (0, shell_1.getRepository)(data_ooc_1.DataOoc).findOneBy({ dataSample: { id: dataSample.id } });
125
+ }
126
+ }
127
+ async reviewActivityInstance(dataSample) {
128
+ return dataSample.reviewActivityInstanceId && (await (0, shell_1.getRepository)(worklist_1.ActivityInstance).findOneBy({ id: dataSample.reviewActivityInstanceId }));
129
+ }
120
130
  async domain(dataSample) {
121
131
  return dataSample.domainId && (await (0, shell_1.getRepository)(shell_1.Domain).findOneBy({ id: dataSample.domainId }));
122
132
  }
@@ -189,6 +199,20 @@ tslib_1.__decorate([
189
199
  tslib_1.__metadata("design:paramtypes", [data_sample_1.DataSample]),
190
200
  tslib_1.__metadata("design:returntype", Promise)
191
201
  ], DataSampleQuery.prototype, "dataSet", null);
202
+ tslib_1.__decorate([
203
+ (0, type_graphql_1.FieldResolver)(type => data_ooc_1.DataOoc),
204
+ tslib_1.__param(0, (0, type_graphql_1.Root)()),
205
+ tslib_1.__metadata("design:type", Function),
206
+ tslib_1.__metadata("design:paramtypes", [data_sample_1.DataSample]),
207
+ tslib_1.__metadata("design:returntype", Promise)
208
+ ], DataSampleQuery.prototype, "dataOoc", null);
209
+ tslib_1.__decorate([
210
+ (0, type_graphql_1.FieldResolver)(type => worklist_1.ActivityInstance),
211
+ tslib_1.__param(0, (0, type_graphql_1.Root)()),
212
+ tslib_1.__metadata("design:type", Function),
213
+ tslib_1.__metadata("design:paramtypes", [data_sample_1.DataSample]),
214
+ tslib_1.__metadata("design:returntype", Promise)
215
+ ], DataSampleQuery.prototype, "reviewActivityInstance", null);
192
216
  tslib_1.__decorate([
193
217
  (0, type_graphql_1.FieldResolver)(type => shell_1.Domain),
194
218
  tslib_1.__param(0, (0, type_graphql_1.Root)()),