@things-factory/dataset 5.0.0-zeta.0 → 5.0.0-zeta.11

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 (82) hide show
  1. package/client/bootstrap.js +2 -3
  2. package/client/pages/data-entry/data-entry-list-page.js +0 -1
  3. package/client/pages/data-ooc/data-ooc-list-page.js +11 -16
  4. package/client/pages/data-ooc/data-ooc-view.js +19 -14
  5. package/client/pages/data-report/data-report-list-page.js +0 -1
  6. package/client/pages/data-sample/data-sample-list-page.js +11 -12
  7. package/client/pages/data-sample/data-sample-view.js +3 -2
  8. package/client/pages/data-set/data-item-list.js +32 -98
  9. package/client/pages/data-set/data-set-list-page.js +0 -1
  10. package/dist-server/controllers/create-data-sample.js +10 -44
  11. package/dist-server/controllers/create-data-sample.js.map +1 -1
  12. package/dist-server/controllers/data-use-case.js +11 -5
  13. package/dist-server/controllers/data-use-case.js.map +1 -1
  14. package/dist-server/controllers/index.js +1 -1
  15. package/dist-server/controllers/index.js.map +1 -1
  16. package/dist-server/service/data-item/index.js +1 -4
  17. package/dist-server/service/data-item/index.js.map +1 -1
  18. package/dist-server/service/data-ooc/data-ooc-query.js +15 -10
  19. package/dist-server/service/data-ooc/data-ooc-query.js.map +1 -1
  20. package/dist-server/service/data-ooc/data-ooc-type.js +4 -0
  21. package/dist-server/service/data-ooc/data-ooc-type.js.map +1 -1
  22. package/dist-server/service/data-ooc/data-ooc.js +11 -14
  23. package/dist-server/service/data-ooc/data-ooc.js.map +1 -1
  24. package/dist-server/service/data-sample/data-sample-query.js +18 -0
  25. package/dist-server/service/data-sample/data-sample-query.js.map +1 -1
  26. package/dist-server/service/data-sample/data-sample-type.js +4 -0
  27. package/dist-server/service/data-sample/data-sample-type.js.map +1 -1
  28. package/dist-server/service/data-sample/data-sample.js +12 -3
  29. package/dist-server/service/data-sample/data-sample.js.map +1 -1
  30. package/dist-server/service/{data-item → data-set}/data-item-type.js +60 -33
  31. package/dist-server/service/data-set/data-item-type.js.map +1 -0
  32. package/dist-server/service/data-set/data-set-mutation.js +40 -63
  33. package/dist-server/service/data-set/data-set-mutation.js.map +1 -1
  34. package/dist-server/service/data-set/data-set-query.js +4 -0
  35. package/dist-server/service/data-set/data-set-query.js.map +1 -1
  36. package/dist-server/service/data-set/data-set-type.js +10 -1
  37. package/dist-server/service/data-set/data-set-type.js.map +1 -1
  38. package/dist-server/service/data-set/data-set.js +14 -3
  39. package/dist-server/service/data-set/data-set.js.map +1 -1
  40. package/dist-server/service/data-set-history/data-set-history-query.js +173 -0
  41. package/dist-server/service/data-set-history/data-set-history-query.js.map +1 -0
  42. package/dist-server/service/data-set-history/data-set-history-type.js +29 -0
  43. package/dist-server/service/data-set-history/data-set-history-type.js.map +1 -0
  44. package/dist-server/service/data-set-history/data-set-history.js +205 -0
  45. package/dist-server/service/data-set-history/data-set-history.js.map +1 -0
  46. package/dist-server/service/data-set-history/index.js +8 -0
  47. package/dist-server/service/data-set-history/index.js.map +1 -0
  48. package/dist-server/service/index.js +6 -3
  49. package/dist-server/service/index.js.map +1 -1
  50. package/package.json +18 -17
  51. package/server/controllers/create-data-sample.ts +12 -49
  52. package/server/controllers/data-use-case.ts +19 -7
  53. package/server/controllers/index.ts +1 -1
  54. package/server/service/data-item/index.ts +0 -3
  55. package/server/service/data-ooc/data-ooc-query.ts +13 -8
  56. package/server/service/data-ooc/data-ooc-type.ts +3 -0
  57. package/server/service/data-ooc/data-ooc.ts +9 -14
  58. package/server/service/data-sample/data-sample-query.ts +14 -1
  59. package/server/service/data-sample/data-sample-type.ts +3 -0
  60. package/server/service/data-sample/data-sample.ts +10 -3
  61. package/server/service/data-set/data-item-type.ts +82 -0
  62. package/server/service/data-set/data-set-mutation.ts +64 -60
  63. package/server/service/data-set/data-set-query.ts +5 -0
  64. package/server/service/data-set/data-set-type.ts +8 -1
  65. package/server/service/data-set/data-set.ts +9 -3
  66. package/server/service/data-set-history/data-set-history-query.ts +110 -0
  67. package/server/service/data-set-history/data-set-history-type.ts +12 -0
  68. package/server/service/data-set-history/data-set-history.ts +160 -0
  69. package/server/service/data-set-history/index.ts +5 -0
  70. package/server/service/index.ts +7 -4
  71. package/translations/en.json +4 -4
  72. package/translations/ko.json +10 -10
  73. package/translations/ms.json +4 -4
  74. package/translations/zh.json +4 -4
  75. package/dist-server/service/data-item/data-item-mutation.js +0 -73
  76. package/dist-server/service/data-item/data-item-mutation.js.map +0 -1
  77. package/dist-server/service/data-item/data-item-query.js +0 -104
  78. package/dist-server/service/data-item/data-item-query.js.map +0 -1
  79. package/dist-server/service/data-item/data-item-type.js.map +0 -1
  80. package/server/service/data-item/data-item-mutation.ts +0 -61
  81. package/server/service/data-item/data-item-query.ts +0 -58
  82. package/server/service/data-item/data-item-type.ts +0 -57
@@ -0,0 +1,205 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var _a, _b, _c, _d, _e, _f;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.DataSetHistory = void 0;
14
+ const type_graphql_1 = require("type-graphql");
15
+ const typeorm_1 = require("typeorm");
16
+ const auth_base_1 = require("@things-factory/auth-base");
17
+ const shell_1 = require("@things-factory/shell");
18
+ const data_item_type_1 = require("../data-set/data-item-type");
19
+ const data_set_1 = require("../data-set/data-set");
20
+ let DataSetHistory = class DataSetHistory {
21
+ };
22
+ __decorate([
23
+ (0, typeorm_1.PrimaryColumn)(),
24
+ (0, type_graphql_1.Field)(type => type_graphql_1.ID),
25
+ __metadata("design:type", String)
26
+ ], DataSetHistory.prototype, "id", void 0);
27
+ __decorate([
28
+ (0, typeorm_1.PrimaryColumn)(),
29
+ (0, type_graphql_1.Field)(),
30
+ __metadata("design:type", Number)
31
+ ], DataSetHistory.prototype, "version", void 0);
32
+ __decorate([
33
+ (0, typeorm_1.ManyToOne)(type => shell_1.Domain),
34
+ (0, type_graphql_1.Field)({ nullable: true }),
35
+ __metadata("design:type", typeof (_a = typeof shell_1.Domain !== "undefined" && shell_1.Domain) === "function" ? _a : Object)
36
+ ], DataSetHistory.prototype, "domain", void 0);
37
+ __decorate([
38
+ (0, typeorm_1.RelationId)((dataSetHistory) => dataSetHistory.domain),
39
+ __metadata("design:type", String)
40
+ ], DataSetHistory.prototype, "domainId", void 0);
41
+ __decorate([
42
+ (0, typeorm_1.Column)(),
43
+ (0, type_graphql_1.Field)(),
44
+ __metadata("design:type", String)
45
+ ], DataSetHistory.prototype, "name", void 0);
46
+ __decorate([
47
+ (0, typeorm_1.Column)({
48
+ nullable: true
49
+ }),
50
+ (0, type_graphql_1.Field)({ nullable: true }),
51
+ __metadata("design:type", String)
52
+ ], DataSetHistory.prototype, "description", void 0);
53
+ __decorate([
54
+ (0, typeorm_1.Column)({
55
+ nullable: true
56
+ }),
57
+ (0, type_graphql_1.Field)({ nullable: true }),
58
+ __metadata("design:type", Boolean)
59
+ ], DataSetHistory.prototype, "active", void 0);
60
+ __decorate([
61
+ (0, typeorm_1.ManyToOne)(type => auth_base_1.Role, {
62
+ nullable: true
63
+ }),
64
+ (0, type_graphql_1.Field)(type => auth_base_1.Role, { nullable: true }),
65
+ __metadata("design:type", typeof (_b = typeof auth_base_1.Role !== "undefined" && auth_base_1.Role) === "function" ? _b : Object)
66
+ ], DataSetHistory.prototype, "entryRole", void 0);
67
+ __decorate([
68
+ (0, typeorm_1.RelationId)((dataSetHistory) => dataSetHistory.entryRole),
69
+ __metadata("design:type", String)
70
+ ], DataSetHistory.prototype, "entryRoleId", void 0);
71
+ __decorate([
72
+ (0, typeorm_1.ManyToOne)(type => auth_base_1.Role, {
73
+ nullable: true
74
+ }),
75
+ (0, type_graphql_1.Field)(type => auth_base_1.Role, { nullable: true }),
76
+ __metadata("design:type", typeof (_c = typeof auth_base_1.Role !== "undefined" && auth_base_1.Role) === "function" ? _c : Object)
77
+ ], DataSetHistory.prototype, "supervisoryRole", void 0);
78
+ __decorate([
79
+ (0, typeorm_1.RelationId)((dataSetHistory) => dataSetHistory.supervisoryRole),
80
+ __metadata("design:type", String)
81
+ ], DataSetHistory.prototype, "supervisoryRoleId", void 0);
82
+ __decorate([
83
+ (0, typeorm_1.Column)({
84
+ nullable: true
85
+ }),
86
+ (0, type_graphql_1.Field)({ nullable: true }),
87
+ __metadata("design:type", String)
88
+ ], DataSetHistory.prototype, "type", void 0);
89
+ __decorate([
90
+ (0, typeorm_1.Column)({
91
+ nullable: true
92
+ }),
93
+ (0, type_graphql_1.Field)({ nullable: true }),
94
+ __metadata("design:type", String)
95
+ ], DataSetHistory.prototype, "entryType", void 0);
96
+ __decorate([
97
+ (0, typeorm_1.Column)({
98
+ nullable: true
99
+ }),
100
+ (0, type_graphql_1.Field)({ nullable: true }),
101
+ __metadata("design:type", String)
102
+ ], DataSetHistory.prototype, "entryView", void 0);
103
+ __decorate([
104
+ (0, typeorm_1.Column)({
105
+ nullable: true
106
+ }),
107
+ (0, type_graphql_1.Field)({ nullable: true }),
108
+ __metadata("design:type", String)
109
+ ], DataSetHistory.prototype, "monitorType", void 0);
110
+ __decorate([
111
+ (0, typeorm_1.Column)({
112
+ nullable: true
113
+ }),
114
+ (0, type_graphql_1.Field)({ nullable: true }),
115
+ __metadata("design:type", String)
116
+ ], DataSetHistory.prototype, "monitorView", void 0);
117
+ __decorate([
118
+ (0, typeorm_1.Column)({
119
+ nullable: true
120
+ }),
121
+ (0, type_graphql_1.Field)({ nullable: true }),
122
+ __metadata("design:type", String)
123
+ ], DataSetHistory.prototype, "reportType", void 0);
124
+ __decorate([
125
+ (0, typeorm_1.Column)({
126
+ nullable: true
127
+ }),
128
+ (0, type_graphql_1.Field)({ nullable: true }),
129
+ __metadata("design:type", String)
130
+ ], DataSetHistory.prototype, "reportView", void 0);
131
+ __decorate([
132
+ (0, type_graphql_1.Field)({ nullable: true }),
133
+ __metadata("design:type", String)
134
+ ], DataSetHistory.prototype, "reportTemplate", void 0);
135
+ __decorate([
136
+ (0, typeorm_1.Column)({
137
+ nullable: true
138
+ }),
139
+ (0, type_graphql_1.Field)({ nullable: true }),
140
+ __metadata("design:type", String)
141
+ ], DataSetHistory.prototype, "useCase", void 0);
142
+ __decorate([
143
+ (0, typeorm_1.Column)('simple-json', { nullable: true }),
144
+ (0, type_graphql_1.Field)(type => shell_1.ScalarObject, { nullable: true }),
145
+ __metadata("design:type", typeof (_d = typeof shell_1.ScalarObject !== "undefined" && shell_1.ScalarObject) === "function" ? _d : Object)
146
+ ], DataSetHistory.prototype, "partitionKeys", void 0);
147
+ __decorate([
148
+ (0, typeorm_1.Column)('simple-json', { nullable: true }),
149
+ (0, type_graphql_1.Field)(type => [data_item_type_1.DataItem], { nullable: true }),
150
+ __metadata("design:type", Array)
151
+ ], DataSetHistory.prototype, "dataItems", void 0);
152
+ __decorate([
153
+ (0, typeorm_1.Column)({
154
+ nullable: true
155
+ }),
156
+ (0, type_graphql_1.Field)({ nullable: true }),
157
+ __metadata("design:type", String)
158
+ ], DataSetHistory.prototype, "schedule", void 0);
159
+ __decorate([
160
+ (0, typeorm_1.Column)({
161
+ nullable: true
162
+ }),
163
+ (0, type_graphql_1.Field)({ nullable: true }),
164
+ __metadata("design:type", String)
165
+ ], DataSetHistory.prototype, "timezone", void 0);
166
+ __decorate([
167
+ (0, typeorm_1.Column)({
168
+ nullable: true
169
+ }),
170
+ (0, type_graphql_1.Field)({ nullable: true }),
171
+ __metadata("design:type", Date)
172
+ ], DataSetHistory.prototype, "createdAt", void 0);
173
+ __decorate([
174
+ (0, typeorm_1.PrimaryColumn)(),
175
+ (0, type_graphql_1.Field)({ nullable: true }),
176
+ __metadata("design:type", Date)
177
+ ], DataSetHistory.prototype, "updatedAt", void 0);
178
+ __decorate([
179
+ (0, typeorm_1.ManyToOne)(type => auth_base_1.User, {
180
+ nullable: true
181
+ }),
182
+ (0, type_graphql_1.Field)({ nullable: true }),
183
+ __metadata("design:type", typeof (_e = typeof auth_base_1.User !== "undefined" && auth_base_1.User) === "function" ? _e : Object)
184
+ ], DataSetHistory.prototype, "creator", void 0);
185
+ __decorate([
186
+ (0, typeorm_1.RelationId)((dataSetHistory) => dataSetHistory.creator),
187
+ __metadata("design:type", String)
188
+ ], DataSetHistory.prototype, "creatorId", void 0);
189
+ __decorate([
190
+ (0, typeorm_1.ManyToOne)(type => auth_base_1.User, {
191
+ nullable: true
192
+ }),
193
+ (0, type_graphql_1.Field)({ nullable: true }),
194
+ __metadata("design:type", typeof (_f = typeof auth_base_1.User !== "undefined" && auth_base_1.User) === "function" ? _f : Object)
195
+ ], DataSetHistory.prototype, "updater", void 0);
196
+ __decorate([
197
+ (0, typeorm_1.RelationId)((dataSetHistory) => dataSetHistory.creator),
198
+ __metadata("design:type", String)
199
+ ], DataSetHistory.prototype, "updaterId", void 0);
200
+ DataSetHistory = __decorate([
201
+ (0, typeorm_1.Entity)(),
202
+ (0, type_graphql_1.ObjectType)({ description: 'Entity for DataSetHistory' })
203
+ ], DataSetHistory);
204
+ exports.DataSetHistory = DataSetHistory;
205
+ //# sourceMappingURL=data-set-history.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-set-history.js","sourceRoot":"","sources":["../../../server/service/data-set-history/data-set-history.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolvers = exports.entities = void 0;
4
+ const data_set_history_1 = require("./data-set-history");
5
+ const data_set_history_query_1 = require("./data-set-history-query");
6
+ exports.entities = [data_set_history_1.DataSetHistory];
7
+ exports.resolvers = [data_set_history_query_1.DataSetHistoryQuery];
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/service/data-set-history/index.ts"],"names":[],"mappings":";;;AAAA,yDAAmD;AACnD,qEAA8D;AAEjD,QAAA,QAAQ,GAAG,CAAC,iCAAc,CAAC,CAAA;AAC3B,QAAA,SAAS,GAAG,CAAC,4CAAmB,CAAC,CAAA"}
@@ -21,21 +21,24 @@ const data_ooc_1 = require("./data-ooc");
21
21
  const data_sample_1 = require("./data-sample");
22
22
  const data_sensor_1 = require("./data-sensor");
23
23
  const data_set_1 = require("./data-set");
24
+ const data_set_history_1 = require("./data-set-history");
24
25
  const data_spec_1 = require("./data-spec");
25
26
  /* EXPORT ENTITY TYPES */
26
27
  __exportStar(require("./data-ooc/data-ooc"), exports);
27
28
  __exportStar(require("./data-sensor/data-sensor"), exports);
28
29
  __exportStar(require("./data-sample/data-sample"), exports);
29
- __exportStar(require("./data-item/data-item"), exports);
30
30
  __exportStar(require("./data-set/data-set"), exports);
31
+ __exportStar(require("./data-set-history/data-set-history"), exports);
32
+ __exportStar(require("./data-set/data-item-type"), exports);
31
33
  __exportStar(require("./data-spec/data-spec"), exports);
32
34
  exports.entities = [
33
35
  /* ENTITIES */
36
+ ...data_item_1.entities,
34
37
  ...data_ooc_1.entities,
35
38
  ...data_sensor_1.entities,
36
39
  ...data_sample_1.entities,
37
- ...data_item_1.entities,
38
40
  ...data_set_1.entities,
41
+ ...data_set_history_1.entities,
39
42
  ...data_spec_1.entities
40
43
  ];
41
44
  exports.schema = {
@@ -44,8 +47,8 @@ exports.schema = {
44
47
  ...data_ooc_1.resolvers,
45
48
  ...data_sensor_1.resolvers,
46
49
  ...data_sample_1.resolvers,
47
- ...data_item_1.resolvers,
48
50
  ...data_set_1.resolvers,
51
+ ...data_set_history_1.resolvers,
49
52
  ...data_spec_1.resolvers
50
53
  ]
51
54
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/service/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,2CAA0F;AAC1F,mCAAmC;AACnC,yCAAuF;AACvF,+CAAgG;AAChG,+CAAgG;AAChG,yCAAuF;AACvF,2CAA0F;AAE1F,yBAAyB;AACzB,sDAAmC;AACnC,4DAAyC;AACzC,4DAAyC;AACzC,wDAAqC;AACrC,sDAAmC;AACnC,wDAAqC;AAExB,QAAA,QAAQ,GAAG;IACtB,cAAc;IACd,GAAG,mBAAe;IAClB,GAAG,sBAAkB;IACrB,GAAG,sBAAkB;IACrB,GAAG,oBAAgB;IACnB,GAAG,mBAAe;IAClB,GAAG,oBAAgB;CACpB,CAAA;AAEY,QAAA,MAAM,GAAG;IACpB,eAAe,EAAE;QACf,sBAAsB;QACtB,GAAG,oBAAgB;QACnB,GAAG,uBAAmB;QACtB,GAAG,uBAAmB;QACtB,GAAG,qBAAiB;QACpB,GAAG,oBAAgB;QACnB,GAAG,qBAAiB;KACrB;CACF,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/service/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,2CAA0D;AAC1D,mCAAmC;AACnC,yCAAuF;AACvF,+CAAgG;AAChG,+CAAgG;AAChG,yCAAuF;AACvF,yDAA6G;AAC7G,2CAA0F;AAE1F,yBAAyB;AACzB,sDAAmC;AACnC,4DAAyC;AACzC,4DAAyC;AACzC,sDAAmC;AACnC,sEAAmD;AACnD,4DAAyC;AACzC,wDAAqC;AAExB,QAAA,QAAQ,GAAG;IACtB,cAAc;IACd,GAAG,oBAAgB;IACnB,GAAG,mBAAe;IAClB,GAAG,sBAAkB;IACrB,GAAG,sBAAkB;IACrB,GAAG,mBAAe;IAClB,GAAG,2BAAsB;IACzB,GAAG,oBAAgB;CACpB,CAAA;AAEY,QAAA,MAAM,GAAG;IACpB,eAAe,EAAE;QACf,sBAAsB;QACtB,GAAG,oBAAgB;QACnB,GAAG,uBAAmB;QACtB,GAAG,uBAAmB;QACtB,GAAG,oBAAgB;QACnB,GAAG,4BAAuB;QAC1B,GAAG,qBAAiB;KACrB;CACF,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/dataset",
3
- "version": "5.0.0-zeta.0",
3
+ "version": "5.0.0-zeta.11",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "client/index.js",
6
6
  "things-factory": true,
@@ -24,23 +24,24 @@
24
24
  "migration:create": "node ../../node_modules/typeorm/cli.js migration:create -d ./server/migrations"
25
25
  },
26
26
  "dependencies": {
27
- "@operato/app": "1.0.0-beta.29",
28
- "@operato/data-grist": "1.0.0-beta.29",
29
- "@operato/dataset": "1.0.0-beta.29",
30
- "@operato/graphql": "1.0.0-beta.29",
31
- "@operato/i18n": "1.0.0-beta.29",
32
- "@operato/layout": "1.0.0-beta.29",
33
- "@operato/shell": "1.0.0-beta.29",
34
- "@operato/styles": "1.0.0-beta.29",
35
- "@operato/utils": "1.0.0-beta.29",
36
- "@things-factory/auth-base": "^5.0.0-zeta.0",
37
- "@things-factory/aws-base": "^5.0.0-zeta.0",
38
- "@things-factory/board-service": "^5.0.0-zeta.0",
39
- "@things-factory/env": "^5.0.0-zeta.0",
40
- "@things-factory/shell": "^5.0.0-zeta.0",
41
- "@things-factory/work-shift": "^5.0.0-zeta.0",
27
+ "@operato/app": "^1.0.0-beta.41",
28
+ "@operato/data-grist": "^1.0.0-beta.41",
29
+ "@operato/dataset": "^1.0.0-beta.41",
30
+ "@operato/graphql": "^1.0.0-beta.41",
31
+ "@operato/grist-editor": "^1.0.0-beta.41",
32
+ "@operato/i18n": "^1.0.0-beta.41",
33
+ "@operato/layout": "^1.0.0-beta.41",
34
+ "@operato/shell": "^1.0.0-beta.41",
35
+ "@operato/styles": "^1.0.0-beta.41",
36
+ "@operato/utils": "^1.0.0-beta.41",
37
+ "@things-factory/auth-base": "^5.0.0-zeta.11",
38
+ "@things-factory/aws-base": "^5.0.0-zeta.11",
39
+ "@things-factory/board-service": "^5.0.0-zeta.11",
40
+ "@things-factory/env": "^5.0.0-zeta.11",
41
+ "@things-factory/shell": "^5.0.0-zeta.11",
42
+ "@things-factory/work-shift": "^5.0.0-zeta.11",
42
43
  "cron-parser": "^4.3.0",
43
44
  "moment-timezone": "^0.5.34"
44
45
  },
45
- "gitHead": "92cc88054dfbf35cc54fb9612a067b811fb2db39"
46
+ "gitHead": "0ceed06171e51dee11be69f3e78e9b395a18720d"
46
47
  }
@@ -3,15 +3,13 @@ import { EntityManager } from 'typeorm'
3
3
 
4
4
  import { User } from '@things-factory/auth-base'
5
5
  import { Domain, getRedirectSubdomainPath, pubsub } from '@things-factory/shell'
6
+ import { getWorkDateAndShift } from '@things-factory/work-shift'
6
7
 
7
- import { DataItem } from '../service/data-item/data-item'
8
8
  import { DataOoc, DataOocStatus } from '../service/data-ooc/data-ooc'
9
9
  import { DataSample } from '../service/data-sample/data-sample'
10
10
  import { NewDataSample } from '../service/data-sample/data-sample-type'
11
11
  import { DataSet } from '../service/data-set/data-set'
12
12
  import { DataUseCase } from './data-use-case'
13
- import { getWorkDateAndShift } from '@things-factory/work-shift'
14
-
15
13
 
16
14
  const debug = require('debug')('things-factory:dataset:controller/save-data-sample')
17
15
 
@@ -56,26 +54,7 @@ export async function createDataSample(
56
54
  where: { id: dataSample.dataSet.id }
57
55
  })
58
56
 
59
- const dataItems = await tx.getRepository(DataItem).find({
60
- where: {
61
- domain,
62
- dataSet
63
- },
64
- order: {
65
- sequence: 'DESC'
66
- }
67
- })
68
-
69
- const spec = dataItems.reduce((spec, dataItem) => {
70
- spec[dataItem.tag] = {
71
- ...dataItem.spec,
72
- name: dataItem.name, /* do we need ? */
73
- hidden: dataItem.hidden
74
- }
75
-
76
- return spec
77
- }, {})
78
-
57
+ const dataItems = dataSet.dataItems
79
58
  const collectedAt = dataSample.collectedAt || new Date()
80
59
 
81
60
  const timezone = dataSet.timezone || domain.timezone || 'UTC'
@@ -83,16 +62,15 @@ export async function createDataSample(
83
62
 
84
63
  // workDate ex) 2022-04-04
85
64
  const { workDate, workShift } = await getWorkDateAndShift(domain, collectedAt, { timezone, format })
86
-
65
+
87
66
  // local time dataSet timezone or domain timezone or default 'UTC'
88
-
89
- // const collectedAt = dataSample.collectedAt || new Date()
67
+
90
68
  const localDateTz = moment(collectedAt).tz(timezone)
91
69
  const defaultPartitionKeys = {
92
70
  domain: domain.subdomain,
93
- datasetid: dataSample.dataSet.id, /* It should not be 'data_set_id' as column name duplicated for Glue */
94
- date: localDateTz.format(format), /* local time date */
95
- workdate: workDate, /* working date */
71
+ datasetid: dataSample.dataSet.id /* It should not be 'data_set_id' as column name duplicated for Glue */,
72
+ date: localDateTz.format(format) /* local time date */,
73
+ workdate: workDate /* working date */,
96
74
  workshift: workShift
97
75
  }
98
76
 
@@ -106,17 +84,18 @@ export async function createDataSample(
106
84
  ...dataSample.data
107
85
  })
108
86
 
109
- const { ooc, oos } = DataUseCase.evaluate(dataSet, dataItems, dataSample.data) || {}
87
+ const { ooc, oos, judgment } = DataUseCase.evaluate(dataSet, dataItems, dataSample.data) || {}
110
88
  const result = await tx.getRepository(DataSample).save({
111
89
  name: dataSet.name,
112
90
  description: dataSet.description,
113
91
  useCase: dataSet.useCase,
114
92
  ...dataSample,
93
+ dataSetVersion: dataSet.version,
115
94
  domain,
116
95
  partitionKeys,
117
- spec,
118
96
  ooc,
119
97
  oos,
98
+ judgment,
120
99
  collectedAt,
121
100
  workDate,
122
101
  workShift,
@@ -126,18 +105,7 @@ export async function createDataSample(
126
105
 
127
106
  if (ooc || oos) {
128
107
  const dataOoc = await tx.getRepository(DataOoc).save({
129
- name: dataSet.name,
130
- description: dataSet.description,
131
- useCase: dataSet.useCase,
132
- dataSet,
133
- dataSample: result,
134
- data: dataSample.data,
135
- rawData: dataSample.rawData,
136
- domain,
137
- partitionKeys,
138
- spec,
139
- ooc,
140
- oos,
108
+ ...result,
141
109
  history: [
142
110
  {
143
111
  user: {
@@ -148,12 +116,7 @@ export async function createDataSample(
148
116
  timestamp: Date.now()
149
117
  }
150
118
  ],
151
- state: DataOocStatus.CREATED,
152
- workDate,
153
- workShift,
154
- collectedAt,
155
- creator: user,
156
- updater: user
119
+ state: DataOocStatus.CREATED
157
120
  })
158
121
 
159
122
  pubsub.publish('data-ooc', {
@@ -1,4 +1,5 @@
1
- import { DataItem, DataSet } from 'server/service'
1
+ import { DataItem } from '../service/data-set/data-item-type'
2
+ import { DataSet } from '../service/data-set/data-set'
2
3
 
3
4
  export type DataItemSpec = {
4
5
  type: string
@@ -13,7 +14,11 @@ export type DataItemSpecSet = {
13
14
  specs: DataItemSpec[]
14
15
  }
15
16
 
16
- export type EvaluationResult = { oos: boolean; ooc: boolean }
17
+ export type EvaluationResult = {
18
+ oos: boolean
19
+ ooc: boolean
20
+ judgment?: { [tag: string]: { ooc: boolean; oos: boolean } }
21
+ }
17
22
 
18
23
  export abstract class DataUseCase {
19
24
  static registry: { [name: string]: DataUseCase } = {}
@@ -33,6 +38,7 @@ export abstract class DataUseCase {
33
38
  public static evaluate(dataSet: DataSet, dataItems: DataItem[], data: any): EvaluationResult {
34
39
  var ooc = false
35
40
  var oos = false
41
+ var judgment: { [tag: string]: { ooc: boolean; oos: boolean } } = {}
36
42
 
37
43
  if (!dataSet.useCase) {
38
44
  return { ooc, oos }
@@ -49,7 +55,7 @@ export abstract class DataUseCase {
49
55
  }
50
56
 
51
57
  let values: any | any[] = data[tag]
52
- if (typeof values === 'undefined') {
58
+ if (values == null) {
53
59
  continue // TODO what if in case no value ?
54
60
  }
55
61
 
@@ -57,6 +63,9 @@ export abstract class DataUseCase {
57
63
  values = [values]
58
64
  }
59
65
 
66
+ let oocForTag = false
67
+ let oosForTag = false
68
+
60
69
  for (let j = 0; j < useCases.length; j++) {
61
70
  const useCase = useCases[j]
62
71
 
@@ -68,17 +77,20 @@ export abstract class DataUseCase {
68
77
  const result = useCase.evaluate(specs, values)
69
78
 
70
79
  if (result) {
80
+ oocForTag ||= result.ooc
81
+ oosForTag ||= result.oos
71
82
  ooc ||= result.ooc
72
83
  oos ||= result.oos
73
84
  }
85
+ }
74
86
 
75
- // if (ooc && oos) {
76
- // return { ooc, oos }
77
- // }
87
+ judgment[tag] = {
88
+ ooc: oocForTag,
89
+ oos: oosForTag
78
90
  }
79
91
  }
80
92
 
81
- return { ooc, oos }
93
+ return { ooc, oos, judgment }
82
94
  }
83
95
 
84
96
  public abstract evaluate(specs: any, values: any[]): EvaluationResult
@@ -1,2 +1,2 @@
1
- export * from './data-use-case'
2
1
  export * from './create-data-sample'
2
+ export * from './data-use-case'
@@ -1,6 +1,3 @@
1
1
  import { DataItem } from './data-item'
2
- import { DataItemQuery } from './data-item-query'
3
- import { DataItemMutation } from './data-item-mutation'
4
2
 
5
3
  export const entities = [DataItem]
6
- export const resolvers = [DataItemQuery, DataItemMutation]
@@ -4,7 +4,8 @@ import { getRepository } from 'typeorm'
4
4
  import { User } from '@things-factory/auth-base'
5
5
  import { Domain, getQueryBuilderFromListParams, ListParam } from '@things-factory/shell'
6
6
 
7
- import { DataSample } from '../data-sample/data-sample'
7
+ import { DataSetHistory } from '../data-set-history/data-set-history'
8
+ import { DataItem } from '../data-set/data-item-type'
8
9
  import { DataSet } from '../data-set/data-set'
9
10
  import { DataOoc } from './data-ooc'
10
11
  import { DataOocList } from './data-ooc-type'
@@ -38,6 +39,17 @@ export class DataOocQuery {
38
39
  return { items, total }
39
40
  }
40
41
 
42
+ @FieldResolver(type => [DataItem])
43
+ async dataItems(@Root() dataOoc: DataOoc): Promise<DataItem[]> {
44
+ const dataSetHistory: DataSetHistory = await getRepository(DataSetHistory).findOne({
45
+ where: {
46
+ id: dataOoc.dataSetId,
47
+ version: dataOoc.dataSetVersion
48
+ }
49
+ })
50
+ return dataSetHistory?.dataItems || []
51
+ }
52
+
41
53
  @FieldResolver(type => DataSet)
42
54
  async dataSet(@Root() dataOoc: DataOoc): Promise<DataSet> {
43
55
  return await getRepository(DataSet).findOne({
@@ -45,13 +57,6 @@ export class DataOocQuery {
45
57
  })
46
58
  }
47
59
 
48
- @FieldResolver(type => DataSample)
49
- async dataSample(@Root() dataOoc: DataOoc): Promise<DataSample> {
50
- return await getRepository(DataSample).findOne({
51
- id: dataOoc.dataSampleId
52
- })
53
- }
54
-
55
60
  @FieldResolver(type => Domain)
56
61
  async domain(@Root() dataOoc: DataOoc): Promise<Domain> {
57
62
  return await getRepository(Domain).findOne(dataOoc.domainId)
@@ -15,6 +15,9 @@ export class NewDataOoc {
15
15
  @Field(type => ObjectRef, { nullable: true })
16
16
  dataSet?: ObjectRef
17
17
 
18
+ @Field({ nullable: true })
19
+ dataSetVersion?: number
20
+
18
21
  @Field(type => ObjectRef, { nullable: true })
19
22
  dataSample?: ObjectRef
20
23
 
@@ -4,9 +4,7 @@ import {
4
4
  CreateDateColumn,
5
5
  Entity,
6
6
  Index,
7
- JoinColumn,
8
7
  ManyToOne,
9
- OneToOne,
10
8
  PrimaryGeneratedColumn,
11
9
  RelationId,
12
10
  UpdateDateColumn
@@ -16,7 +14,7 @@ import { User } from '@things-factory/auth-base'
16
14
  import { config } from '@things-factory/env'
17
15
  import { Domain, ScalarObject } from '@things-factory/shell'
18
16
 
19
- import { DataSample } from '../data-sample/data-sample'
17
+ import { DataItem } from '../data-set/data-item-type'
20
18
  import { DataSet } from '../data-set/data-set'
21
19
 
22
20
  const ORMCONFIG = config.get('ormconfig', {})
@@ -34,9 +32,7 @@ registerEnumType(DataOocStatus, {
34
32
  })
35
33
 
36
34
  @Entity()
37
- @Index('ix_data_ooc_0', (dataOoc: DataOoc) => [dataOoc.domain, dataOoc.dataSet], { unique: false })
38
- @Index('ix_data_ooc_1', (dataOoc: DataOoc) => [dataOoc.domain, dataOoc.dataSample], { unique: true })
39
- @Index('ix_data_ooc_2', (dataOoc: DataOoc) => [dataOoc.domain, dataOoc.collectedAt], { unique: false })
35
+ @Index('ix_data_ooc_0', (dataOoc: DataOoc) => [dataOoc.domain, dataOoc.dataSet, dataOoc.collectedAt], { unique: false })
40
36
  @ObjectType({ description: 'Entity for Out of control data' })
41
37
  export class DataOoc {
42
38
  @PrimaryGeneratedColumn('uuid')
@@ -67,13 +63,9 @@ export class DataOoc {
67
63
  @RelationId((dataOoc: DataOoc) => dataOoc.dataSet)
68
64
  dataSetId?: string
69
65
 
70
- @OneToOne(type => DataSample)
71
- @JoinColumn()
72
- @Field(type => DataSample, { nullable: true })
73
- dataSample?: DataSample
74
-
75
- @RelationId((dataOoc: DataOoc) => dataOoc.dataSample)
76
- dataSampleId?: string
66
+ @Column({ nullable: true })
67
+ @Field({ nullable: true })
68
+ dataSetVersion?: number
77
69
 
78
70
  @Column({
79
71
  nullable: true
@@ -127,7 +119,10 @@ export class DataOoc {
127
119
 
128
120
  @Column('simple-json', { nullable: true })
129
121
  @Field(type => ScalarObject, { nullable: true })
130
- spec?: ScalarObject
122
+ judgment?: ScalarObject
123
+
124
+ @Field(type => [DataItem], { nullable: true })
125
+ dataItems?: DataItem[]
131
126
 
132
127
  @Column('simple-json', { nullable: true })
133
128
  @Field(type => ScalarObject, { nullable: true })
@@ -4,6 +4,8 @@ import { getRepository } from 'typeorm'
4
4
  import { User } from '@things-factory/auth-base'
5
5
  import { Domain, getQueryBuilderFromListParams, ListParam } from '@things-factory/shell'
6
6
 
7
+ import { DataSetHistory } from '../data-set-history/data-set-history'
8
+ import { DataItem } from '../data-set/data-item-type'
7
9
  import { DataSet } from '../data-set/data-set'
8
10
  import { DataSample } from './data-sample'
9
11
  import { DataSampleList } from './data-sample-type'
@@ -37,8 +39,19 @@ export class DataSampleQuery {
37
39
  return { items, total }
38
40
  }
39
41
 
42
+ @FieldResolver(type => [DataItem])
43
+ async dataItems(@Root() dataSample: DataSample): Promise<DataItem[]> {
44
+ const dataSetHistory: DataSetHistory = await getRepository(DataSetHistory).findOne({
45
+ where: {
46
+ id: dataSample.dataSetId,
47
+ version: dataSample.dataSetVersion
48
+ }
49
+ })
50
+ return dataSetHistory?.dataItems || []
51
+ }
52
+
40
53
  @FieldResolver(type => DataSet)
41
- async dataSet(@Root() dataSample: DataSample): Promise<Domain> {
54
+ async dataSet(@Root() dataSample: DataSample): Promise<DataSet> {
42
55
  return await getRepository(DataSet).findOne(dataSample.dataSetId)
43
56
  }
44
57