@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.
Files changed (64) hide show
  1. package/client/bootstrap.js +3 -3
  2. package/client/pages/data-entry-form.js +14 -5
  3. package/client/pages/data-ooc.js +418 -0
  4. package/client/pages/data-sample.js +94 -47
  5. package/client/pages/data-sensor.js +1 -8
  6. package/client/pages/data-set.js +76 -11
  7. package/client/route.js +4 -0
  8. package/dist-server/controllers/data-use-case.js +57 -0
  9. package/dist-server/controllers/data-use-case.js.map +1 -0
  10. package/dist-server/controllers/index.js +17 -0
  11. package/dist-server/controllers/index.js.map +1 -1
  12. package/dist-server/index.js +1 -0
  13. package/dist-server/index.js.map +1 -1
  14. package/dist-server/service/data-item/data-item-type.js +6 -6
  15. package/dist-server/service/data-item/data-item-type.js.map +1 -1
  16. package/dist-server/service/data-item/data-item.js +1 -1
  17. package/dist-server/service/data-item/data-item.js.map +1 -1
  18. package/dist-server/service/data-ooc/data-ooc-mutation.js +130 -0
  19. package/dist-server/service/data-ooc/data-ooc-mutation.js.map +1 -0
  20. package/dist-server/service/data-ooc/data-ooc-query.js +89 -0
  21. package/dist-server/service/data-ooc/data-ooc-query.js.map +1 -0
  22. package/dist-server/service/data-ooc/data-ooc-type.js +99 -0
  23. package/dist-server/service/data-ooc/data-ooc-type.js.map +1 -0
  24. package/dist-server/service/data-ooc/data-ooc.js +218 -0
  25. package/dist-server/service/data-ooc/data-ooc.js.map +1 -0
  26. package/dist-server/service/data-ooc/index.js +9 -0
  27. package/dist-server/service/data-ooc/index.js.map +1 -0
  28. package/dist-server/service/data-sample/data-sample-mutation.js +31 -89
  29. package/dist-server/service/data-sample/data-sample-mutation.js.map +1 -1
  30. package/dist-server/service/data-sample/data-sample-type.js +5 -43
  31. package/dist-server/service/data-sample/data-sample-type.js.map +1 -1
  32. package/dist-server/service/data-sample/data-sample.js +20 -6
  33. package/dist-server/service/data-sample/data-sample.js.map +1 -1
  34. package/dist-server/service/data-set/data-set-mutation.js +1 -2
  35. package/dist-server/service/data-set/data-set-mutation.js.map +1 -1
  36. package/dist-server/service/data-set/data-set-type.js +19 -3
  37. package/dist-server/service/data-set/data-set-type.js.map +1 -1
  38. package/dist-server/service/data-set/data-set.js +24 -12
  39. package/dist-server/service/data-set/data-set.js.map +1 -1
  40. package/dist-server/service/index.js +6 -2
  41. package/dist-server/service/index.js.map +1 -1
  42. package/package.json +15 -14
  43. package/server/controllers/data-use-case.ts +85 -0
  44. package/server/controllers/index.ts +1 -0
  45. package/server/index.ts +1 -0
  46. package/server/service/data-item/data-item-type.ts +3 -4
  47. package/server/service/data-item/data-item.ts +1 -1
  48. package/server/service/data-ooc/data-ooc-mutation.ts +117 -0
  49. package/server/service/data-ooc/data-ooc-query.ts +45 -0
  50. package/server/service/data-ooc/data-ooc-type.ts +62 -0
  51. package/server/service/data-ooc/data-ooc.ts +188 -0
  52. package/server/service/data-ooc/index.ts +6 -0
  53. package/server/service/data-sample/data-sample-mutation.ts +35 -97
  54. package/server/service/data-sample/data-sample-type.ts +3 -31
  55. package/server/service/data-sample/data-sample.ts +22 -7
  56. package/server/service/data-set/data-set-mutation.ts +1 -4
  57. package/server/service/data-set/data-set-type.ts +15 -4
  58. package/server/service/data-set/data-set.ts +18 -9
  59. package/server/service/index.ts +6 -2
  60. package/things-factory.config.js +4 -0
  61. package/translations/en.json +11 -1
  62. package/translations/ko.json +11 -1
  63. package/translations/ms.json +11 -1
  64. 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
- title: i18next.t('button.delete'),
60
- action: this._deleteDataSample.bind(this),
61
- ...CommonButtonStyles.delete
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: true
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: true
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.dataSet'),
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: '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
- async _deleteDataSample() {
275
- if (confirm(i18next.t('text.sure_to_x', { x: i18next.t('text.delete') }))) {
276
- const ids = this.grist.selected.map(record => record.id)
277
- if (ids && ids.length > 0) {
278
- const response = await client.mutate({
279
- mutation: gql`
280
- mutation ($ids: [String!]!) {
281
- deleteDataSamples(ids: $ids)
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
- variables: {
285
- ids
286
- }
287
- })
332
+ : column.imex
333
+ })
288
334
 
289
- if (!response.errors) {
290
- this.grist.fetch()
291
- notify({
292
- message: i18next.t('text.info_x_successfully', { x: i18next.t('text.delete') })
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
- async stateChanged(state) {
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.dataSet'),
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
@@ -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) this.grist.fetch()
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) this.grist.fetch()
475
+ if (!response.errors) {
476
+ this.grist.fetch()
477
+ }
413
478
  }
414
479
  }
415
480
 
package/client/route.js CHANGED
@@ -11,5 +11,9 @@ export default function route(page) {
11
11
  case 'data-sample':
12
12
  import('./pages/data-sample')
13
13
  return page
14
+
15
+ case 'data-ooc':
16
+ import('./pages/data-ooc')
17
+ return page
14
18
  }
15
19
  }
@@ -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"}
@@ -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);
@@ -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", String)
26
- ], DataItemPatch.prototype, "dataSetId", void 0);
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 (_a = typeof shell_1.ScalarObject !== "undefined" && shell_1.ScalarObject) === "function" ? _a : Object)
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 (_b = typeof shell_1.ScalarObject !== "undefined" && shell_1.ScalarObject) === "function" ? _b : Object)
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;AAEpE,iDAAoD;AAGpD,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,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDACR;AAGlB;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"}
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: true }),
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":"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"}
1
+ {"version":3,"file":"data-item.js","sourceRoot":"","sources":["../../../server/service/data-item/data-item.ts"],"names":[],"mappings":"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"}