@things-factory/dataset 5.0.0-alpha.9 → 5.0.0-zeta.1

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 (105) hide show
  1. package/README.md +9 -0
  2. package/assets/data-samples.jpg +0 -0
  3. package/client/bootstrap.js +21 -1
  4. package/client/pages/{data-entry-form.js → data-entry/data-entry-form.js} +15 -3
  5. package/client/pages/data-entry/data-entry-list-page.js +390 -0
  6. package/client/pages/data-ooc/data-ooc-list-page.js +416 -0
  7. package/client/pages/data-ooc/data-ooc-view.js +183 -0
  8. package/client/pages/data-report/data-report-embed-page.js +113 -0
  9. package/client/pages/data-report/data-report-list-page.js +432 -0
  10. package/client/pages/data-report/jasper-report-oocs-page.js +122 -0
  11. package/client/pages/data-report/jasper-report-samples-crosstab-page.js +122 -0
  12. package/client/pages/data-report/jasper-report-samples-page.js +122 -0
  13. package/client/pages/data-sample/data-sample-list-page.js +372 -0
  14. package/client/pages/data-sample/data-sample-view.js +98 -0
  15. package/client/pages/{data-sensor.js → data-sensor/data-sensor-list-page.js} +43 -68
  16. package/client/pages/{data-item-list.js → data-set/data-item-list.js} +36 -11
  17. package/client/pages/{data-set-importer.js → data-set/data-set-importer.js} +0 -0
  18. package/client/pages/data-set/data-set-list-page.js +739 -0
  19. package/client/route.js +34 -6
  20. package/config/config.development.js +13 -0
  21. package/config/config.production.js +1 -0
  22. package/dist-server/controllers/create-data-sample.js +133 -0
  23. package/dist-server/controllers/create-data-sample.js.map +1 -0
  24. package/dist-server/controllers/data-use-case.js +57 -0
  25. package/dist-server/controllers/data-use-case.js.map +1 -0
  26. package/dist-server/controllers/index.js +18 -0
  27. package/dist-server/controllers/index.js.map +1 -1
  28. package/dist-server/controllers/jasper-report.js +156 -0
  29. package/dist-server/controllers/jasper-report.js.map +1 -0
  30. package/dist-server/index.js +1 -0
  31. package/dist-server/index.js.map +1 -1
  32. package/dist-server/routes.js +13 -24
  33. package/dist-server/routes.js.map +1 -1
  34. package/dist-server/service/data-item/data-item-query.js +6 -2
  35. package/dist-server/service/data-item/data-item-query.js.map +1 -1
  36. package/dist-server/service/data-item/data-item-type.js +15 -7
  37. package/dist-server/service/data-item/data-item-type.js.map +1 -1
  38. package/dist-server/service/data-item/data-item.js +17 -3
  39. package/dist-server/service/data-item/data-item.js.map +1 -1
  40. package/dist-server/service/data-ooc/data-ooc-mutation.js +92 -0
  41. package/dist-server/service/data-ooc/data-ooc-mutation.js.map +1 -0
  42. package/dist-server/service/data-ooc/data-ooc-query.js +120 -0
  43. package/dist-server/service/data-ooc/data-ooc-query.js.map +1 -0
  44. package/dist-server/service/data-ooc/data-ooc-subscription.js +65 -0
  45. package/dist-server/service/data-ooc/data-ooc-subscription.js.map +1 -0
  46. package/dist-server/service/data-ooc/data-ooc-type.js +107 -0
  47. package/dist-server/service/data-ooc/data-ooc-type.js.map +1 -0
  48. package/dist-server/service/data-ooc/data-ooc.js +237 -0
  49. package/dist-server/service/data-ooc/data-ooc.js.map +1 -0
  50. package/dist-server/service/data-ooc/index.js +10 -0
  51. package/dist-server/service/data-ooc/index.js.map +1 -0
  52. package/dist-server/service/data-sample/data-sample-mutation.js +2 -138
  53. package/dist-server/service/data-sample/data-sample-mutation.js.map +1 -1
  54. package/dist-server/service/data-sample/data-sample-query.js +7 -2
  55. package/dist-server/service/data-sample/data-sample-query.js.map +1 -1
  56. package/dist-server/service/data-sample/data-sample-type.js +12 -42
  57. package/dist-server/service/data-sample/data-sample-type.js.map +1 -1
  58. package/dist-server/service/data-sample/data-sample.js +34 -3
  59. package/dist-server/service/data-sample/data-sample.js.map +1 -1
  60. package/dist-server/service/data-sensor/data-sensor-query.js +7 -2
  61. package/dist-server/service/data-sensor/data-sensor-query.js.map +1 -1
  62. package/dist-server/service/data-set/data-set-mutation.js +40 -14
  63. package/dist-server/service/data-set/data-set-mutation.js.map +1 -1
  64. package/dist-server/service/data-set/data-set-query.js +190 -3
  65. package/dist-server/service/data-set/data-set-query.js.map +1 -1
  66. package/dist-server/service/data-set/data-set-type.js +84 -3
  67. package/dist-server/service/data-set/data-set-type.js.map +1 -1
  68. package/dist-server/service/data-set/data-set.js +110 -15
  69. package/dist-server/service/data-set/data-set.js.map +1 -1
  70. package/dist-server/service/index.js +6 -2
  71. package/dist-server/service/index.js.map +1 -1
  72. package/package.json +19 -13
  73. package/server/controllers/create-data-sample.ts +177 -0
  74. package/server/controllers/data-use-case.ts +85 -0
  75. package/server/controllers/index.ts +2 -0
  76. package/server/controllers/jasper-report.ts +170 -0
  77. package/server/index.ts +1 -0
  78. package/server/routes.ts +21 -31
  79. package/server/service/data-item/data-item-query.ts +8 -3
  80. package/server/service/data-item/data-item-type.ts +10 -6
  81. package/server/service/data-item/data-item.ts +15 -4
  82. package/server/service/data-ooc/data-ooc-mutation.ts +150 -0
  83. package/server/service/data-ooc/data-ooc-query.ts +69 -0
  84. package/server/service/data-ooc/data-ooc-subscription.ts +51 -0
  85. package/server/service/data-ooc/data-ooc-type.ts +68 -0
  86. package/server/service/data-ooc/data-ooc.ts +204 -0
  87. package/server/service/data-ooc/index.ts +7 -0
  88. package/server/service/data-sample/data-sample-mutation.ts +3 -168
  89. package/server/service/data-sample/data-sample-query.ts +9 -3
  90. package/server/service/data-sample/data-sample-type.ts +7 -28
  91. package/server/service/data-sample/data-sample.ts +33 -3
  92. package/server/service/data-sensor/data-sensor-query.ts +9 -3
  93. package/server/service/data-set/data-set-mutation.ts +53 -14
  94. package/server/service/data-set/data-set-query.ts +161 -4
  95. package/server/service/data-set/data-set-type.ts +65 -4
  96. package/server/service/data-set/data-set.ts +100 -12
  97. package/server/service/index.ts +6 -2
  98. package/things-factory.config.js +35 -7
  99. package/translations/en.json +46 -3
  100. package/translations/ko.json +45 -3
  101. package/translations/ms.json +44 -3
  102. package/translations/zh.json +44 -3
  103. package/client/pages/data-sample.js +0 -307
  104. package/client/pages/data-set.js +0 -457
  105. package/yarn-error.log +0 -23244
@@ -1 +1 @@
1
- {"version":3,"file":"data-set-type.js","sourceRoot":"","sources":["../../../server/service/data-set/data-set-type.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,+CAAoE;AAEpE,iDAAoD;AAEpD,yCAAoC;AAGpC,IAAa,UAAU,GAAvB,MAAa,UAAU;CAqBtB,CAAA;AAnBC;IADC,IAAA,oBAAK,GAAE;;wCACI;AAGZ;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+CACN;AAGpB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;0CACV;AAGhB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;wCACb;AAGb;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,oBAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;kDAChC,oBAAY,oBAAZ,oBAAY;iDAAA;AAG5B;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;4CACT;AAGjB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;4CACT;AApBN,UAAU;IADtB,IAAA,wBAAS,GAAE;GACC,UAAU,CAqBtB;AArBY,gCAAU;AAwBvB,IAAa,YAAY,GAAzB,MAAa,YAAY;CA2BxB,CAAA;AAzBC;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;wCAC3B;AAGX;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;0CACb;AAGb;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;iDACN;AAGpB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;4CACV;AAGhB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;0CACb;AAGb;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,oBAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;kDAChC,oBAAY,oBAAZ,oBAAY;mDAAA;AAG5B;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8CACT;AAGjB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8CACT;AAGjB;IADC,IAAA,oBAAK,GAAE;;4CACM;AA1BH,YAAY;IADxB,IAAA,wBAAS,GAAE;GACC,YAAY,CA2BxB;AA3BY,oCAAY;AA8BzB,IAAa,WAAW,GAAxB,MAAa,WAAW;CAMvB,CAAA;AAJC;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,kBAAO,CAAC,CAAC;;0CACT;AAGhB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,CAAC;;0CACN;AALF,WAAW;IADvB,IAAA,yBAAU,GAAE;GACA,WAAW,CAMvB;AANY,kCAAW"}
1
+ {"version":3,"file":"data-set-type.js","sourceRoot":"","sources":["../../../server/service/data-set/data-set-type.ts"],"names":[],"mappings":"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"}
@@ -8,15 +8,47 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
- var _a, _b, _c, _d;
11
+ var _a, _b, _c, _d, _e, _f;
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.DataSet = void 0;
13
+ exports.DataSet = exports.DataSetReportType = exports.DataSetMonitorType = exports.DataSetEntryType = void 0;
14
14
  const type_graphql_1 = require("type-graphql");
15
15
  const typeorm_1 = require("typeorm");
16
16
  const auth_base_1 = require("@things-factory/auth-base");
17
17
  const shell_1 = require("@things-factory/shell");
18
18
  const data_item_1 = require("../data-item/data-item");
19
- const data_sample_1 = require("../data-sample/data-sample");
19
+ var DataSetEntryType;
20
+ (function (DataSetEntryType) {
21
+ DataSetEntryType["Generated"] = "generated";
22
+ DataSetEntryType["Board"] = "board";
23
+ DataSetEntryType["Page"] = "page";
24
+ DataSetEntryType["ExternalURL"] = "external";
25
+ })(DataSetEntryType = exports.DataSetEntryType || (exports.DataSetEntryType = {}));
26
+ (0, type_graphql_1.registerEnumType)(DataSetEntryType, {
27
+ name: 'DataSetEntryType',
28
+ description: 'entry type enumeration for data-set'
29
+ });
30
+ var DataSetMonitorType;
31
+ (function (DataSetMonitorType) {
32
+ DataSetMonitorType["Generated"] = "generated";
33
+ DataSetMonitorType["Board"] = "board";
34
+ DataSetMonitorType["Page"] = "page";
35
+ DataSetMonitorType["ExternalURL"] = "external";
36
+ })(DataSetMonitorType = exports.DataSetMonitorType || (exports.DataSetMonitorType = {}));
37
+ (0, type_graphql_1.registerEnumType)(DataSetMonitorType, {
38
+ name: 'DataSetMonitorType',
39
+ description: 'monitor type enumeration for data-set'
40
+ });
41
+ var DataSetReportType;
42
+ (function (DataSetReportType) {
43
+ DataSetReportType["Generated"] = "generated";
44
+ DataSetReportType["Board"] = "board";
45
+ DataSetReportType["Page"] = "page";
46
+ DataSetReportType["ExternalURL"] = "external";
47
+ })(DataSetReportType = exports.DataSetReportType || (exports.DataSetReportType = {}));
48
+ (0, type_graphql_1.registerEnumType)(DataSetReportType, {
49
+ name: 'DataSetReportType',
50
+ description: 'report type enumeration for data-set'
51
+ });
20
52
  let DataSet = class DataSet {
21
53
  };
22
54
  __decorate([
@@ -52,6 +84,28 @@ __decorate([
52
84
  (0, type_graphql_1.Field)({ nullable: true }),
53
85
  __metadata("design:type", Boolean)
54
86
  ], DataSet.prototype, "active", void 0);
87
+ __decorate([
88
+ (0, typeorm_1.ManyToOne)(type => auth_base_1.Role, {
89
+ nullable: true
90
+ }),
91
+ (0, type_graphql_1.Field)(type => auth_base_1.Role, { nullable: true }),
92
+ __metadata("design:type", typeof (_b = typeof auth_base_1.Role !== "undefined" && auth_base_1.Role) === "function" ? _b : Object)
93
+ ], DataSet.prototype, "entryRole", void 0);
94
+ __decorate([
95
+ (0, typeorm_1.RelationId)((dataSet) => dataSet.entryRole),
96
+ __metadata("design:type", String)
97
+ ], DataSet.prototype, "entryRoleId", void 0);
98
+ __decorate([
99
+ (0, typeorm_1.ManyToOne)(type => auth_base_1.Role, {
100
+ nullable: true
101
+ }),
102
+ (0, type_graphql_1.Field)(type => auth_base_1.Role, { nullable: true }),
103
+ __metadata("design:type", typeof (_c = typeof auth_base_1.Role !== "undefined" && auth_base_1.Role) === "function" ? _c : Object)
104
+ ], DataSet.prototype, "supervisoryRole", void 0);
105
+ __decorate([
106
+ (0, typeorm_1.RelationId)((dataSet) => dataSet.supervisoryRole),
107
+ __metadata("design:type", String)
108
+ ], DataSet.prototype, "supervisoryRoleId", void 0);
55
109
  __decorate([
56
110
  (0, typeorm_1.Column)({
57
111
  nullable: true
@@ -60,27 +114,68 @@ __decorate([
60
114
  __metadata("design:type", String)
61
115
  ], DataSet.prototype, "type", void 0);
62
116
  __decorate([
63
- (0, typeorm_1.Column)('simple-json', { nullable: true }),
64
- (0, type_graphql_1.Field)(type => shell_1.ScalarObject, { nullable: true }),
65
- __metadata("design:type", typeof (_b = typeof shell_1.ScalarObject !== "undefined" && shell_1.ScalarObject) === "function" ? _b : Object)
66
- ], DataSet.prototype, "partitionKeys", void 0);
117
+ (0, typeorm_1.Column)({
118
+ nullable: true
119
+ }),
120
+ (0, type_graphql_1.Field)({ nullable: true }),
121
+ __metadata("design:type", String)
122
+ ], DataSet.prototype, "entryType", void 0);
123
+ __decorate([
124
+ (0, typeorm_1.Column)({
125
+ nullable: true
126
+ }),
127
+ (0, type_graphql_1.Field)({ nullable: true }),
128
+ __metadata("design:type", String)
129
+ ], DataSet.prototype, "entryView", void 0);
67
130
  __decorate([
68
131
  (0, typeorm_1.Column)({
69
132
  nullable: true
70
133
  }),
71
134
  (0, type_graphql_1.Field)({ nullable: true }),
72
135
  __metadata("design:type", String)
73
- ], DataSet.prototype, "slugger", void 0);
136
+ ], DataSet.prototype, "monitorType", void 0);
137
+ __decorate([
138
+ (0, typeorm_1.Column)({
139
+ nullable: true
140
+ }),
141
+ (0, type_graphql_1.Field)({ nullable: true }),
142
+ __metadata("design:type", String)
143
+ ], DataSet.prototype, "monitorView", void 0);
144
+ __decorate([
145
+ (0, typeorm_1.Column)({
146
+ nullable: true
147
+ }),
148
+ (0, type_graphql_1.Field)({ nullable: true }),
149
+ __metadata("design:type", String)
150
+ ], DataSet.prototype, "reportType", void 0);
151
+ __decorate([
152
+ (0, typeorm_1.Column)({
153
+ nullable: true
154
+ }),
155
+ (0, type_graphql_1.Field)({ nullable: true }),
156
+ __metadata("design:type", String)
157
+ ], DataSet.prototype, "reportView", void 0);
158
+ __decorate([
159
+ (0, type_graphql_1.Field)({ nullable: true }),
160
+ __metadata("design:type", String)
161
+ ], DataSet.prototype, "reportTemplate", void 0);
162
+ __decorate([
163
+ (0, typeorm_1.Column)({
164
+ nullable: true
165
+ }),
166
+ (0, type_graphql_1.Field)({ nullable: true }),
167
+ __metadata("design:type", String)
168
+ ], DataSet.prototype, "useCase", void 0);
169
+ __decorate([
170
+ (0, typeorm_1.Column)('simple-json', { nullable: true }),
171
+ (0, type_graphql_1.Field)(type => shell_1.ScalarObject, { nullable: true }),
172
+ __metadata("design:type", typeof (_d = typeof shell_1.ScalarObject !== "undefined" && shell_1.ScalarObject) === "function" ? _d : Object)
173
+ ], DataSet.prototype, "partitionKeys", void 0);
74
174
  __decorate([
75
175
  (0, typeorm_1.OneToMany)(type => data_item_1.DataItem, dataItem => dataItem.dataSet),
76
176
  (0, type_graphql_1.Field)(type => [data_item_1.DataItem], { nullable: true }),
77
177
  __metadata("design:type", Array)
78
178
  ], DataSet.prototype, "dataItems", void 0);
79
- __decorate([
80
- (0, typeorm_1.OneToMany)(type => data_sample_1.DataSample, dataSample => dataSample.dataSet),
81
- (0, type_graphql_1.Field)(type => [data_sample_1.DataSample], { nullable: true }),
82
- __metadata("design:type", Array)
83
- ], DataSet.prototype, "dataSamples", void 0);
84
179
  __decorate([
85
180
  (0, typeorm_1.Column)({
86
181
  nullable: true
@@ -110,7 +205,7 @@ __decorate([
110
205
  nullable: true
111
206
  }),
112
207
  (0, type_graphql_1.Field)({ nullable: true }),
113
- __metadata("design:type", typeof (_c = typeof auth_base_1.User !== "undefined" && auth_base_1.User) === "function" ? _c : Object)
208
+ __metadata("design:type", typeof (_e = typeof auth_base_1.User !== "undefined" && auth_base_1.User) === "function" ? _e : Object)
114
209
  ], DataSet.prototype, "creator", void 0);
115
210
  __decorate([
116
211
  (0, typeorm_1.RelationId)((dataSet) => dataSet.creator),
@@ -121,7 +216,7 @@ __decorate([
121
216
  nullable: true
122
217
  }),
123
218
  (0, type_graphql_1.Field)({ nullable: true }),
124
- __metadata("design:type", typeof (_d = typeof auth_base_1.User !== "undefined" && auth_base_1.User) === "function" ? _d : Object)
219
+ __metadata("design:type", typeof (_f = typeof auth_base_1.User !== "undefined" && auth_base_1.User) === "function" ? _f : Object)
125
220
  ], DataSet.prototype, "updater", void 0);
126
221
  __decorate([
127
222
  (0, typeorm_1.RelationId)((dataSet) => dataSet.creator),
@@ -1 +1 @@
1
- {"version":3,"file":"data-set.js","sourceRoot":"","sources":["../../../server/service/data-set/data-set.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-set.js","sourceRoot":"","sources":["../../../server/service/data-set/data-set.ts"],"names":[],"mappings":"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"}
@@ -15,13 +15,15 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.schema = exports.entities = void 0;
18
+ const data_item_1 = require("./data-item");
18
19
  /* IMPORT ENTITIES AND RESOLVERS */
19
- const data_sensor_1 = require("./data-sensor");
20
+ const data_ooc_1 = require("./data-ooc");
20
21
  const data_sample_1 = require("./data-sample");
21
- const data_item_1 = require("./data-item");
22
+ const data_sensor_1 = require("./data-sensor");
22
23
  const data_set_1 = require("./data-set");
23
24
  const data_spec_1 = require("./data-spec");
24
25
  /* EXPORT ENTITY TYPES */
26
+ __exportStar(require("./data-ooc/data-ooc"), exports);
25
27
  __exportStar(require("./data-sensor/data-sensor"), exports);
26
28
  __exportStar(require("./data-sample/data-sample"), exports);
27
29
  __exportStar(require("./data-item/data-item"), exports);
@@ -29,6 +31,7 @@ __exportStar(require("./data-set/data-set"), exports);
29
31
  __exportStar(require("./data-spec/data-spec"), exports);
30
32
  exports.entities = [
31
33
  /* ENTITIES */
34
+ ...data_ooc_1.entities,
32
35
  ...data_sensor_1.entities,
33
36
  ...data_sample_1.entities,
34
37
  ...data_item_1.entities,
@@ -38,6 +41,7 @@ exports.entities = [
38
41
  exports.schema = {
39
42
  resolverClasses: [
40
43
  /* RESOLVER CLASSES */
44
+ ...data_ooc_1.resolvers,
41
45
  ...data_sensor_1.resolvers,
42
46
  ...data_sample_1.resolvers,
43
47
  ...data_item_1.resolvers,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/service/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,mCAAmC;AACnC,+CAAgG;AAChG,+CAAgG;AAChG,2CAA0F;AAC1F,yCAAuF;AACvF,2CAA0F;AAE1F,yBAAyB;AACzB,4DAAyC;AACzC,4DAAyC;AACzC,wDAAqC;AACrC,sDAAmC;AACnC,wDAAqC;AAExB,QAAA,QAAQ,GAAG;IACtB,cAAc;IACd,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,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,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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/dataset",
3
- "version": "5.0.0-alpha.9",
3
+ "version": "5.0.0-zeta.1",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "client/index.js",
6
6
  "things-factory": true,
@@ -24,17 +24,23 @@
24
24
  "migration:create": "node ../../node_modules/typeorm/cli.js migration:create -d ./server/migrations"
25
25
  },
26
26
  "dependencies": {
27
- "@operato/data-grist": "1.0.0-alpha.20",
28
- "@operato/dataset": "1.0.0-alpha.20",
29
- "@operato/graphql": "1.0.0-alpha.20",
30
- "@operato/i18n": "1.0.0-alpha.20",
31
- "@operato/layout": "1.0.0-alpha.20",
32
- "@operato/shell": "1.0.0-alpha.20",
33
- "@operato/styles": "1.0.0-alpha.20",
34
- "@operato/utils": "1.0.0-alpha.20",
35
- "@things-factory/auth-base": "^5.0.0-alpha.9",
36
- "@things-factory/env": "^5.0.0-alpha.9",
37
- "@things-factory/shell": "^5.0.0-alpha.9"
27
+ "@operato/app": "1.0.0-beta.30",
28
+ "@operato/data-grist": "1.0.0-beta.30",
29
+ "@operato/dataset": "1.0.0-beta.30",
30
+ "@operato/graphql": "1.0.0-beta.30",
31
+ "@operato/i18n": "1.0.0-beta.30",
32
+ "@operato/layout": "1.0.0-beta.30",
33
+ "@operato/shell": "1.0.0-beta.30",
34
+ "@operato/styles": "1.0.0-beta.30",
35
+ "@operato/utils": "1.0.0-beta.30",
36
+ "@things-factory/auth-base": "^5.0.0-zeta.1",
37
+ "@things-factory/aws-base": "^5.0.0-zeta.1",
38
+ "@things-factory/board-service": "^5.0.0-zeta.1",
39
+ "@things-factory/env": "^5.0.0-zeta.1",
40
+ "@things-factory/shell": "^5.0.0-zeta.1",
41
+ "@things-factory/work-shift": "^5.0.0-zeta.1",
42
+ "cron-parser": "^4.3.0",
43
+ "moment-timezone": "^0.5.34"
38
44
  },
39
- "gitHead": "c0f2f0758f80724cae6bbd56bbea43feef0f8a1c"
45
+ "gitHead": "7b69e48d7a0441c5dda884cc895914a6ae3b1c27"
40
46
  }
@@ -0,0 +1,177 @@
1
+ import moment from 'moment-timezone'
2
+ import { EntityManager } from 'typeorm'
3
+
4
+ import { User } from '@things-factory/auth-base'
5
+ import { Domain, getRedirectSubdomainPath, pubsub } from '@things-factory/shell'
6
+
7
+ import { DataItem } from '../service/data-item/data-item'
8
+ import { DataOoc, DataOocStatus } from '../service/data-ooc/data-ooc'
9
+ import { DataSample } from '../service/data-sample/data-sample'
10
+ import { NewDataSample } from '../service/data-sample/data-sample-type'
11
+ import { DataSet } from '../service/data-set/data-set'
12
+ import { DataUseCase } from './data-use-case'
13
+ import { getWorkDateAndShift } from '@things-factory/work-shift'
14
+
15
+
16
+ const debug = require('debug')('things-factory:dataset:controller/save-data-sample')
17
+
18
+ // parse variable javascript string pattern
19
+ const replaceVariables = (keys, dic) => {
20
+ for (const k in keys) {
21
+ const matches = keys[k].match(/\$\{\w*\}/g)
22
+ matches &&
23
+ matches.forEach(m => {
24
+ keys[k] = keys[k].replace(m, dic[m.slice(2, -1)])
25
+ })
26
+ }
27
+ return keys
28
+ }
29
+
30
+ // It is required UTC date for Partitioning File System like AWS S3 from Athena.
31
+ // ex) %YYYY, %MM, %DD
32
+ const formatDate = (keys, _moment) => {
33
+ for (const k in keys) {
34
+ const matches = keys[k].match(/%\w*/g)
35
+ matches &&
36
+ matches.forEach(m => {
37
+ keys[k] = keys[k].replace(m, _moment.format(m.substr(1)))
38
+ })
39
+ }
40
+ return keys
41
+ }
42
+
43
+ export async function createDataSample(
44
+ dataSample: NewDataSample,
45
+ context: {
46
+ state: {
47
+ domain: Domain
48
+ user: User
49
+ tx: EntityManager
50
+ }
51
+ }
52
+ ): Promise<DataSample> {
53
+ const { domain, user, tx } = context.state
54
+
55
+ const dataSet = await tx.getRepository(DataSet).findOne({
56
+ where: { id: dataSample.dataSet.id }
57
+ })
58
+
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
+
79
+ const collectedAt = dataSample.collectedAt || new Date()
80
+
81
+ const timezone = dataSet.timezone || domain.timezone || 'UTC'
82
+ const format = 'YYYY-MM-DD'
83
+
84
+ // workDate ex) 2022-04-04
85
+ const { workDate, workShift } = await getWorkDateAndShift(domain, collectedAt, { timezone, format })
86
+
87
+ // local time dataSet timezone or domain timezone or default 'UTC'
88
+
89
+ // const collectedAt = dataSample.collectedAt || new Date()
90
+ const localDateTz = moment(collectedAt).tz(timezone)
91
+ const defaultPartitionKeys = {
92
+ 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 */
96
+ workshift: workShift
97
+ }
98
+
99
+ var partitionKeys = {
100
+ ...defaultPartitionKeys,
101
+ ...dataSet.partitionKeys
102
+ }
103
+
104
+ partitionKeys = formatDate(partitionKeys, localDateTz)
105
+ partitionKeys = replaceVariables(partitionKeys, {
106
+ ...dataSample.data
107
+ })
108
+
109
+ const { ooc, oos } = DataUseCase.evaluate(dataSet, dataItems, dataSample.data) || {}
110
+ const result = await tx.getRepository(DataSample).save({
111
+ name: dataSet.name,
112
+ description: dataSet.description,
113
+ useCase: dataSet.useCase,
114
+ ...dataSample,
115
+ domain,
116
+ partitionKeys,
117
+ spec,
118
+ ooc,
119
+ oos,
120
+ collectedAt,
121
+ workDate,
122
+ workShift,
123
+ creator: user,
124
+ updater: user
125
+ })
126
+
127
+ if (ooc || oos) {
128
+ 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,
141
+ history: [
142
+ {
143
+ user: {
144
+ id: user.id,
145
+ name: user.name
146
+ },
147
+ state: DataOocStatus.CREATED,
148
+ timestamp: Date.now()
149
+ }
150
+ ],
151
+ state: DataOocStatus.CREATED,
152
+ workDate,
153
+ workShift,
154
+ collectedAt,
155
+ creator: user,
156
+ updater: user
157
+ })
158
+
159
+ pubsub.publish('data-ooc', {
160
+ dataOoc,
161
+ supervisoryRoleId: dataSet.supervisoryRoleId
162
+ })
163
+
164
+ pubsub.publish('notification', {
165
+ notification: {
166
+ domain,
167
+ type: 'error',
168
+ title: `Data OOC occurred on '${dataSet.name}'`,
169
+ body: `Data OOC occurred on '${dataSet.name}'`,
170
+ url: getRedirectSubdomainPath(context, domain.subdomain, `/data-ooc/${dataOoc.id}`),
171
+ timestamp: collectedAt
172
+ }
173
+ })
174
+ }
175
+
176
+ return result
177
+ }
@@ -0,0 +1,85 @@
1
+ import { DataItem, DataSet } from 'server/service'
2
+
3
+ export type DataItemSpec = {
4
+ type: string
5
+ label: string
6
+ name: string
7
+ property: { [option: string]: any }
8
+ }
9
+
10
+ export type DataItemSpecSet = {
11
+ name: string
12
+ description: string
13
+ specs: DataItemSpec[]
14
+ }
15
+
16
+ export type EvaluationResult = { oos: boolean; ooc: boolean }
17
+
18
+ export abstract class DataUseCase {
19
+ static registry: { [name: string]: DataUseCase } = {}
20
+
21
+ public static registerUseCase(name: string, provider: DataUseCase) {
22
+ DataUseCase.registry[name] = provider
23
+ }
24
+
25
+ public static getUseCaseNames() {
26
+ return Object.keys(DataUseCase.registry)
27
+ }
28
+
29
+ public static getUseCase(name: string): DataUseCase | undefined {
30
+ return DataUseCase.registry[name]
31
+ }
32
+
33
+ public static evaluate(dataSet: DataSet, dataItems: DataItem[], data: any): EvaluationResult {
34
+ var ooc = false
35
+ var oos = false
36
+
37
+ if (!dataSet.useCase) {
38
+ return { ooc, oos }
39
+ }
40
+
41
+ const useCaseNames = dataSet.useCase.split(',').map(useCaseName => useCaseName.trim())
42
+ const useCases = useCaseNames.map(useCaseName => DataUseCase.getUseCase(useCaseName)).filter(useCase => !!useCase)
43
+
44
+ for (let i = 0; i < dataItems.length; i++) {
45
+ const dataItem = dataItems[i]
46
+ const { active, tag } = dataItem
47
+ if (!active || !tag) {
48
+ continue
49
+ }
50
+
51
+ let values: any | any[] = data[tag]
52
+ if (typeof values === 'undefined') {
53
+ continue // TODO what if in case no value ?
54
+ }
55
+
56
+ if (!(values instanceof Array)) {
57
+ values = [values]
58
+ }
59
+
60
+ for (let j = 0; j < useCases.length; j++) {
61
+ const useCase = useCases[j]
62
+
63
+ const specs = dataItem.spec?.[dataSet.useCase]
64
+ if (!specs) {
65
+ continue
66
+ }
67
+
68
+ const result = useCase.evaluate(specs, values)
69
+
70
+ if (result) {
71
+ ooc ||= result.ooc
72
+ oos ||= result.oos
73
+ }
74
+
75
+ // if (ooc && oos) {
76
+ // return { ooc, oos }
77
+ // }
78
+ }
79
+ }
80
+
81
+ return { ooc, oos }
82
+ }
83
+
84
+ public abstract evaluate(specs: any, values: any[]): EvaluationResult
85
+ }
@@ -0,0 +1,2 @@
1
+ export * from './data-use-case'
2
+ export * from './create-data-sample'