@things-factory/dataset 5.0.0-alpha.11 → 5.0.0-alpha.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/client/bootstrap.js +3 -3
- package/client/pages/data-entry-form.js +14 -5
- package/client/pages/data-ooc.js +418 -0
- package/client/pages/data-sample.js +94 -47
- package/client/pages/data-sensor.js +1 -8
- package/client/pages/data-set.js +76 -11
- package/client/route.js +4 -0
- package/dist-server/controllers/data-use-case.js +57 -0
- package/dist-server/controllers/data-use-case.js.map +1 -0
- package/dist-server/controllers/index.js +17 -0
- package/dist-server/controllers/index.js.map +1 -1
- package/dist-server/index.js +1 -0
- package/dist-server/index.js.map +1 -1
- package/dist-server/service/data-item/data-item-type.js +6 -6
- package/dist-server/service/data-item/data-item-type.js.map +1 -1
- package/dist-server/service/data-item/data-item.js +1 -1
- package/dist-server/service/data-item/data-item.js.map +1 -1
- package/dist-server/service/data-ooc/data-ooc-mutation.js +130 -0
- package/dist-server/service/data-ooc/data-ooc-mutation.js.map +1 -0
- package/dist-server/service/data-ooc/data-ooc-query.js +89 -0
- package/dist-server/service/data-ooc/data-ooc-query.js.map +1 -0
- package/dist-server/service/data-ooc/data-ooc-type.js +99 -0
- package/dist-server/service/data-ooc/data-ooc-type.js.map +1 -0
- package/dist-server/service/data-ooc/data-ooc.js +218 -0
- package/dist-server/service/data-ooc/data-ooc.js.map +1 -0
- package/dist-server/service/data-ooc/index.js +9 -0
- package/dist-server/service/data-ooc/index.js.map +1 -0
- package/dist-server/service/data-sample/data-sample-mutation.js +31 -89
- package/dist-server/service/data-sample/data-sample-mutation.js.map +1 -1
- package/dist-server/service/data-sample/data-sample-type.js +5 -43
- package/dist-server/service/data-sample/data-sample-type.js.map +1 -1
- package/dist-server/service/data-sample/data-sample.js +20 -6
- package/dist-server/service/data-sample/data-sample.js.map +1 -1
- package/dist-server/service/data-set/data-set-mutation.js +1 -2
- package/dist-server/service/data-set/data-set-mutation.js.map +1 -1
- package/dist-server/service/data-set/data-set-type.js +19 -3
- package/dist-server/service/data-set/data-set-type.js.map +1 -1
- package/dist-server/service/data-set/data-set.js +24 -12
- package/dist-server/service/data-set/data-set.js.map +1 -1
- package/dist-server/service/index.js +6 -2
- package/dist-server/service/index.js.map +1 -1
- package/package.json +15 -14
- package/server/controllers/data-use-case.ts +85 -0
- package/server/controllers/index.ts +1 -0
- package/server/index.ts +1 -0
- package/server/service/data-item/data-item-type.ts +3 -4
- package/server/service/data-item/data-item.ts +1 -1
- package/server/service/data-ooc/data-ooc-mutation.ts +117 -0
- package/server/service/data-ooc/data-ooc-query.ts +45 -0
- package/server/service/data-ooc/data-ooc-type.ts +62 -0
- package/server/service/data-ooc/data-ooc.ts +188 -0
- package/server/service/data-ooc/index.ts +6 -0
- package/server/service/data-sample/data-sample-mutation.ts +35 -97
- package/server/service/data-sample/data-sample-type.ts +3 -31
- package/server/service/data-sample/data-sample.ts +22 -7
- package/server/service/data-set/data-set-mutation.ts +1 -4
- package/server/service/data-set/data-set-type.ts +15 -4
- package/server/service/data-set/data-set.ts +18 -9
- package/server/service/index.ts +6 -2
- package/things-factory.config.js +4 -0
- package/translations/en.json +11 -1
- package/translations/ko.json +11 -1
- package/translations/ms.json +11 -1
- package/translations/zh.json +11 -1
@@ -1,10 +1,10 @@
|
|
1
1
|
import '@operato/data-grist'
|
2
2
|
|
3
|
-
import { CommonButtonStyles, ScrollbarStyles } from '@operato/styles'
|
4
3
|
import { PageView, store } from '@operato/shell'
|
5
4
|
import { css, html } from 'lit'
|
6
5
|
import { i18next, localize } from '@operato/i18n'
|
7
6
|
|
7
|
+
import { ScrollbarStyles } from '@operato/styles'
|
8
8
|
import { client } from '@operato/graphql'
|
9
9
|
import { connect } from 'pwa-helpers/connect-mixin'
|
10
10
|
import gql from 'graphql-tag'
|
@@ -54,13 +54,11 @@ export class DataSample extends connect(store)(localize(i18next)(PageView)) {
|
|
54
54
|
return {
|
55
55
|
title: i18next.t('title.data-sample list'),
|
56
56
|
help: 'integration/ui/data-sample',
|
57
|
-
actions: [
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
}
|
63
|
-
]
|
57
|
+
actions: [],
|
58
|
+
exportable: {
|
59
|
+
name: i18next.t('title.data-sample list'),
|
60
|
+
data: this._exportableData.bind(this)
|
61
|
+
}
|
64
62
|
}
|
65
63
|
}
|
66
64
|
|
@@ -117,11 +115,12 @@ export class DataSample extends connect(store)(localize(i18next)(PageView)) {
|
|
117
115
|
label: true,
|
118
116
|
header: i18next.t('field.name'),
|
119
117
|
record: {
|
120
|
-
editable:
|
118
|
+
editable: false
|
121
119
|
},
|
122
120
|
filter: 'search',
|
123
121
|
sortable: true,
|
124
|
-
width: 120
|
122
|
+
width: 120,
|
123
|
+
imex: true
|
125
124
|
},
|
126
125
|
{
|
127
126
|
type: 'string',
|
@@ -129,20 +128,22 @@ export class DataSample extends connect(store)(localize(i18next)(PageView)) {
|
|
129
128
|
label: true,
|
130
129
|
header: i18next.t('field.description'),
|
131
130
|
record: {
|
132
|
-
editable:
|
131
|
+
editable: false
|
133
132
|
},
|
134
133
|
filter: 'search',
|
135
|
-
width: 150
|
134
|
+
width: 150,
|
135
|
+
imex: true
|
136
136
|
},
|
137
137
|
{
|
138
138
|
type: 'resource-object',
|
139
139
|
name: 'dataSet',
|
140
|
-
header: i18next.t('field.
|
140
|
+
header: i18next.t('field.data-set'),
|
141
141
|
record: {
|
142
142
|
editable: false
|
143
143
|
},
|
144
144
|
sortable: true,
|
145
|
-
width: 120
|
145
|
+
width: 120,
|
146
|
+
imex: true
|
146
147
|
},
|
147
148
|
{
|
148
149
|
type: 'json5',
|
@@ -151,7 +152,26 @@ export class DataSample extends connect(store)(localize(i18next)(PageView)) {
|
|
151
152
|
record: {
|
152
153
|
editable: false
|
153
154
|
},
|
154
|
-
width: 200
|
155
|
+
width: 200,
|
156
|
+
imex: true
|
157
|
+
},
|
158
|
+
{
|
159
|
+
type: 'checkbox',
|
160
|
+
name: 'ooc',
|
161
|
+
header: i18next.t('field.ooc'),
|
162
|
+
record: {
|
163
|
+
editable: false
|
164
|
+
},
|
165
|
+
width: 30
|
166
|
+
},
|
167
|
+
{
|
168
|
+
type: 'checkbox',
|
169
|
+
name: 'oos',
|
170
|
+
header: i18next.t('field.oos'),
|
171
|
+
record: {
|
172
|
+
editable: false
|
173
|
+
},
|
174
|
+
width: 30
|
155
175
|
},
|
156
176
|
{
|
157
177
|
type: 'json5',
|
@@ -160,7 +180,8 @@ export class DataSample extends connect(store)(localize(i18next)(PageView)) {
|
|
160
180
|
record: {
|
161
181
|
editable: false
|
162
182
|
},
|
163
|
-
width: 200
|
183
|
+
width: 200,
|
184
|
+
imex: true
|
164
185
|
},
|
165
186
|
{
|
166
187
|
type: 'json5',
|
@@ -178,39 +199,56 @@ export class DataSample extends connect(store)(localize(i18next)(PageView)) {
|
|
178
199
|
record: {
|
179
200
|
editable: false
|
180
201
|
},
|
181
|
-
width: 200
|
202
|
+
width: 200,
|
203
|
+
imex: true
|
182
204
|
},
|
183
205
|
{
|
184
206
|
type: 'resource-object',
|
185
207
|
name: 'updater',
|
186
208
|
header: i18next.t('field.updater'),
|
187
209
|
sortable: true,
|
188
|
-
width: 120
|
210
|
+
width: 120,
|
211
|
+
imex: true
|
189
212
|
},
|
190
213
|
{
|
191
214
|
type: 'datetime',
|
192
215
|
name: 'updatedAt',
|
193
216
|
header: i18next.t('field.updated_at'),
|
194
217
|
sortable: true,
|
195
|
-
width: 180
|
218
|
+
width: 180,
|
219
|
+
imex: true
|
196
220
|
},
|
197
221
|
{
|
198
222
|
type: 'datetime',
|
199
223
|
name: 'collectedAt',
|
200
224
|
header: i18next.t('field.collected_at'),
|
201
225
|
sortable: true,
|
202
|
-
width: 180
|
226
|
+
width: 180,
|
227
|
+
imex: true
|
203
228
|
}
|
204
229
|
],
|
205
230
|
rows: {
|
206
231
|
appendable: false,
|
207
232
|
selectable: {
|
208
233
|
multiple: true
|
234
|
+
},
|
235
|
+
classifier: function (record, rowIndex) {
|
236
|
+
var emphasized
|
237
|
+
if (record['oos']) {
|
238
|
+
emphasized = ['red']
|
239
|
+
} else if (record['ooc']) {
|
240
|
+
emphasized = 'orange'
|
241
|
+
}
|
242
|
+
|
243
|
+
return {
|
244
|
+
emphasized
|
245
|
+
}
|
209
246
|
}
|
210
247
|
},
|
211
248
|
sorters: [
|
212
249
|
{
|
213
|
-
name: '
|
250
|
+
name: 'updatedAt',
|
251
|
+
desc: true
|
214
252
|
}
|
215
253
|
]
|
216
254
|
}
|
@@ -247,6 +285,8 @@ export class DataSample extends connect(store)(localize(i18next)(PageView)) {
|
|
247
285
|
partitionKeys
|
248
286
|
data
|
249
287
|
spec
|
288
|
+
ooc
|
289
|
+
oos
|
250
290
|
updater {
|
251
291
|
id
|
252
292
|
name
|
@@ -271,36 +311,43 @@ export class DataSample extends connect(store)(localize(i18next)(PageView)) {
|
|
271
311
|
}
|
272
312
|
}
|
273
313
|
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
314
|
+
_exportableData() {
|
315
|
+
let records = []
|
316
|
+
if (this.grist.selected && this.grist.selected.length > 0) {
|
317
|
+
records = this.grist.selected
|
318
|
+
} else {
|
319
|
+
records = this.grist.data.records
|
320
|
+
}
|
321
|
+
|
322
|
+
var headerSetting = this.grist.compiledConfig.columns
|
323
|
+
.filter(column => column.type !== 'gutter' && column.record !== undefined && column.imex !== undefined)
|
324
|
+
.map(column => {
|
325
|
+
return column.imex === true
|
326
|
+
? {
|
327
|
+
header: column.header.renderer(),
|
328
|
+
key: column.name,
|
329
|
+
width: column.width,
|
330
|
+
type: column.type
|
282
331
|
}
|
283
|
-
|
284
|
-
|
285
|
-
ids
|
286
|
-
}
|
287
|
-
})
|
332
|
+
: column.imex
|
333
|
+
})
|
288
334
|
|
289
|
-
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
|
335
|
+
var data = records.map(item => {
|
336
|
+
return {
|
337
|
+
id: item.id,
|
338
|
+
...this.gristConfig.columns
|
339
|
+
.filter(column => column.type !== 'gutter' && column.record !== undefined && column.imex !== undefined)
|
340
|
+
.reduce((record, column) => {
|
341
|
+
const key = column.imex === true ? column.name : column.imex.key
|
342
|
+
record[key] = key
|
343
|
+
.split('.')
|
344
|
+
.reduce((obj, key) => (obj && obj[key] !== 'undefined' ? obj[key] : undefined), item)
|
345
|
+
return record
|
346
|
+
}, {})
|
295
347
|
}
|
296
|
-
}
|
297
|
-
}
|
348
|
+
})
|
298
349
|
|
299
|
-
|
300
|
-
if (this.active && this._currentPopupName && !state.layout.viewparts[this._currentPopupName]) {
|
301
|
-
this.grist.fetch()
|
302
|
-
this._currentPopupName = null
|
303
|
-
}
|
350
|
+
return { header: headerSetting, data: data }
|
304
351
|
}
|
305
352
|
}
|
306
353
|
|
@@ -194,7 +194,7 @@ export class DataSensor extends connect(store)(localize(i18next)(PageView)) {
|
|
194
194
|
{
|
195
195
|
type: 'object',
|
196
196
|
name: 'dataSet',
|
197
|
-
header: i18next.t('field.
|
197
|
+
header: i18next.t('field.data-set'),
|
198
198
|
record: {
|
199
199
|
editable: true,
|
200
200
|
options: {
|
@@ -382,13 +382,6 @@ export class DataSensor extends connect(store)(localize(i18next)(PageView)) {
|
|
382
382
|
}
|
383
383
|
}
|
384
384
|
|
385
|
-
async stateChanged(state) {
|
386
|
-
if (this.active && this._currentPopupName && !state.layout.viewparts[this._currentPopupName]) {
|
387
|
-
this.grist.fetch()
|
388
|
-
this._currentPopupName = null
|
389
|
-
}
|
390
|
-
}
|
391
|
-
|
392
385
|
async _copyDataSensor() {
|
393
386
|
var selected = this.grist.selected
|
394
387
|
if (selected.length == 0) return
|
package/client/pages/data-set.js
CHANGED
@@ -9,6 +9,7 @@ import { css, html } from 'lit'
|
|
9
9
|
import { i18next, localize } from '@operato/i18n'
|
10
10
|
import { notify, openPopup } from '@operato/layout'
|
11
11
|
|
12
|
+
import { OxDataItemSpec } from '@operato/dataset'
|
12
13
|
import { client } from '@operato/graphql'
|
13
14
|
import { connect } from 'pwa-helpers/connect-mixin'
|
14
15
|
import gql from 'graphql-tag'
|
@@ -139,12 +140,15 @@ export class DataSet extends connect(store)(localize(i18next)(PageView)) {
|
|
139
140
|
handlers: {
|
140
141
|
click: (columns, data, column, record, rowIndex) => {
|
141
142
|
if (!record.id) return
|
142
|
-
openPopup(html` <data-item-list .dataSet=${record}></data-item-list> `, {
|
143
|
+
const popup = openPopup(html` <data-item-list .dataSet=${record}></data-item-list> `, {
|
143
144
|
backdrop: true,
|
144
145
|
help: 'data-set/ui/data-item-list',
|
145
146
|
size: 'large',
|
146
147
|
title: i18next.t('title.data-item list')
|
147
148
|
})
|
149
|
+
popup.onclosed = () => {
|
150
|
+
this.grist.fetch()
|
151
|
+
}
|
148
152
|
}
|
149
153
|
}
|
150
154
|
},
|
@@ -199,12 +203,56 @@ export class DataSet extends connect(store)(localize(i18next)(PageView)) {
|
|
199
203
|
sortable: true,
|
200
204
|
width: 60
|
201
205
|
},
|
206
|
+
{
|
207
|
+
type: 'select',
|
208
|
+
name: 'type',
|
209
|
+
label: true,
|
210
|
+
header: i18next.t('field.type'),
|
211
|
+
record: {
|
212
|
+
editable: true,
|
213
|
+
options: [
|
214
|
+
{},
|
215
|
+
{
|
216
|
+
display: 'Manually Collected',
|
217
|
+
value: 'manual'
|
218
|
+
},
|
219
|
+
{
|
220
|
+
display: 'Automatically Collected',
|
221
|
+
value: 'automatic'
|
222
|
+
}
|
223
|
+
]
|
224
|
+
},
|
225
|
+
sortable: true,
|
226
|
+
width: 60
|
227
|
+
},
|
228
|
+
{
|
229
|
+
type: 'select',
|
230
|
+
name: 'useCase',
|
231
|
+
label: true,
|
232
|
+
header: i18next.t('field.use-case'),
|
233
|
+
record: {
|
234
|
+
editable: true,
|
235
|
+
options: () => {
|
236
|
+
return ['', ...OxDataItemSpec.getProviderNames()].map(name => {
|
237
|
+
return {
|
238
|
+
display: name,
|
239
|
+
value: name
|
240
|
+
}
|
241
|
+
})
|
242
|
+
}
|
243
|
+
},
|
244
|
+
sortable: true,
|
245
|
+
width: 80
|
246
|
+
},
|
202
247
|
{
|
203
248
|
type: 'partition-keys',
|
204
249
|
name: 'partitionKeys',
|
205
250
|
header: i18next.t('field.partition-keys'),
|
206
251
|
record: {
|
207
|
-
editable: true
|
252
|
+
editable: true,
|
253
|
+
options: {
|
254
|
+
objectified: true /* transfered as a object type */
|
255
|
+
}
|
208
256
|
},
|
209
257
|
width: 200
|
210
258
|
},
|
@@ -232,6 +280,19 @@ export class DataSet extends connect(store)(localize(i18next)(PageView)) {
|
|
232
280
|
},
|
233
281
|
width: 120
|
234
282
|
},
|
283
|
+
{
|
284
|
+
type: 'resource-object',
|
285
|
+
name: 'supervisoryRole',
|
286
|
+
header: i18next.t('field.supervisory-role'),
|
287
|
+
record: {
|
288
|
+
editable: true,
|
289
|
+
options: {
|
290
|
+
queryName: 'roles'
|
291
|
+
}
|
292
|
+
},
|
293
|
+
sortable: true,
|
294
|
+
width: 120
|
295
|
+
},
|
235
296
|
{
|
236
297
|
type: 'resource-object',
|
237
298
|
name: 'updater',
|
@@ -292,8 +353,14 @@ export class DataSet extends connect(store)(localize(i18next)(PageView)) {
|
|
292
353
|
partitionKeys
|
293
354
|
slugger
|
294
355
|
active
|
356
|
+
type
|
357
|
+
useCase
|
295
358
|
schedule
|
296
359
|
timezone
|
360
|
+
supervisoryRole {
|
361
|
+
id
|
362
|
+
name
|
363
|
+
}
|
297
364
|
updater {
|
298
365
|
id
|
299
366
|
name
|
@@ -306,6 +373,7 @@ export class DataSet extends connect(store)(localize(i18next)(PageView)) {
|
|
306
373
|
active
|
307
374
|
tag
|
308
375
|
type
|
376
|
+
unit
|
309
377
|
options
|
310
378
|
quota
|
311
379
|
spec
|
@@ -353,13 +421,6 @@ export class DataSet extends connect(store)(localize(i18next)(PageView)) {
|
|
353
421
|
}
|
354
422
|
}
|
355
423
|
|
356
|
-
async stateChanged(state) {
|
357
|
-
if (this.active && this._currentPopupName && !state.layout.viewparts[this._currentPopupName]) {
|
358
|
-
this.grist.fetch()
|
359
|
-
this._currentPopupName = null
|
360
|
-
}
|
361
|
-
}
|
362
|
-
|
363
424
|
async _copyDataSet() {
|
364
425
|
var selected = this.grist.selected
|
365
426
|
if (selected.length == 0) return
|
@@ -378,7 +439,9 @@ export class DataSet extends connect(store)(localize(i18next)(PageView)) {
|
|
378
439
|
}
|
379
440
|
})
|
380
441
|
|
381
|
-
if (!response.errors)
|
442
|
+
if (!response.errors) {
|
443
|
+
this.grist.fetch()
|
444
|
+
}
|
382
445
|
}
|
383
446
|
|
384
447
|
async _updateDataSet() {
|
@@ -409,7 +472,9 @@ export class DataSet extends connect(store)(localize(i18next)(PageView)) {
|
|
409
472
|
}
|
410
473
|
})
|
411
474
|
|
412
|
-
if (!response.errors)
|
475
|
+
if (!response.errors) {
|
476
|
+
this.grist.fetch()
|
477
|
+
}
|
413
478
|
}
|
414
479
|
}
|
415
480
|
|
package/client/route.js
CHANGED
@@ -0,0 +1,57 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.DataUseCase = void 0;
|
4
|
+
class DataUseCase {
|
5
|
+
static registerUseCase(name, provider) {
|
6
|
+
DataUseCase.registry[name] = provider;
|
7
|
+
}
|
8
|
+
static getUseCaseNames() {
|
9
|
+
return Object.keys(DataUseCase.registry);
|
10
|
+
}
|
11
|
+
static getUseCase(name) {
|
12
|
+
return DataUseCase.registry[name];
|
13
|
+
}
|
14
|
+
static evaluate(dataSet, dataItems, data) {
|
15
|
+
var _a;
|
16
|
+
var ooc = false;
|
17
|
+
var oos = false;
|
18
|
+
if (!dataSet.useCase) {
|
19
|
+
return { ooc, oos };
|
20
|
+
}
|
21
|
+
const useCaseNames = dataSet.useCase.split(',').map(useCaseName => useCaseName.trim());
|
22
|
+
const useCases = useCaseNames.map(useCaseName => DataUseCase.getUseCase(useCaseName)).filter(useCase => !!useCase);
|
23
|
+
for (let i = 0; i < dataItems.length; i++) {
|
24
|
+
const dataItem = dataItems[i];
|
25
|
+
const { name, active } = dataItem;
|
26
|
+
if (!active) {
|
27
|
+
continue;
|
28
|
+
}
|
29
|
+
let values = data[name];
|
30
|
+
if (typeof values === 'undefined') {
|
31
|
+
continue; // TODO what if in case no value ?
|
32
|
+
}
|
33
|
+
if (!(values instanceof Array)) {
|
34
|
+
values = [values];
|
35
|
+
}
|
36
|
+
for (let j = 0; j < useCases.length; j++) {
|
37
|
+
const useCase = useCases[j];
|
38
|
+
const specs = (_a = dataItem.spec) === null || _a === void 0 ? void 0 : _a[dataSet.useCase];
|
39
|
+
if (!specs) {
|
40
|
+
continue;
|
41
|
+
}
|
42
|
+
const result = useCase.evaluate(specs, values);
|
43
|
+
if (result) {
|
44
|
+
ooc || (ooc = result.ooc);
|
45
|
+
oos || (oos = result.oos);
|
46
|
+
}
|
47
|
+
// if (ooc && oos) {
|
48
|
+
// return { ooc, oos }
|
49
|
+
// }
|
50
|
+
}
|
51
|
+
}
|
52
|
+
return { ooc, oos };
|
53
|
+
}
|
54
|
+
}
|
55
|
+
exports.DataUseCase = DataUseCase;
|
56
|
+
DataUseCase.registry = {};
|
57
|
+
//# sourceMappingURL=data-use-case.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"data-use-case.js","sourceRoot":"","sources":["../../server/controllers/data-use-case.ts"],"names":[],"mappings":";;;AAiBA,MAAsB,WAAW;IAGxB,MAAM,CAAC,eAAe,CAAC,IAAY,EAAE,QAAqB;QAC/D,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAA;IACvC,CAAC;IAEM,MAAM,CAAC,eAAe;QAC3B,OAAO,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;IAC1C,CAAC;IAEM,MAAM,CAAC,UAAU,CAAC,IAAY;QACnC,OAAO,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IACnC,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAC,OAAgB,EAAE,SAAqB,EAAE,IAAS;;QACvE,IAAI,GAAG,GAAG,KAAK,CAAA;QACf,IAAI,GAAG,GAAG,KAAK,CAAA;QAEf,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;YACpB,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA;SACpB;QAED,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAA;QACtF,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;QAElH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACzC,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAA;YAC7B,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAA;YACjC,IAAI,CAAC,MAAM,EAAE;gBACX,SAAQ;aACT;YAED,IAAI,MAAM,GAAgB,IAAI,CAAC,IAAI,CAAC,CAAA;YACpC,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;gBACjC,SAAQ,CAAC,kCAAkC;aAC5C;YAED,IAAI,CAAC,CAAC,MAAM,YAAY,KAAK,CAAC,EAAE;gBAC9B,MAAM,GAAG,CAAC,MAAM,CAAC,CAAA;aAClB;YAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACxC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;gBAE3B,MAAM,KAAK,GAAG,MAAA,QAAQ,CAAC,IAAI,0CAAG,OAAO,CAAC,OAAO,CAAC,CAAA;gBAC9C,IAAI,CAAC,KAAK,EAAE;oBACV,SAAQ;iBACT;gBAED,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;gBAE9C,IAAI,MAAM,EAAE;oBACV,GAAG,KAAH,GAAG,GAAK,MAAM,CAAC,GAAG,EAAA;oBAClB,GAAG,KAAH,GAAG,GAAK,MAAM,CAAC,GAAG,EAAA;iBACnB;gBAED,oBAAoB;gBACpB,wBAAwB;gBACxB,IAAI;aACL;SACF;QAED,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA;IACrB,CAAC;;AAhEH,kCAmEC;AAlEQ,oBAAQ,GAAoC,EAAE,CAAA"}
|
@@ -1 +1,18 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
+
if (k2 === undefined) k2 = k;
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
+
}
|
8
|
+
Object.defineProperty(o, k2, desc);
|
9
|
+
}) : (function(o, m, k, k2) {
|
10
|
+
if (k2 === undefined) k2 = k;
|
11
|
+
o[k2] = m[k];
|
12
|
+
}));
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
15
|
+
};
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
17
|
+
__exportStar(require("./data-use-case"), exports);
|
1
18
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/controllers/index.ts"],"names":[],"mappings":""}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/controllers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAA+B"}
|
package/dist-server/index.js
CHANGED
@@ -15,6 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
15
15
|
};
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
17
17
|
require("./routes");
|
18
|
+
__exportStar(require("./controllers"), exports);
|
18
19
|
__exportStar(require("./migrations"), exports);
|
19
20
|
__exportStar(require("./middlewares"), exports);
|
20
21
|
__exportStar(require("./service"), exports);
|
package/dist-server/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../server/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oBAAiB;AAEjB,+CAA4B;AAC5B,gDAA6B;AAC7B,4CAAyB;AAEzB,wEAAqD"}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../server/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oBAAiB;AAEjB,gDAA6B;AAC7B,+CAA4B;AAC5B,gDAA6B;AAC7B,4CAAyB;AAEzB,wEAAqD"}
|
@@ -8,7 +8,7 @@ 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;
|
11
|
+
var _a, _b, _c;
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
13
13
|
exports.DataItemList = exports.DataItemPatch = void 0;
|
14
14
|
const data_item_1 = require("./data-item");
|
@@ -21,9 +21,9 @@ __decorate([
|
|
21
21
|
__metadata("design:type", String)
|
22
22
|
], DataItemPatch.prototype, "id", void 0);
|
23
23
|
__decorate([
|
24
|
-
(0, type_graphql_1.Field)({ nullable: true }),
|
25
|
-
__metadata("design:type",
|
26
|
-
], DataItemPatch.prototype, "
|
24
|
+
(0, type_graphql_1.Field)(type => shell_1.ObjectRef, { nullable: true }),
|
25
|
+
__metadata("design:type", typeof (_a = typeof shell_1.ObjectRef !== "undefined" && shell_1.ObjectRef) === "function" ? _a : Object)
|
26
|
+
], DataItemPatch.prototype, "dataSet", void 0);
|
27
27
|
__decorate([
|
28
28
|
(0, type_graphql_1.Field)({ nullable: true }),
|
29
29
|
__metadata("design:type", String)
|
@@ -46,7 +46,7 @@ __decorate([
|
|
46
46
|
], DataItemPatch.prototype, "type", void 0);
|
47
47
|
__decorate([
|
48
48
|
(0, type_graphql_1.Field)(type => shell_1.ScalarObject, { nullable: true }),
|
49
|
-
__metadata("design:type", typeof (
|
49
|
+
__metadata("design:type", typeof (_b = typeof shell_1.ScalarObject !== "undefined" && shell_1.ScalarObject) === "function" ? _b : Object)
|
50
50
|
], DataItemPatch.prototype, "options", void 0);
|
51
51
|
__decorate([
|
52
52
|
(0, type_graphql_1.Field)({ nullable: true }),
|
@@ -62,7 +62,7 @@ __decorate([
|
|
62
62
|
], DataItemPatch.prototype, "active", void 0);
|
63
63
|
__decorate([
|
64
64
|
(0, type_graphql_1.Field)(type => shell_1.ScalarObject, { nullable: true }),
|
65
|
-
__metadata("design:type", typeof (
|
65
|
+
__metadata("design:type", typeof (_c = typeof shell_1.ScalarObject !== "undefined" && shell_1.ScalarObject) === "function" ? _c : Object)
|
66
66
|
], DataItemPatch.prototype, "spec", void 0);
|
67
67
|
__decorate([
|
68
68
|
(0, type_graphql_1.Field)({ nullable: true }),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"data-item-type.js","sourceRoot":"","sources":["../../../server/service/data-item/data-item-type.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,+CAAoE;
|
1
|
+
{"version":3,"file":"data-item-type.js","sourceRoot":"","sources":["../../../server/service/data-item/data-item-type.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,+CAAoE;AACpE,iDAA+D;AAG/D,IAAa,aAAa,GAA1B,MAAa,aAAa;CAuCzB,CAAA;AArCC;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yCAC3B;AAGX;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;kDACnC,iBAAS,oBAAT,iBAAS;8CAAA;AAGnB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2CACb;AAGb;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;kDACN;AAGpB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+CACtB;AAGjB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;0CACd;AAGZ;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,wBAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2CAC7B;AAGnB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,oBAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;kDACtC,oBAAY,oBAAZ,oBAAY;8CAAA;AAGtB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2CACb;AAGb;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;4CACzB;AAGd;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CACV;AAGhB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,oBAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;kDACzC,oBAAY,oBAAZ,oBAAY;2CAAA;AAGnB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CACX;AAtCJ,aAAa;IADzB,IAAA,wBAAS,GAAE;GACC,aAAa,CAuCzB;AAvCY,sCAAa;AA0C1B,IAAa,YAAY,GAAzB,MAAa,YAAY;CAMxB,CAAA;AAJC;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,oBAAQ,CAAC,CAAC;;2CACT;AAGjB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,CAAC;;2CACN;AALF,YAAY;IADxB,IAAA,yBAAU,GAAE;GACA,YAAY,CAMxB;AANY,oCAAY"}
|
@@ -58,7 +58,7 @@ __decorate([
|
|
58
58
|
], DataItem.prototype, "description", void 0);
|
59
59
|
__decorate([
|
60
60
|
(0, typeorm_1.ManyToOne)(type => data_set_1.DataSet, dataSet => dataSet.dataItems, { onDelete: 'CASCADE' }),
|
61
|
-
(0, type_graphql_1.Field)(type => data_set_1.DataSet, { nullable:
|
61
|
+
(0, type_graphql_1.Field)(type => data_set_1.DataSet, { nullable: false }),
|
62
62
|
__metadata("design:type", data_set_1.DataSet)
|
63
63
|
], DataItem.prototype, "dataSet", void 0);
|
64
64
|
__decorate([
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"data-item.js","sourceRoot":"","sources":["../../../server/service/data-item/data-item.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,qCASgB;AAChB,iDAA4D;AAC5D,+CAA2E;AAE3E,mDAA8C;AAC9C,yDAAgD;AAEhD,IAAY,YAMX;AAND,WAAY,YAAY;IACtB,iCAAiB,CAAA;IACjB,6BAAa,CAAA;IACb,mCAAmB,CAAA;IACnB,iCAAiB,CAAA;IACjB,6BAAa,CAAA;AACf,CAAC,EANW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAMvB;AAED,IAAA,+BAAgB,EAAC,YAAY,EAAE;IAC7B,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,kCAAkC;CAChD,CAAC,CAAA;AAKF,IAAa,QAAQ,GAArB,MAAa,QAAQ;CAgGpB,CAAA;AA7FC;IAFC,IAAA,gCAAsB,EAAC,MAAM,CAAC;IAC9B,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,CAAC;;oCACC;AAInB;IAFC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,cAAM,CAAC;IACzB,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;kDACjB,cAAM,oBAAN,cAAM;wCAAA;AAGf;IADC,IAAA,oBAAU,EAAC,CAAC,QAAkB,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;;0CACnC;AAIjB;IAFC,IAAA,gBAAM,GAAE;IACR,IAAA,oBAAK,GAAE;;sCACI;AAMZ;IAJC,IAAA,gBAAM,EAAC;QACN,QAAQ,EAAE,IAAI;KACf,CAAC;IACD,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CACN;AAIpB;IAFC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAO,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IACjF,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAO,EAAE,EAAE,QAAQ,EAAE,
|
1
|
+
{"version":3,"file":"data-item.js","sourceRoot":"","sources":["../../../server/service/data-item/data-item.ts"],"names":[],"mappings":"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"}
|