@things-factory/dataset 5.0.0-zeta.8 → 5.0.0-zeta.9

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 (81) hide show
  1. package/client/bootstrap.js +2 -3
  2. package/client/pages/data-entry/data-entry-list-page.js +0 -1
  3. package/client/pages/data-ooc/data-ooc-list-page.js +1 -1
  4. package/client/pages/data-ooc/data-ooc-view.js +19 -14
  5. package/client/pages/data-report/data-report-list-page.js +0 -1
  6. package/client/pages/data-sample/data-sample-list-page.js +1 -1
  7. package/client/pages/data-sample/data-sample-view.js +3 -2
  8. package/client/pages/data-set/data-item-list.js +32 -98
  9. package/client/pages/data-set/data-set-list-page.js +0 -1
  10. package/dist-server/controllers/create-data-sample.js +20 -21
  11. package/dist-server/controllers/create-data-sample.js.map +1 -1
  12. package/dist-server/controllers/data-use-case.js.map +1 -1
  13. package/dist-server/controllers/index.js +1 -1
  14. package/dist-server/controllers/index.js.map +1 -1
  15. package/dist-server/service/data-item/index.js +1 -4
  16. package/dist-server/service/data-item/index.js.map +1 -1
  17. package/dist-server/service/data-ooc/data-ooc-query.js +18 -0
  18. package/dist-server/service/data-ooc/data-ooc-query.js.map +1 -1
  19. package/dist-server/service/data-ooc/data-ooc-type.js +4 -0
  20. package/dist-server/service/data-ooc/data-ooc-type.js.map +1 -1
  21. package/dist-server/service/data-ooc/data-ooc.js +5 -0
  22. package/dist-server/service/data-ooc/data-ooc.js.map +1 -1
  23. package/dist-server/service/data-sample/data-sample-query.js +18 -0
  24. package/dist-server/service/data-sample/data-sample-query.js.map +1 -1
  25. package/dist-server/service/data-sample/data-sample-type.js +4 -0
  26. package/dist-server/service/data-sample/data-sample-type.js.map +1 -1
  27. package/dist-server/service/data-sample/data-sample.js +5 -0
  28. package/dist-server/service/data-sample/data-sample.js.map +1 -1
  29. package/dist-server/service/{data-item → data-set}/data-item-type.js +60 -33
  30. package/dist-server/service/data-set/data-item-type.js.map +1 -0
  31. package/dist-server/service/data-set/data-set-mutation.js +40 -63
  32. package/dist-server/service/data-set/data-set-mutation.js.map +1 -1
  33. package/dist-server/service/data-set/data-set-query.js +4 -0
  34. package/dist-server/service/data-set/data-set-query.js.map +1 -1
  35. package/dist-server/service/data-set/data-set-type.js +10 -1
  36. package/dist-server/service/data-set/data-set-type.js.map +1 -1
  37. package/dist-server/service/data-set/data-set.js +14 -3
  38. package/dist-server/service/data-set/data-set.js.map +1 -1
  39. package/dist-server/service/data-set-history/data-set-history-query.js +173 -0
  40. package/dist-server/service/data-set-history/data-set-history-query.js.map +1 -0
  41. package/dist-server/service/data-set-history/data-set-history-type.js +29 -0
  42. package/dist-server/service/data-set-history/data-set-history-type.js.map +1 -0
  43. package/dist-server/service/data-set-history/data-set-history.js +205 -0
  44. package/dist-server/service/data-set-history/data-set-history.js.map +1 -0
  45. package/dist-server/service/data-set-history/index.js +8 -0
  46. package/dist-server/service/data-set-history/index.js.map +1 -0
  47. package/dist-server/service/index.js +6 -3
  48. package/dist-server/service/index.js.map +1 -1
  49. package/package.json +18 -17
  50. package/server/controllers/create-data-sample.ts +22 -27
  51. package/server/controllers/data-use-case.ts +2 -1
  52. package/server/controllers/index.ts +1 -1
  53. package/server/service/data-item/index.ts +0 -3
  54. package/server/service/data-ooc/data-ooc-query.ts +13 -0
  55. package/server/service/data-ooc/data-ooc-type.ts +3 -0
  56. package/server/service/data-ooc/data-ooc.ts +5 -0
  57. package/server/service/data-sample/data-sample-query.ts +14 -1
  58. package/server/service/data-sample/data-sample-type.ts +3 -0
  59. package/server/service/data-sample/data-sample.ts +5 -0
  60. package/server/service/data-set/data-item-type.ts +82 -0
  61. package/server/service/data-set/data-set-mutation.ts +64 -60
  62. package/server/service/data-set/data-set-query.ts +5 -0
  63. package/server/service/data-set/data-set-type.ts +8 -1
  64. package/server/service/data-set/data-set.ts +9 -3
  65. package/server/service/data-set-history/data-set-history-query.ts +110 -0
  66. package/server/service/data-set-history/data-set-history-type.ts +12 -0
  67. package/server/service/data-set-history/data-set-history.ts +160 -0
  68. package/server/service/data-set-history/index.ts +5 -0
  69. package/server/service/index.ts +7 -4
  70. package/translations/en.json +4 -4
  71. package/translations/ko.json +10 -10
  72. package/translations/ms.json +4 -4
  73. package/translations/zh.json +4 -4
  74. package/dist-server/service/data-item/data-item-mutation.js +0 -73
  75. package/dist-server/service/data-item/data-item-mutation.js.map +0 -1
  76. package/dist-server/service/data-item/data-item-query.js +0 -104
  77. package/dist-server/service/data-item/data-item-query.js.map +0 -1
  78. package/dist-server/service/data-item/data-item-type.js.map +0 -1
  79. package/server/service/data-item/data-item-mutation.ts +0 -61
  80. package/server/service/data-item/data-item-query.ts +0 -58
  81. package/server/service/data-item/data-item-type.ts +0 -57
@@ -0,0 +1,160 @@
1
+ import { Field, ID, ObjectType } from 'type-graphql'
2
+ import { Column, Entity, ManyToOne, PrimaryColumn, RelationId } from 'typeorm'
3
+
4
+ import { Role, User } from '@things-factory/auth-base'
5
+ import { Domain, ScalarObject } from '@things-factory/shell'
6
+
7
+ import { DataItem } from '../data-set/data-item-type'
8
+ import { DataSetEntryType, DataSetMonitorType, DataSetReportType } from '../data-set/data-set'
9
+
10
+ @Entity()
11
+ @ObjectType({ description: 'Entity for DataSetHistory' })
12
+ export class DataSetHistory {
13
+ @PrimaryColumn()
14
+ @Field(type => ID)
15
+ readonly id: string
16
+
17
+ @PrimaryColumn()
18
+ @Field()
19
+ readonly version: number
20
+
21
+ @ManyToOne(type => Domain)
22
+ @Field({ nullable: true })
23
+ domain?: Domain
24
+
25
+ @RelationId((dataSetHistory: DataSetHistory) => dataSetHistory.domain)
26
+ domainId?: string
27
+
28
+ @Column()
29
+ @Field()
30
+ name: string
31
+
32
+ @Column({
33
+ nullable: true
34
+ })
35
+ @Field({ nullable: true })
36
+ description?: string
37
+
38
+ @Column({
39
+ nullable: true
40
+ })
41
+ @Field({ nullable: true })
42
+ active?: boolean
43
+
44
+ @ManyToOne(type => Role, {
45
+ nullable: true
46
+ })
47
+ @Field(type => Role, { nullable: true })
48
+ entryRole?: Role
49
+
50
+ @RelationId((dataSetHistory: DataSetHistory) => dataSetHistory.entryRole)
51
+ entryRoleId?: string
52
+
53
+ @ManyToOne(type => Role, {
54
+ nullable: true
55
+ })
56
+ @Field(type => Role, { nullable: true })
57
+ supervisoryRole?: Role
58
+
59
+ @RelationId((dataSetHistory: DataSetHistory) => dataSetHistory.supervisoryRole)
60
+ supervisoryRoleId?: string
61
+
62
+ @Column({
63
+ nullable: true
64
+ })
65
+ @Field({ nullable: true })
66
+ type?: 'manual' | 'automatic' | string
67
+
68
+ @Column({
69
+ nullable: true
70
+ })
71
+ @Field({ nullable: true })
72
+ entryType?: DataSetEntryType
73
+
74
+ @Column({
75
+ nullable: true
76
+ })
77
+ @Field({ nullable: true })
78
+ entryView?: string
79
+
80
+ @Column({
81
+ nullable: true
82
+ })
83
+ @Field({ nullable: true })
84
+ monitorType?: DataSetMonitorType
85
+
86
+ @Column({
87
+ nullable: true
88
+ })
89
+ @Field({ nullable: true })
90
+ monitorView?: string
91
+
92
+ @Column({
93
+ nullable: true
94
+ })
95
+ @Field({ nullable: true })
96
+ reportType?: DataSetReportType
97
+
98
+ @Column({
99
+ nullable: true
100
+ })
101
+ @Field({ nullable: true })
102
+ reportView?: string
103
+
104
+ @Field({ nullable: true })
105
+ reportTemplate?: string
106
+
107
+ @Column({
108
+ nullable: true
109
+ })
110
+ @Field({ nullable: true })
111
+ useCase?: string
112
+
113
+ @Column('simple-json', { nullable: true })
114
+ @Field(type => ScalarObject, { nullable: true })
115
+ partitionKeys?: ScalarObject
116
+
117
+ @Column('simple-json', { nullable: true })
118
+ @Field(type => [DataItem], { nullable: true })
119
+ dataItems: DataItem[]
120
+
121
+ @Column({
122
+ nullable: true
123
+ })
124
+ @Field({ nullable: true })
125
+ schedule?: string
126
+
127
+ @Column({
128
+ nullable: true
129
+ })
130
+ @Field({ nullable: true })
131
+ timezone?: string
132
+
133
+ @Column({
134
+ nullable: true
135
+ })
136
+ @Field({ nullable: true })
137
+ createdAt?: Date
138
+
139
+ @PrimaryColumn()
140
+ @Field({ nullable: true })
141
+ updatedAt?: Date
142
+
143
+ @ManyToOne(type => User, {
144
+ nullable: true
145
+ })
146
+ @Field({ nullable: true })
147
+ creator?: User
148
+
149
+ @RelationId((dataSetHistory: DataSetHistory) => dataSetHistory.creator)
150
+ creatorId?: string
151
+
152
+ @ManyToOne(type => User, {
153
+ nullable: true
154
+ })
155
+ @Field({ nullable: true })
156
+ updater?: User
157
+
158
+ @RelationId((dataSetHistory: DataSetHistory) => dataSetHistory.creator)
159
+ updaterId?: string
160
+ }
@@ -0,0 +1,5 @@
1
+ import { DataSetHistory } from './data-set-history'
2
+ import { DataSetHistoryQuery } from './data-set-history-query'
3
+
4
+ export const entities = [DataSetHistory]
5
+ export const resolvers = [DataSetHistoryQuery]
@@ -1,26 +1,29 @@
1
- import { entities as DataItemEntities, resolvers as DataItemResolvers } from './data-item'
1
+ import { entities as DataItemEntities } from './data-item'
2
2
  /* IMPORT ENTITIES AND RESOLVERS */
3
3
  import { entities as DataOocEntities, resolvers as DataOocResolvers } from './data-ooc'
4
4
  import { entities as DataSampleEntities, resolvers as DataSampleResolvers } from './data-sample'
5
5
  import { entities as DataSensorEntities, resolvers as DataSensorResolvers } from './data-sensor'
6
6
  import { entities as DataSetEntities, resolvers as DataSetResolvers } from './data-set'
7
+ import { entities as DataSetHistoryEntities, resolvers as DataSetHistoryResolvers } from './data-set-history'
7
8
  import { entities as DataSpecEntities, resolvers as DataSpecResolvers } from './data-spec'
8
9
 
9
10
  /* EXPORT ENTITY TYPES */
10
11
  export * from './data-ooc/data-ooc'
11
12
  export * from './data-sensor/data-sensor'
12
13
  export * from './data-sample/data-sample'
13
- export * from './data-item/data-item'
14
14
  export * from './data-set/data-set'
15
+ export * from './data-set-history/data-set-history'
16
+ export * from './data-set/data-item-type'
15
17
  export * from './data-spec/data-spec'
16
18
 
17
19
  export const entities = [
18
20
  /* ENTITIES */
21
+ ...DataItemEntities,
19
22
  ...DataOocEntities,
20
23
  ...DataSensorEntities,
21
24
  ...DataSampleEntities,
22
- ...DataItemEntities,
23
25
  ...DataSetEntities,
26
+ ...DataSetHistoryEntities,
24
27
  ...DataSpecEntities
25
28
  ]
26
29
 
@@ -30,8 +33,8 @@ export const schema = {
30
33
  ...DataOocResolvers,
31
34
  ...DataSensorResolvers,
32
35
  ...DataSampleResolvers,
33
- ...DataItemResolvers,
34
36
  ...DataSetResolvers,
37
+ ...DataSetHistoryResolvers,
35
38
  ...DataSpecResolvers
36
39
  ]
37
40
  }
@@ -40,11 +40,11 @@
40
40
  "field.work-date": "work date",
41
41
  "field.work-shift": "work shift",
42
42
  "label.acceptables": "acceptables",
43
- "label.critical limits": "critical limits",
43
+ "label.critical-limits": "critical limits",
44
44
  "label.minimum value": "minimum value",
45
45
  "label.maximum value": "maximum value",
46
- "label.pass limits": "pass limits",
47
- "label.target limits": "target limits",
46
+ "label.pass-limits": "pass limits",
47
+ "label.target-limits": "target limits",
48
48
  "text.automatically collected": "automatically collected",
49
49
  "text.data sample created successfully": "a data sample created successfully",
50
50
  "text.data ooc updated successfully": "a data ooc updated successfully",
@@ -61,4 +61,4 @@
61
61
  "title.data-sensor list": "data sensor list",
62
62
  "title.data-set list": "data set list",
63
63
  "title.edit code": "edit code"
64
- }
64
+ }
@@ -3,12 +3,12 @@
3
3
  "button.reviewed": "검토완료",
4
4
  "field.appliance": "어플라이언스",
5
5
  "field.collected_at": "수집일시",
6
+ "field.corrected-at": "조치 시간",
6
7
  "field.corrective-action": "조치 활동",
7
8
  "field.corrector": "조치자",
8
- "field.corrected-at": "조치 시간",
9
- "field.data": "데이타",
10
9
  "field.data-sample": "데이타 샘플",
11
10
  "field.data-set": "데이타셋",
11
+ "field.data": "데이타",
12
12
  "field.device-id": "디바이스 아이디",
13
13
  "field.entry-role": "입력담당 역할",
14
14
  "field.entry-type": "입력용 화면종류",
@@ -19,8 +19,8 @@
19
19
  "field.monitor-view": "모니터용 화면",
20
20
  "field.netmask": "네트워크마스크",
21
21
  "field.next-schedule": "다음 수집계획",
22
- "field.oos": "허용한계 이탈여부",
23
22
  "field.ooc": "관리한계 이탈여부",
23
+ "field.oos": "허용한계 이탈여부",
24
24
  "field.options": "선택옵션",
25
25
  "field.partition-keys": "파티션 키",
26
26
  "field.prev-schedule": "이전 수집계획",
@@ -40,24 +40,24 @@
40
40
  "field.work-date": "작업기준일",
41
41
  "field.work-shift": "교대근무조",
42
42
  "label.acceptables": "허용값",
43
- "label.critical limits": "허용 한계범위",
44
- "label.minimum value": "최소값",
43
+ "label.critical-limits": "허용 한계범위",
45
44
  "label.maximum value": "최대값",
46
- "label.pass limits": "통과 허용범위",
47
- "label.target limits": "관리 목표범위",
45
+ "label.minimum value": "최소값",
46
+ "label.pass-limits": "통과 허용범위",
47
+ "label.target-limits": "관리 목표범위",
48
48
  "text.automatically collected": "자동 수집",
49
- "text.data sample created successfully": "데이타 샘플이 성공적으로 생성되었습니다",
50
49
  "text.data ooc updated successfully": "이탈데이타 내용이 수정되었습니다",
50
+ "text.data sample created successfully": "데이타 샘플이 성공적으로 생성되었습니다",
51
51
  "text.manually collected": "수동 수집",
52
52
  "title.data-entry-form": "데이타 입력",
53
53
  "title.data-item list": "데이타 아이템 조회",
54
54
  "title.data-monitor-view": "데이타 모니터",
55
- "title.data-report-view": "데이타 리포트",
56
55
  "title.data-ooc list": "데이타 이탈점 조회",
57
56
  "title.data-ooc view": "데이타 이탈점 상세",
57
+ "title.data-report-view": "데이타 리포트",
58
58
  "title.data-sample list": "데이타 샘플 조회",
59
59
  "title.data-sample view": "데이타 샘플 상세",
60
60
  "title.data-sensor list": "데이타 센서 조회",
61
61
  "title.data-set list": "데이타 셋 조회",
62
62
  "title.edit code": "코드 편집"
63
- }
63
+ }
@@ -39,11 +39,11 @@
39
39
  "field.work-date": "work date",
40
40
  "field.work-shift": "work shift",
41
41
  "label.acceptables": "acceptables",
42
- "label.critical limits": "critical limits",
42
+ "label.critical-limits": "critical limits",
43
43
  "label.minimum value": "minimum value",
44
44
  "label.maximum value": "maximum value",
45
- "label.pass limits": "pass limits",
46
- "label.target limits": "target limits",
45
+ "label.pass-limits": "pass limits",
46
+ "label.target-limits": "target limits",
47
47
  "text.automatically collected": "automatically collected",
48
48
  "text.data sample created successfully": "a data sample created successfully",
49
49
  "text.data ooc updated successfully": "a data ooc updated successfully",
@@ -59,4 +59,4 @@
59
59
  "title.data-sensor list": "data sensor list",
60
60
  "title.data-set list": "data set list",
61
61
  "title.edit code": "edit code"
62
- }
62
+ }
@@ -39,11 +39,11 @@
39
39
  "field.work-date": "work date",
40
40
  "field.work-shift": "work shift",
41
41
  "label.acceptables": "acceptables",
42
- "label.critical limits": "critical limits",
42
+ "label.critical-limits": "critical limits",
43
43
  "label.minimum value": "minimum value",
44
44
  "label.maximum value": "maximum value",
45
- "label.pass limits": "pass limits",
46
- "label.target limits": "target limits",
45
+ "label.pass-limits": "pass limits",
46
+ "label.target-limits": "target limits",
47
47
  "text.automatically collected": "automatically collected",
48
48
  "text.data sample created successfully": "a data sample created successfully",
49
49
  "text.data ooc updated successfully": "a data ooc updated successfully",
@@ -59,4 +59,4 @@
59
59
  "title.data-sensor list": "data sensor list",
60
60
  "title.data-set list": "data set list",
61
61
  "title.edit code": "edit code"
62
- }
62
+ }
@@ -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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"}
@@ -1 +0,0 @@
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;CA0CzB,CAAA;AAxCC;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,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;AAzCJ,aAAa;IADzB,IAAA,wBAAS,GAAE;GACC,aAAa,CA0CzB;AA1CY,sCAAa;AA6C1B,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,61 +0,0 @@
1
- import { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'
2
- import { In } from 'typeorm'
3
-
4
- import { DataSet } from '../data-set/data-set'
5
- import { DataItem } from './data-item'
6
- import { DataItemPatch } from './data-item-type'
7
-
8
- @Resolver(DataItem)
9
- export class DataItemMutation {
10
- @Directive('@privilege(category: "data-set", privilege: "mutation", domainOwnerGranted: true)')
11
- @Directive('@transaction')
12
- @Mutation(returns => [DataItem], { description: "To modify multiple DataItems' information" })
13
- async updateMultipleDataItem(
14
- @Arg('dataSetId') dataSetId: string,
15
- @Arg('patches', type => [DataItemPatch]) patches: DataItemPatch[],
16
- @Ctx() context: any
17
- ): Promise<DataItem[]> {
18
- const { domain, user, tx } = context.state
19
-
20
- let results = []
21
- const dataItemRepo = tx.getRepository(DataItem)
22
- const dataSet = await tx.getRepository(DataSet).findOne(dataSetId)
23
-
24
- await dataItemRepo.delete({ domain, dataSet: dataSetId })
25
-
26
- for (let i = 0; i < patches.length; i++) {
27
- const patch = patches[i]
28
- if (!patch.options) {
29
- patch.options = {}
30
- }
31
-
32
- const result = await dataItemRepo.save({
33
- quota: 1,
34
- ...patch,
35
- sequence: i,
36
- dataSet,
37
- domain,
38
- creator: user,
39
- updater: user
40
- })
41
-
42
- results.push({ ...result, cuFlag: '+' })
43
- }
44
-
45
- return results
46
- }
47
-
48
- @Directive('@privilege(category: "data-set", privilege: "mutation", domainOwnerGranted: true)')
49
- @Directive('@transaction')
50
- @Mutation(returns => Boolean, { description: 'To delete multiple dataItems' })
51
- async deleteDataItems(@Arg('ids', type => [String]) ids: string[], @Ctx() context: any): Promise<boolean> {
52
- const { domain, tx } = context.state
53
-
54
- await tx.getRepository(DataItem).delete({
55
- domain,
56
- id: In(ids)
57
- })
58
-
59
- return true
60
- }
61
- }
@@ -1,58 +0,0 @@
1
- import { Arg, Args, Ctx, Directive, FieldResolver, Query, Resolver, Root } from 'type-graphql'
2
- import { getRepository } from 'typeorm'
3
-
4
- import { User } from '@things-factory/auth-base'
5
- import { Domain, getQueryBuilderFromListParams, ListParam } from '@things-factory/shell'
6
-
7
- import { DataSet } from '../data-set/data-set'
8
- import { DataItem } from './data-item'
9
- import { DataItemList } from './data-item-type'
10
-
11
- @Resolver(DataItem)
12
- export class DataItemQuery {
13
- @Directive('@privilege(category: "data-set", privilege: "query", domainOwnerGranted: true)')
14
- @Query(returns => DataItem, { description: 'To fetch a DataItem' })
15
- async dataItem(@Arg('id') id: string, @Ctx() context: any): Promise<DataItem> {
16
- const { domain } = context.state
17
-
18
- return await getRepository(DataItem).findOne({
19
- where: { domain, id }
20
- })
21
- }
22
-
23
- @Directive('@privilege(category: "data-set", privilege: "query", domainOwnerGranted: true)')
24
- @Query(returns => DataItemList, { description: 'To fetch multiple DataItems' })
25
- async dataItems(@Args() params: ListParam, @Ctx() context: any): Promise<DataItemList> {
26
- const { domain } = context.state
27
-
28
- const queryBuilder = getQueryBuilderFromListParams({
29
- repository: getRepository(DataItem),
30
- params,
31
- domain
32
- })
33
-
34
- const [items, total] = await queryBuilder.getManyAndCount()
35
-
36
- return { items, total }
37
- }
38
-
39
- @FieldResolver(type => DataSet)
40
- async dataSet(@Root() dataItem: DataItem): Promise<DataSet> {
41
- return await getRepository(DataSet).findOne(dataItem.dataSetId)
42
- }
43
-
44
- @FieldResolver(type => Domain)
45
- async domain(@Root() dataItem: DataItem): Promise<Domain> {
46
- return await getRepository(Domain).findOne(dataItem.domainId)
47
- }
48
-
49
- @FieldResolver(type => User)
50
- async updater(@Root() dataItem: DataItem): Promise<User> {
51
- return await getRepository(User).findOne(dataItem.updaterId)
52
- }
53
-
54
- @FieldResolver(type => User)
55
- async creator(@Root() dataItem: DataItem): Promise<User> {
56
- return await getRepository(User).findOne(dataItem.creatorId)
57
- }
58
- }