@things-factory/dataset 5.0.9 → 5.0.12

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 (59) hide show
  1. package/dist-server/controllers/create-data-sample.js +0 -1
  2. package/dist-server/controllers/create-data-sample.js.map +1 -1
  3. package/dist-server/controllers/data-use-case.js.map +1 -1
  4. package/dist-server/routes.js +0 -1
  5. package/dist-server/routes.js.map +1 -1
  6. package/dist-server/service/data-item/data-item.js +7 -7
  7. package/dist-server/service/data-item/data-item.js.map +1 -1
  8. package/dist-server/service/data-ooc/data-ooc-subscription.js +4 -6
  9. package/dist-server/service/data-ooc/data-ooc-subscription.js.map +1 -1
  10. package/dist-server/service/data-ooc/data-ooc-type.js +2 -2
  11. package/dist-server/service/data-ooc/data-ooc-type.js.map +1 -1
  12. package/dist-server/service/data-ooc/data-ooc.js +8 -8
  13. package/dist-server/service/data-ooc/data-ooc.js.map +1 -1
  14. package/dist-server/service/data-sample/data-sample-mutation.js +1 -2
  15. package/dist-server/service/data-sample/data-sample-mutation.js.map +1 -1
  16. package/dist-server/service/data-sample/data-sample-type.js +2 -2
  17. package/dist-server/service/data-sample/data-sample-type.js.map +1 -1
  18. package/dist-server/service/data-sample/data-sample.js +6 -6
  19. package/dist-server/service/data-sample/data-sample.js.map +1 -1
  20. package/dist-server/service/data-set/data-item-type.js +4 -5
  21. package/dist-server/service/data-set/data-item-type.js.map +1 -1
  22. package/dist-server/service/data-set/data-set-mutation.js +11 -10
  23. package/dist-server/service/data-set/data-set-mutation.js.map +1 -1
  24. package/dist-server/service/data-set/data-set-type.js +6 -6
  25. package/dist-server/service/data-set/data-set-type.js.map +1 -1
  26. package/dist-server/service/data-set/data-set.js +7 -7
  27. package/dist-server/service/data-set/data-set.js.map +1 -1
  28. package/dist-server/service/data-set-history/data-set-history-query.js +17 -3
  29. package/dist-server/service/data-set-history/data-set-history-query.js.map +1 -1
  30. package/dist-server/service/data-set-history/data-set-history.js +14 -4
  31. package/dist-server/service/data-set-history/data-set-history.js.map +1 -1
  32. package/dist-server/service/data-spec/data-spec.js +1 -2
  33. package/dist-server/service/data-spec/data-spec.js.map +1 -1
  34. package/dist-server/tsconfig.tsbuildinfo +1 -1
  35. package/package.json +7 -7
  36. package/server/controllers/create-data-sample.ts +0 -2
  37. package/server/controllers/data-use-case.ts +2 -1
  38. package/server/routes.ts +0 -2
  39. package/server/service/data-item/data-item.ts +5 -4
  40. package/server/service/data-ooc/data-ooc-subscription.ts +6 -8
  41. package/server/service/data-ooc/data-ooc-type.ts +1 -1
  42. package/server/service/data-ooc/data-ooc.ts +4 -4
  43. package/server/service/data-sample/data-sample-mutation.ts +1 -4
  44. package/server/service/data-sample/data-sample-type.ts +1 -1
  45. package/server/service/data-sample/data-sample.ts +3 -3
  46. package/server/service/data-set/data-item-type.ts +4 -4
  47. package/server/service/data-set/data-set-mutation.ts +14 -10
  48. package/server/service/data-set/data-set-type.ts +2 -2
  49. package/server/service/data-set/data-set.ts +2 -2
  50. package/server/service/data-set-history/data-set-history-query.ts +13 -2
  51. package/server/service/data-set-history/data-set-history.ts +9 -1
  52. package/server/service/data-spec/data-spec.ts +3 -2
  53. package/dist-server/service/data-item/data-item-mutation.js +0 -73
  54. package/dist-server/service/data-item/data-item-mutation.js.map +0 -1
  55. package/dist-server/service/data-item/data-item-query.js +0 -104
  56. package/dist-server/service/data-item/data-item-query.js.map +0 -1
  57. package/dist-server/service/data-item/data-item-type.js +0 -93
  58. package/dist-server/service/data-item/data-item-type.js.map +0 -1
  59. package/yarn-error.log +0 -23244
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/dataset",
3
- "version": "5.0.9",
3
+ "version": "5.0.12",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "client/index.js",
6
6
  "things-factory": true,
@@ -34,14 +34,14 @@
34
34
  "@operato/shell": "^1.0.1",
35
35
  "@operato/styles": "^1.0.0",
36
36
  "@operato/utils": "^1.0.1",
37
- "@things-factory/auth-base": "^5.0.7",
38
- "@things-factory/aws-base": "^5.0.7",
39
- "@things-factory/board-service": "^5.0.7",
37
+ "@things-factory/auth-base": "^5.0.11",
38
+ "@things-factory/aws-base": "^5.0.11",
39
+ "@things-factory/board-service": "^5.0.11",
40
40
  "@things-factory/env": "^5.0.0",
41
- "@things-factory/shell": "^5.0.7",
42
- "@things-factory/work-shift": "^5.0.7",
41
+ "@things-factory/shell": "^5.0.11",
42
+ "@things-factory/work-shift": "^5.0.11",
43
43
  "cron-parser": "^4.3.0",
44
44
  "moment-timezone": "^0.5.34"
45
45
  },
46
- "gitHead": "ccfdd4f2119dc94fbfabb711b2e0a22dc1c8c4ec"
46
+ "gitHead": "fc92c5a8449721503a893d67aae8e65ce21a7890"
47
47
  }
@@ -11,8 +11,6 @@ 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
13
 
14
- const debug = require('debug')('things-factory:dataset:controller/save-data-sample')
15
-
16
14
  const fillDataKeys = (dataKeySet, data) => {
17
15
  const keys = dataKeySet?.dataKeyItems || []
18
16
  return keys.reduce((sum, key, index) => {
@@ -5,12 +5,13 @@ export type DataItemSpec = {
5
5
  type: string
6
6
  label: string
7
7
  name: string
8
- property: { [option: string]: any }
8
+ property?: { [option: string]: any }
9
9
  }
10
10
 
11
11
  export type DataItemSpecSet = {
12
12
  name: string
13
13
  description: string
14
+ help?: string
14
15
  specs: DataItemSpec[]
15
16
  }
16
17
 
package/server/routes.ts CHANGED
@@ -6,8 +6,6 @@ import { createDataSample } from './controllers/create-data-sample'
6
6
  import { renderJasperReport } from './controllers/jasper-report'
7
7
  import { DataSensor } from './service/data-sensor/data-sensor'
8
8
 
9
- const debug = require('debug')('things-factory:dataset:routes')
10
-
11
9
  process.on('bootstrap-module-global-public-route' as any, (app, globalPublicRouter) => {
12
10
  /*
13
11
  * can add global public routes to application (auth not required, tenancy not required)
@@ -1,3 +1,4 @@
1
+ import { Field, ID, Int, ObjectType, registerEnumType } from 'type-graphql'
1
2
  import {
2
3
  Column,
3
4
  CreateDateColumn,
@@ -8,11 +9,11 @@ import {
8
9
  RelationId,
9
10
  UpdateDateColumn
10
11
  } from 'typeorm'
12
+
13
+ import { User } from '@things-factory/auth-base'
11
14
  import { Domain, ScalarObject } from '@things-factory/shell'
12
- import { Field, ID, Int, ObjectType, registerEnumType } from 'type-graphql'
13
15
 
14
16
  import { DataSet } from '../data-set/data-set'
15
- import { User } from '@things-factory/auth-base'
16
17
 
17
18
  export enum DataItemType {
18
19
  number = 'number',
@@ -89,7 +90,7 @@ export class DataItem {
89
90
 
90
91
  @Column('simple-json', { nullable: true })
91
92
  @Field(type => ScalarObject, { nullable: true })
92
- options?: ScalarObject
93
+ options?: { [option: string]: any }
93
94
 
94
95
  @Column({
95
96
  nullable: true
@@ -105,7 +106,7 @@ export class DataItem {
105
106
 
106
107
  @Column('simple-json', { nullable: true })
107
108
  @Field(type => ScalarObject, { nullable: true })
108
- spec?: ScalarObject
109
+ spec?: { [key: string]: any }
109
110
 
110
111
  @CreateDateColumn()
111
112
  @Field({ nullable: true })
@@ -1,11 +1,11 @@
1
- import { Resolver, Subscription, Root } from 'type-graphql'
2
1
  import { withFilter } from 'graphql-subscriptions'
3
- import { pubsub } from '@things-factory/shell'
4
- import { User } from '@things-factory/auth-base'
5
- import { DataOoc } from './data-ooc'
2
+ import { Resolver, Root, Subscription } from 'type-graphql'
6
3
  import { getRepository } from 'typeorm'
7
4
 
8
- const debug = require('debug')('things-factory:dataset:data-ooc-subscription')
5
+ import { User } from '@things-factory/auth-base'
6
+ import { pubsub } from '@things-factory/shell'
7
+
8
+ import { DataOoc } from './data-ooc'
9
9
 
10
10
  @Resolver(DataOoc)
11
11
  export class DataOocSubscription {
@@ -14,8 +14,6 @@ export class DataOocSubscription {
14
14
  const { domain, user } = context.state
15
15
  const subdomain = domain?.subdomain
16
16
 
17
- debug('subscribe', subdomain)
18
-
19
17
  if (!domain) {
20
18
  throw new Error('domain required')
21
19
  }
@@ -40,7 +38,7 @@ export class DataOocSubscription {
40
38
  relations: ['roles']
41
39
  })
42
40
 
43
- return userWithRoles.roles.find(role => role.id === supervisoryRoleId)
41
+ return !!userWithRoles.roles.find(role => role.id === supervisoryRoleId)
44
42
  }
45
43
  )(_, args, context, info)
46
44
  }
@@ -25,7 +25,7 @@ export class NewDataOoc {
25
25
  state?: DataOocStatus
26
26
 
27
27
  @Field(type => ScalarObject, { nullable: true })
28
- data?: ScalarObject
28
+ data?: any
29
29
 
30
30
  @Field({ nullable: true })
31
31
  rawData?: string
@@ -131,22 +131,22 @@ export class DataOoc {
131
131
 
132
132
  @Column('simple-json', { nullable: true })
133
133
  @Field(type => ScalarObject, { nullable: true })
134
- partitionKeys?: ScalarObject
134
+ partitionKeys?: { [key: string]: any }
135
135
 
136
136
  @Column('simple-json', { nullable: true })
137
137
  @Field(type => ScalarObject, { nullable: true })
138
- data?: ScalarObject
138
+ data?: any
139
139
 
140
140
  @Column('simple-json', { nullable: true })
141
141
  @Field(type => ScalarObject, { nullable: true })
142
- judgment?: ScalarObject
142
+ judgment?: any
143
143
 
144
144
  @Field(type => [DataItem], { nullable: true })
145
145
  dataItems?: DataItem[]
146
146
 
147
147
  @Column('simple-json', { nullable: true })
148
148
  @Field(type => ScalarObject, { nullable: true })
149
- history?: ScalarObject
149
+ history?: any
150
150
 
151
151
  @Column({
152
152
  nullable: true,
@@ -1,12 +1,9 @@
1
1
  import { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'
2
2
 
3
+ import { createDataSample } from '../../controllers/create-data-sample'
3
4
  import { DataSample } from './data-sample'
4
5
  import { NewDataSample } from './data-sample-type'
5
6
 
6
- import { createDataSample } from '../../controllers/create-data-sample'
7
-
8
- const debug = require('debug')('things-factory:dataset:data-sample:data-sample-mutation')
9
-
10
7
  @Resolver(DataSample)
11
8
  export class DataSampleMutation {
12
9
  @Directive('@privilege(category: "data-sample", privilege: "mutation", domainOwnerGranted: true)')
@@ -19,7 +19,7 @@ export class NewDataSample {
19
19
  dataSetVersion?: number
20
20
 
21
21
  @Field(type => ScalarObject, { nullable: true })
22
- data?: ScalarObject
22
+ data?: any
23
23
 
24
24
  @Field({ nullable: true })
25
25
  rawData?: string
@@ -68,7 +68,7 @@ export class DataSample {
68
68
 
69
69
  @Column('simple-json', { nullable: true })
70
70
  @Field(type => ScalarObject, { nullable: true })
71
- partitionKeys?: ScalarObject
71
+ partitionKeys?: { [key: string]: any }
72
72
 
73
73
  @ManyToOne(type => DataSet)
74
74
  @Field(type => DataSet, { nullable: false })
@@ -83,11 +83,11 @@ export class DataSample {
83
83
 
84
84
  @Column('simple-json', { nullable: true })
85
85
  @Field(type => ScalarObject, { nullable: true })
86
- data?: ScalarObject
86
+ data?: any
87
87
 
88
88
  @Column('simple-json', { nullable: true })
89
89
  @Field(type => ScalarObject, { nullable: true })
90
- judgment?: ScalarObject
90
+ judgment?: any
91
91
 
92
92
  @Field(type => [DataItem], { nullable: true })
93
93
  dataItems?: DataItem[]
@@ -36,7 +36,7 @@ export class DataItem {
36
36
  type?: DataItemType
37
37
 
38
38
  @Field(type => ScalarObject, { nullable: true })
39
- options?: ScalarObject
39
+ options?: { [option: string]: any }
40
40
 
41
41
  @Field({ nullable: true })
42
42
  unit?: string
@@ -45,7 +45,7 @@ export class DataItem {
45
45
  quota: number
46
46
 
47
47
  @Field(type => ScalarObject, { nullable: true })
48
- spec?: ScalarObject
48
+ spec?: { [key: string]: any }
49
49
  }
50
50
 
51
51
  @InputType()
@@ -63,7 +63,7 @@ export class DataItemPatch {
63
63
  type?: DataItemType
64
64
 
65
65
  @Field(type => ScalarObject, { nullable: true })
66
- options?: ScalarObject
66
+ options?: { [option: string]: any }
67
67
 
68
68
  @Field({ nullable: true })
69
69
  unit?: string
@@ -78,5 +78,5 @@ export class DataItemPatch {
78
78
  hidden?: boolean
79
79
 
80
80
  @Field(type => ScalarObject, { nullable: true })
81
- spec?: ScalarObject
81
+ spec?: { [key: string]: any }
82
82
  }
@@ -38,7 +38,9 @@ export class DataSetMutation {
38
38
  const dataSetRepo = tx.getRepository(DataSet)
39
39
 
40
40
  const dataSet = await dataSetRepo.findOne({
41
- where: { domain, id }
41
+ where: { domain, id },
42
+ relations: ['domain', 'dataKeySet', 'entryRole', 'supervisoryRole', 'creator', 'updater']
43
+ /* history에 항상 반영될 수 있도록 relations가 있어야 함. */
42
44
  })
43
45
 
44
46
  const result = await dataSetRepo.save({
@@ -81,9 +83,7 @@ export class DataSetMutation {
81
83
  await this._createAttachment(context, newRecord.reportTemplate, { ref: result, cuFlag })
82
84
 
83
85
  results.push({
84
- ...(await dataSetRepo.findOne(result.id, {
85
- relations: ['domain', 'creator', 'updater', 'supervisoryRole', 'entryRole']
86
- })),
86
+ ...result,
87
87
  cuFlag
88
88
  })
89
89
  }
@@ -93,7 +93,10 @@ export class DataSetMutation {
93
93
  const cuFlag = 'M'
94
94
  for (let i = 0; i < _updateRecords.length; i++) {
95
95
  const newRecord = _updateRecords[i]
96
- const dataSet = await dataSetRepo.findOne(newRecord.id)
96
+ const dataSet = await dataSetRepo.findOne(newRecord.id, {
97
+ /* history에 항상 반영될 수 있도록 relations가 있어야 함. */
98
+ relations: ['domain', 'dataKeySet', 'entryRole', 'supervisoryRole', 'creator', 'updater']
99
+ })
97
100
 
98
101
  const result = await dataSetRepo.save({
99
102
  ...dataSet,
@@ -104,9 +107,7 @@ export class DataSetMutation {
104
107
  await this._createAttachment(context, newRecord.reportTemplate, { ref: result, cuFlag })
105
108
 
106
109
  results.push({
107
- ...(await dataSetRepo.findOne(result.id, {
108
- relations: ['domain', 'creator', 'updater', 'supervisoryRole', 'entryRole']
109
- })),
110
+ ...result,
110
111
  cuFlag
111
112
  })
112
113
  }
@@ -176,7 +177,7 @@ export class DataSetMutation {
176
177
  id: In(ids),
177
178
  domain
178
179
  },
179
- relations: ['domain', 'supervisoryRole', 'entryRole']
180
+ relations: ['domain', 'supervisoryRole', 'entryRole', 'dataKeySet']
180
181
  })
181
182
 
182
183
  if (originals.length == 0) {
@@ -191,9 +192,12 @@ export class DataSetMutation {
191
192
  id: dataSetId,
192
193
  name: dataSet.name + ' (' + dataSetId + ')',
193
194
  active: false,
195
+ version: 1,
194
196
  domain,
195
197
  creator: user,
196
- updater: user
198
+ updater: user,
199
+ updatedAt: undefined,
200
+ createdAt: undefined
197
201
  }
198
202
  })
199
203
 
@@ -34,7 +34,7 @@ export class NewDataSet {
34
34
  useCase?: string
35
35
 
36
36
  @Field(type => ScalarObject, { nullable: true })
37
- partitionKeys?: ScalarObject
37
+ partitionKeys?: { [key: string]: any }
38
38
 
39
39
  @Field(type => [DataItemPatch], { nullable: true })
40
40
  dataItems?: DataItemPatch[]
@@ -97,7 +97,7 @@ export class DataSetPatch {
97
97
  useCase?: string
98
98
 
99
99
  @Field(type => ScalarObject, { nullable: true })
100
- partitionKeys?: ScalarObject
100
+ partitionKeys?: { [key: string]: any }
101
101
 
102
102
  @Field(type => [DataItemPatch], { nullable: true })
103
103
  dataItems?: DataItemPatch[]
@@ -86,7 +86,7 @@ export class DataSet {
86
86
 
87
87
  @ManyToOne(type => DataKeySet, { nullable: true })
88
88
  @Field(type => DataKeySet, { nullable: true })
89
- dataKeySet?: Role
89
+ dataKeySet?: DataKeySet
90
90
 
91
91
  @RelationId((dataSet: DataSet) => dataSet.dataKeySet)
92
92
  dataKeySetId?: string
@@ -142,7 +142,7 @@ export class DataSet {
142
142
 
143
143
  @Column('simple-json', { nullable: true })
144
144
  @Field(type => ScalarObject, { nullable: true })
145
- partitionKeys?: ScalarObject
145
+ partitionKeys?: { [key: string]: any }
146
146
 
147
147
  @Column('simple-json', { nullable: true })
148
148
  @Field(type => [DataItem], { nullable: true })
@@ -6,6 +6,7 @@ import { Role, User } from '@things-factory/auth-base'
6
6
  import { Board } from '@things-factory/board-service'
7
7
  import { Domain, getQueryBuilderFromListParams, ListParam, ScalarDate } from '@things-factory/shell'
8
8
 
9
+ import { DataKeySet } from '../data-key-set/data-key-set'
9
10
  import { DataSet } from '../data-set/data-set'
10
11
  import { DataSetHistory } from './data-set-history'
11
12
  import { DataSetHistoryList } from './data-set-history-type'
@@ -16,7 +17,7 @@ export class DataSetHistoryQuery {
16
17
  @Query(returns => DataSetHistory, { description: 'To fetch a DataSetHistory' })
17
18
  async dataSetHistory(
18
19
  @Arg('id') id: string,
19
- @Arg('timestamp', type => ScalarDate) timestamp: ScalarDate,
20
+ @Arg('timestamp', type => ScalarDate) timestamp: Date,
20
21
  @Ctx() context: any
21
22
  ): Promise<DataSetHistory> {
22
23
  const { domain } = context.state
@@ -77,8 +78,18 @@ export class DataSetHistoryQuery {
77
78
  }
78
79
  }
79
80
 
81
+ @FieldResolver(type => DataKeySet, { nullable: true })
82
+ async dataKeySet(@Root() dataSet: DataSet) {
83
+ return (
84
+ dataSet.dataKeySet ||
85
+ (await getRepository(DataKeySet).findOne({
86
+ id: dataSet.dataKeySetId
87
+ }))
88
+ )
89
+ }
90
+
80
91
  @FieldResolver(type => User)
81
- async timestamp(@Root() dataSetHistory: DataSetHistory): Promise<User> {
92
+ async timestamp(@Root() dataSetHistory: DataSetHistory): Promise<Date> {
82
93
  return dataSetHistory.updatedAt
83
94
  }
84
95
 
@@ -11,6 +11,7 @@ import { Role, User } from '@things-factory/auth-base'
11
11
  import { config } from '@things-factory/env'
12
12
  import { Domain, ScalarObject } from '@things-factory/shell'
13
13
 
14
+ import { DataKeySet } from '../data-key-set/data-key-set'
14
15
  import { DataItem } from '../data-set/data-item-type'
15
16
  import { DataSet, DataSetEntryType, DataSetMonitorType, DataSetReportType } from '../data-set/data-set'
16
17
 
@@ -57,6 +58,13 @@ export class DataSetHistory implements HistoryEntityInterface<DataSet> {
57
58
  @Field({ nullable: true })
58
59
  active?: boolean
59
60
 
61
+ @ManyToOne(type => DataKeySet, { nullable: true })
62
+ @Field(type => DataKeySet, { nullable: true })
63
+ dataKeySet?: DataKeySet
64
+
65
+ @RelationId((dataSet: DataSet) => dataSet.dataKeySet)
66
+ dataKeySetId?: string
67
+
60
68
  @ManyToOne(type => Role, { nullable: true })
61
69
  @Field(type => Role, { nullable: true })
62
70
  entryRole?: Role
@@ -108,7 +116,7 @@ export class DataSetHistory implements HistoryEntityInterface<DataSet> {
108
116
 
109
117
  @Column('simple-json', { nullable: true })
110
118
  @Field(type => ScalarObject, { nullable: true })
111
- partitionKeys?: ScalarObject
119
+ partitionKeys?: { [key: string]: any }
112
120
 
113
121
  @Column('simple-json', { nullable: true })
114
122
  @Field(type => [DataItem], { nullable: true })
@@ -1,4 +1,5 @@
1
- import { ObjectType, Field, Int } from 'type-graphql'
1
+ import { Field, Int, ObjectType } from 'type-graphql'
2
+
2
3
  import { ScalarObject } from '@things-factory/shell'
3
4
 
4
5
  @ObjectType()
@@ -16,7 +17,7 @@ export class DataSpecItem {
16
17
  placeholder?: string
17
18
 
18
19
  @Field(type => ScalarObject, { nullable: true })
19
- property?: ScalarObject
20
+ property?: { [key: string]: any }
20
21
  }
21
22
 
22
23
  @ObjectType()
@@ -1,73 +0,0 @@
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 __param = (this && this.__param) || function (paramIndex, decorator) {
12
- return function (target, key) { decorator(target, key, paramIndex); }
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.DataItemMutation = void 0;
16
- const type_graphql_1 = require("type-graphql");
17
- const typeorm_1 = require("typeorm");
18
- const data_set_1 = require("../data-set/data-set");
19
- const data_item_1 = require("./data-item");
20
- const data_item_type_1 = require("./data-item-type");
21
- let DataItemMutation = class DataItemMutation {
22
- async updateMultipleDataItem(dataSetId, patches, context) {
23
- const { domain, user, tx } = context.state;
24
- let results = [];
25
- const dataItemRepo = tx.getRepository(data_item_1.DataItem);
26
- const dataSet = await tx.getRepository(data_set_1.DataSet).findOne(dataSetId);
27
- await dataItemRepo.delete({ domain, dataSet: dataSetId });
28
- for (let i = 0; i < patches.length; i++) {
29
- const patch = patches[i];
30
- if (!patch.options) {
31
- patch.options = {};
32
- }
33
- const result = await dataItemRepo.save(Object.assign(Object.assign({ quota: 1 }, patch), { sequence: i, dataSet,
34
- domain, creator: user, updater: user }));
35
- results.push(Object.assign(Object.assign({}, result), { cuFlag: '+' }));
36
- }
37
- return results;
38
- }
39
- async deleteDataItems(ids, context) {
40
- const { domain, tx } = context.state;
41
- await tx.getRepository(data_item_1.DataItem).delete({
42
- domain,
43
- id: (0, typeorm_1.In)(ids)
44
- });
45
- return true;
46
- }
47
- };
48
- __decorate([
49
- (0, type_graphql_1.Directive)('@privilege(category: "data-set", privilege: "mutation", domainOwnerGranted: true)'),
50
- (0, type_graphql_1.Directive)('@transaction'),
51
- (0, type_graphql_1.Mutation)(returns => [data_item_1.DataItem], { description: "To modify multiple DataItems' information" }),
52
- __param(0, (0, type_graphql_1.Arg)('dataSetId')),
53
- __param(1, (0, type_graphql_1.Arg)('patches', type => [data_item_type_1.DataItemPatch])),
54
- __param(2, (0, type_graphql_1.Ctx)()),
55
- __metadata("design:type", Function),
56
- __metadata("design:paramtypes", [String, Array, Object]),
57
- __metadata("design:returntype", Promise)
58
- ], DataItemMutation.prototype, "updateMultipleDataItem", null);
59
- __decorate([
60
- (0, type_graphql_1.Directive)('@privilege(category: "data-set", privilege: "mutation", domainOwnerGranted: true)'),
61
- (0, type_graphql_1.Directive)('@transaction'),
62
- (0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To delete multiple dataItems' }),
63
- __param(0, (0, type_graphql_1.Arg)('ids', type => [String])),
64
- __param(1, (0, type_graphql_1.Ctx)()),
65
- __metadata("design:type", Function),
66
- __metadata("design:paramtypes", [Array, Object]),
67
- __metadata("design:returntype", Promise)
68
- ], DataItemMutation.prototype, "deleteDataItems", null);
69
- DataItemMutation = __decorate([
70
- (0, type_graphql_1.Resolver)(data_item_1.DataItem)
71
- ], DataItemMutation);
72
- exports.DataItemMutation = DataItemMutation;
73
- //# sourceMappingURL=data-item-mutation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"data-item-mutation.js","sourceRoot":"","sources":["../../../server/service/data-item/data-item-mutation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+CAAsE;AACtE,qCAA4B;AAE5B,mDAA8C;AAC9C,2CAAsC;AACtC,qDAAgD;AAGhD,IAAa,gBAAgB,GAA7B,MAAa,gBAAgB;IAI3B,KAAK,CAAC,sBAAsB,CACR,SAAiB,EACM,OAAwB,EAC1D,OAAY;QAEnB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAE1C,IAAI,OAAO,GAAG,EAAE,CAAA;QAChB,MAAM,YAAY,GAAG,EAAE,CAAC,aAAa,CAAC,oBAAQ,CAAC,CAAA;QAC/C,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,kBAAO,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QAElE,MAAM,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAA;QAEzD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;YACxB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;gBAClB,KAAK,CAAC,OAAO,GAAG,EAAE,CAAA;aACnB;YAED,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,+BACpC,KAAK,EAAE,CAAC,IACL,KAAK,KACR,QAAQ,EAAE,CAAC,EACX,OAAO;gBACP,MAAM,EACN,OAAO,EAAE,IAAI,EACb,OAAO,EAAE,IAAI,IACb,CAAA;YAEF,OAAO,CAAC,IAAI,iCAAM,MAAM,KAAE,MAAM,EAAE,GAAG,IAAG,CAAA;SACzC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAKD,KAAK,CAAC,eAAe,CAA+B,GAAa,EAAS,OAAY;QACpF,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEpC,MAAM,EAAE,CAAC,aAAa,CAAC,oBAAQ,CAAC,CAAC,MAAM,CAAC;YACtC,MAAM;YACN,EAAE,EAAE,IAAA,YAAE,EAAC,GAAG,CAAC;SACZ,CAAC,CAAA;QAEF,OAAO,IAAI,CAAA;IACb,CAAC;CACF,CAAA;AAhDC;IAHC,IAAA,wBAAS,EAAC,mFAAmF,CAAC;IAC9F,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC,oBAAQ,CAAC,EAAE,EAAE,WAAW,EAAE,2CAA2C,EAAE,CAAC;IAE3F,WAAA,IAAA,kBAAG,EAAC,WAAW,CAAC,CAAA;IAChB,WAAA,IAAA,kBAAG,EAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,8BAAa,CAAC,CAAC,CAAA;IACvC,WAAA,IAAA,kBAAG,GAAE,CAAA;;;;8DA8BP;AAKD;IAHC,IAAA,wBAAS,EAAC,mFAAmF,CAAC;IAC9F,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,8BAA8B,EAAE,CAAC;IACvD,WAAA,IAAA,kBAAG,EAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;IAAiB,WAAA,IAAA,kBAAG,GAAE,CAAA;;;;uDASxE;AAnDU,gBAAgB;IAD5B,IAAA,uBAAQ,EAAC,oBAAQ,CAAC;GACN,gBAAgB,CAoD5B;AApDY,4CAAgB"}
@@ -1,104 +0,0 @@
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 __param = (this && this.__param) || function (paramIndex, decorator) {
12
- return function (target, key) { decorator(target, key, paramIndex); }
13
- };
14
- var _a;
15
- Object.defineProperty(exports, "__esModule", { value: true });
16
- exports.DataItemQuery = void 0;
17
- const type_graphql_1 = require("type-graphql");
18
- const typeorm_1 = require("typeorm");
19
- const auth_base_1 = require("@things-factory/auth-base");
20
- const shell_1 = require("@things-factory/shell");
21
- const data_set_1 = require("../data-set/data-set");
22
- const data_item_1 = require("./data-item");
23
- const data_item_type_1 = require("./data-item-type");
24
- let DataItemQuery = class DataItemQuery {
25
- async dataItem(id, context) {
26
- const { domain } = context.state;
27
- return await (0, typeorm_1.getRepository)(data_item_1.DataItem).findOne({
28
- where: { domain, id }
29
- });
30
- }
31
- async dataItems(params, context) {
32
- const { domain } = context.state;
33
- const queryBuilder = (0, shell_1.getQueryBuilderFromListParams)({
34
- repository: (0, typeorm_1.getRepository)(data_item_1.DataItem),
35
- params,
36
- domain
37
- });
38
- const [items, total] = await queryBuilder.getManyAndCount();
39
- return { items, total };
40
- }
41
- async dataSet(dataItem) {
42
- return await (0, typeorm_1.getRepository)(data_set_1.DataSet).findOne(dataItem.dataSetId);
43
- }
44
- async domain(dataItem) {
45
- return await (0, typeorm_1.getRepository)(shell_1.Domain).findOne(dataItem.domainId);
46
- }
47
- async updater(dataItem) {
48
- return await (0, typeorm_1.getRepository)(auth_base_1.User).findOne(dataItem.updaterId);
49
- }
50
- async creator(dataItem) {
51
- return await (0, typeorm_1.getRepository)(auth_base_1.User).findOne(dataItem.creatorId);
52
- }
53
- };
54
- __decorate([
55
- (0, type_graphql_1.Directive)('@privilege(category: "data-set", privilege: "query", domainOwnerGranted: true)'),
56
- (0, type_graphql_1.Query)(returns => data_item_1.DataItem, { description: 'To fetch a DataItem' }),
57
- __param(0, (0, type_graphql_1.Arg)('id')),
58
- __param(1, (0, type_graphql_1.Ctx)()),
59
- __metadata("design:type", Function),
60
- __metadata("design:paramtypes", [String, Object]),
61
- __metadata("design:returntype", Promise)
62
- ], DataItemQuery.prototype, "dataItem", null);
63
- __decorate([
64
- (0, type_graphql_1.Directive)('@privilege(category: "data-set", privilege: "query", domainOwnerGranted: true)'),
65
- (0, type_graphql_1.Query)(returns => data_item_type_1.DataItemList, { description: 'To fetch multiple DataItems' }),
66
- __param(0, (0, type_graphql_1.Args)()),
67
- __param(1, (0, type_graphql_1.Ctx)()),
68
- __metadata("design:type", Function),
69
- __metadata("design:paramtypes", [typeof (_a = typeof shell_1.ListParam !== "undefined" && shell_1.ListParam) === "function" ? _a : Object, Object]),
70
- __metadata("design:returntype", Promise)
71
- ], DataItemQuery.prototype, "dataItems", null);
72
- __decorate([
73
- (0, type_graphql_1.FieldResolver)(type => data_set_1.DataSet),
74
- __param(0, (0, type_graphql_1.Root)()),
75
- __metadata("design:type", Function),
76
- __metadata("design:paramtypes", [data_item_1.DataItem]),
77
- __metadata("design:returntype", Promise)
78
- ], DataItemQuery.prototype, "dataSet", null);
79
- __decorate([
80
- (0, type_graphql_1.FieldResolver)(type => shell_1.Domain),
81
- __param(0, (0, type_graphql_1.Root)()),
82
- __metadata("design:type", Function),
83
- __metadata("design:paramtypes", [data_item_1.DataItem]),
84
- __metadata("design:returntype", Promise)
85
- ], DataItemQuery.prototype, "domain", null);
86
- __decorate([
87
- (0, type_graphql_1.FieldResolver)(type => auth_base_1.User),
88
- __param(0, (0, type_graphql_1.Root)()),
89
- __metadata("design:type", Function),
90
- __metadata("design:paramtypes", [data_item_1.DataItem]),
91
- __metadata("design:returntype", Promise)
92
- ], DataItemQuery.prototype, "updater", null);
93
- __decorate([
94
- (0, type_graphql_1.FieldResolver)(type => auth_base_1.User),
95
- __param(0, (0, type_graphql_1.Root)()),
96
- __metadata("design:type", Function),
97
- __metadata("design:paramtypes", [data_item_1.DataItem]),
98
- __metadata("design:returntype", Promise)
99
- ], DataItemQuery.prototype, "creator", null);
100
- DataItemQuery = __decorate([
101
- (0, type_graphql_1.Resolver)(data_item_1.DataItem)
102
- ], DataItemQuery);
103
- exports.DataItemQuery = DataItemQuery;
104
- //# sourceMappingURL=data-item-query.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"data-item-query.js","sourceRoot":"","sources":["../../../server/service/data-item/data-item-query.ts"],"names":[],"mappings":"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"}