@things-factory/dataset 9.0.1 → 9.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-server/service/data-archive/data-archive-mutation.js +18 -6
- package/dist-server/service/data-archive/data-archive-mutation.js.map +1 -1
- package/dist-server/service/data-archive/data-archive-query.js +15 -5
- package/dist-server/service/data-archive/data-archive-query.js.map +1 -1
- package/dist-server/service/data-archive/data-archive-type.js +11 -8
- package/dist-server/service/data-archive/data-archive-type.js.map +1 -1
- package/dist-server/service/data-archive/data-archive.js +10 -5
- package/dist-server/service/data-archive/data-archive.js.map +1 -1
- package/dist-server/service/data-key-set/data-key-item-type.js +10 -8
- package/dist-server/service/data-key-set/data-key-item-type.js.map +1 -1
- package/dist-server/service/data-key-set/data-key-set-mutation.js +18 -6
- package/dist-server/service/data-key-set/data-key-set-mutation.js.map +1 -1
- package/dist-server/service/data-key-set/data-key-set-query.js +19 -6
- package/dist-server/service/data-key-set/data-key-set-query.js.map +1 -1
- package/dist-server/service/data-key-set/data-key-set-type.js +17 -11
- package/dist-server/service/data-key-set/data-key-set-type.js.map +1 -1
- package/dist-server/service/data-key-set/data-key-set.js +8 -3
- package/dist-server/service/data-key-set/data-key-set.js.map +1 -1
- package/dist-server/service/data-ooc/data-ooc-mutation.js +6 -2
- package/dist-server/service/data-ooc/data-ooc-mutation.js.map +1 -1
- package/dist-server/service/data-ooc/data-ooc-query.js +27 -9
- package/dist-server/service/data-ooc/data-ooc-query.js.map +1 -1
- package/dist-server/service/data-ooc/data-ooc-subscription.d.ts +5 -0
- package/dist-server/service/data-ooc/data-ooc-subscription.js +15 -1
- package/dist-server/service/data-ooc/data-ooc-subscription.js.map +1 -1
- package/dist-server/service/data-ooc/data-ooc-type.js +29 -20
- package/dist-server/service/data-ooc/data-ooc-type.js.map +1 -1
- package/dist-server/service/data-ooc/data-ooc.js +11 -6
- package/dist-server/service/data-ooc/data-ooc.js.map +1 -1
- package/dist-server/service/data-sample/data-sample-mutation.js +3 -1
- package/dist-server/service/data-sample/data-sample-mutation.js.map +1 -1
- package/dist-server/service/data-sample/data-sample-query.js +24 -8
- package/dist-server/service/data-sample/data-sample-query.js.map +1 -1
- package/dist-server/service/data-sample/data-sample-type.js +13 -13
- package/dist-server/service/data-sample/data-sample-type.js.map +1 -1
- package/dist-server/service/data-sample/data-sample.js +11 -6
- package/dist-server/service/data-sample/data-sample.js.map +1 -1
- package/dist-server/service/data-sensor/data-sensor-mutation.js +15 -5
- package/dist-server/service/data-sensor/data-sensor-mutation.js.map +1 -1
- package/dist-server/service/data-sensor/data-sensor-query.js +24 -8
- package/dist-server/service/data-sensor/data-sensor-query.js.map +1 -1
- package/dist-server/service/data-sensor/data-sensor-type.js +19 -19
- package/dist-server/service/data-sensor/data-sensor-type.js.map +1 -1
- package/dist-server/service/data-sensor/data-sensor.js +11 -9
- package/dist-server/service/data-sensor/data-sensor.js.map +1 -1
- package/dist-server/service/data-set/data-set-mutation.js +25 -9
- package/dist-server/service/data-set/data-set-mutation.js.map +1 -1
- package/dist-server/service/data-set/data-set-query.js +24 -8
- package/dist-server/service/data-set/data-set-query.js.map +1 -1
- package/dist-server/service/data-set/data-set-type.js +3 -1
- package/dist-server/service/data-set/data-set-type.js.map +1 -1
- package/dist-server/service/data-set-history/data-set-history-type.js +3 -3
- package/dist-server/service/data-set-history/data-set-history-type.js.map +1 -1
- package/dist-server/service/data-set-history/data-set-history.js +56 -37
- package/dist-server/service/data-set-history/data-set-history.js.map +1 -1
- package/dist-server/service/data-spec/data-spec.js +24 -14
- package/dist-server/service/data-spec/data-spec.js.map +1 -1
- package/dist-server/service/data-summary/data-summary-mutation.js +6 -2
- package/dist-server/service/data-summary/data-summary-mutation.js.map +1 -1
- package/dist-server/service/data-summary/data-summary-query.js +25 -8
- package/dist-server/service/data-summary/data-summary-query.js.map +1 -1
- package/dist-server/service/data-summary/data-summary-type.js +25 -23
- package/dist-server/service/data-summary/data-summary-type.js.map +1 -1
- package/dist-server/service/data-summary/data-summary.js +8 -6
- package/dist-server/service/data-summary/data-summary.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +11 -11
@@ -9,59 +9,65 @@ let NewDataOoc = class NewDataOoc {
|
|
9
9
|
};
|
10
10
|
exports.NewDataOoc = NewDataOoc;
|
11
11
|
tslib_1.__decorate([
|
12
|
-
(0, type_graphql_1.Field)(),
|
12
|
+
(0, type_graphql_1.Field)({ description: 'Name of the OOC event for identification.' }),
|
13
13
|
tslib_1.__metadata("design:type", String)
|
14
14
|
], NewDataOoc.prototype, "name", void 0);
|
15
15
|
tslib_1.__decorate([
|
16
|
-
(0, type_graphql_1.Field)({ nullable: true }),
|
16
|
+
(0, type_graphql_1.Field)({ nullable: true, description: 'Description of the OOC event.' }),
|
17
17
|
tslib_1.__metadata("design:type", String)
|
18
18
|
], NewDataOoc.prototype, "description", void 0);
|
19
19
|
tslib_1.__decorate([
|
20
|
-
(0, type_graphql_1.Field)(type => shell_1.ObjectRef, { nullable: true }),
|
20
|
+
(0, type_graphql_1.Field)(type => shell_1.ObjectRef, { nullable: true, description: 'Reference to the dataset this OOC event belongs to.' }),
|
21
21
|
tslib_1.__metadata("design:type", shell_1.ObjectRef)
|
22
22
|
], NewDataOoc.prototype, "dataSet", void 0);
|
23
23
|
tslib_1.__decorate([
|
24
|
-
(0, type_graphql_1.Field)({ nullable: true }),
|
24
|
+
(0, type_graphql_1.Field)({ nullable: true, description: 'Version of the dataset when this OOC event was created.' }),
|
25
25
|
tslib_1.__metadata("design:type", Number)
|
26
26
|
], NewDataOoc.prototype, "dataSetVersion", void 0);
|
27
27
|
tslib_1.__decorate([
|
28
|
-
(0, type_graphql_1.Field)(type => shell_1.ObjectRef, {
|
28
|
+
(0, type_graphql_1.Field)(type => shell_1.ObjectRef, {
|
29
|
+
nullable: true,
|
30
|
+
description: 'Reference to the data sample that triggered this OOC event.'
|
31
|
+
}),
|
29
32
|
tslib_1.__metadata("design:type", shell_1.ObjectRef)
|
30
33
|
], NewDataOoc.prototype, "dataSample", void 0);
|
31
34
|
tslib_1.__decorate([
|
32
|
-
(0, type_graphql_1.Field)(type => data_ooc_js_1.DataOocStatus, {
|
35
|
+
(0, type_graphql_1.Field)(type => data_ooc_js_1.DataOocStatus, {
|
36
|
+
nullable: true,
|
37
|
+
description: 'Initial status of the OOC event in the corrective action workflow.'
|
38
|
+
}),
|
33
39
|
tslib_1.__metadata("design:type", String)
|
34
40
|
], NewDataOoc.prototype, "state", void 0);
|
35
41
|
tslib_1.__decorate([
|
36
|
-
(0, type_graphql_1.Field)(type => shell_1.ScalarObject, { nullable: true }),
|
42
|
+
(0, type_graphql_1.Field)(type => shell_1.ScalarObject, { nullable: true, description: 'The data values that triggered the OOC event.' }),
|
37
43
|
tslib_1.__metadata("design:type", Object)
|
38
44
|
], NewDataOoc.prototype, "data", void 0);
|
39
45
|
tslib_1.__decorate([
|
40
|
-
(0, type_graphql_1.Field)({ nullable: true }),
|
46
|
+
(0, type_graphql_1.Field)({ nullable: true, description: 'Raw data string that triggered the OOC event.' }),
|
41
47
|
tslib_1.__metadata("design:type", String)
|
42
48
|
], NewDataOoc.prototype, "rawData", void 0);
|
43
49
|
tslib_1.__decorate([
|
44
|
-
(0, type_graphql_1.Field)({ nullable: true }),
|
50
|
+
(0, type_graphql_1.Field)({ nullable: true, description: 'Source of the OOC event (e.g., sensor ID, manual entry, external system).' }),
|
45
51
|
tslib_1.__metadata("design:type", String)
|
46
52
|
], NewDataOoc.prototype, "source", void 0);
|
47
53
|
tslib_1.__decorate([
|
48
|
-
(0, type_graphql_1.Field)({ nullable: true }),
|
54
|
+
(0, type_graphql_1.Field)({ nullable: true, description: 'Indicates if this event is out of control (OOC).' }),
|
49
55
|
tslib_1.__metadata("design:type", Boolean)
|
50
56
|
], NewDataOoc.prototype, "ooc", void 0);
|
51
57
|
tslib_1.__decorate([
|
52
|
-
(0, type_graphql_1.Field)({ nullable: true }),
|
58
|
+
(0, type_graphql_1.Field)({ nullable: true, description: 'Indicates if this event is out of specification (OOS).' }),
|
53
59
|
tslib_1.__metadata("design:type", Boolean)
|
54
60
|
], NewDataOoc.prototype, "oos", void 0);
|
55
61
|
tslib_1.__decorate([
|
56
|
-
(0, type_graphql_1.Field)({ nullable: true }),
|
62
|
+
(0, type_graphql_1.Field)({ nullable: true, description: 'Work date when the OOC event occurred.' }),
|
57
63
|
tslib_1.__metadata("design:type", String)
|
58
64
|
], NewDataOoc.prototype, "workDate", void 0);
|
59
65
|
tslib_1.__decorate([
|
60
|
-
(0, type_graphql_1.Field)({ nullable: true }),
|
66
|
+
(0, type_graphql_1.Field)({ nullable: true, description: 'Work shift when the OOC event occurred.' }),
|
61
67
|
tslib_1.__metadata("design:type", String)
|
62
68
|
], NewDataOoc.prototype, "workShift", void 0);
|
63
69
|
tslib_1.__decorate([
|
64
|
-
(0, type_graphql_1.Field)({ nullable: true }),
|
70
|
+
(0, type_graphql_1.Field)({ nullable: true, description: 'Timestamp when the OOC event was detected.' }),
|
65
71
|
tslib_1.__metadata("design:type", Date)
|
66
72
|
], NewDataOoc.prototype, "collectedAt", void 0);
|
67
73
|
exports.NewDataOoc = NewDataOoc = tslib_1.__decorate([
|
@@ -71,15 +77,18 @@ let DataOocPatch = class DataOocPatch {
|
|
71
77
|
};
|
72
78
|
exports.DataOocPatch = DataOocPatch;
|
73
79
|
tslib_1.__decorate([
|
74
|
-
(0, type_graphql_1.Field)(type => type_graphql_1.ID, { nullable: true }),
|
80
|
+
(0, type_graphql_1.Field)(type => type_graphql_1.ID, { nullable: true, description: 'Unique identifier for the OOC record.' }),
|
75
81
|
tslib_1.__metadata("design:type", String)
|
76
82
|
], DataOocPatch.prototype, "id", void 0);
|
77
83
|
tslib_1.__decorate([
|
78
|
-
(0, type_graphql_1.Field)(type => data_ooc_js_1.DataOocStatus, {
|
84
|
+
(0, type_graphql_1.Field)(type => data_ooc_js_1.DataOocStatus, {
|
85
|
+
nullable: true,
|
86
|
+
description: 'Current status of the OOC event in the corrective action workflow.'
|
87
|
+
}),
|
79
88
|
tslib_1.__metadata("design:type", String)
|
80
89
|
], DataOocPatch.prototype, "state", void 0);
|
81
90
|
tslib_1.__decorate([
|
82
|
-
(0, type_graphql_1.Field)({ nullable: true }),
|
91
|
+
(0, type_graphql_1.Field)({ nullable: true, description: 'Description of the corrective action taken to resolve the OOC issue.' }),
|
83
92
|
tslib_1.__metadata("design:type", String)
|
84
93
|
], DataOocPatch.prototype, "correctiveAction", void 0);
|
85
94
|
exports.DataOocPatch = DataOocPatch = tslib_1.__decorate([
|
@@ -89,14 +98,14 @@ let DataOocList = class DataOocList {
|
|
89
98
|
};
|
90
99
|
exports.DataOocList = DataOocList;
|
91
100
|
tslib_1.__decorate([
|
92
|
-
(0, type_graphql_1.Field)(type => [data_ooc_js_1.DataOoc]),
|
101
|
+
(0, type_graphql_1.Field)(type => [data_ooc_js_1.DataOoc], { description: 'List of OOC events.' }),
|
93
102
|
tslib_1.__metadata("design:type", Array)
|
94
103
|
], DataOocList.prototype, "items", void 0);
|
95
104
|
tslib_1.__decorate([
|
96
|
-
(0, type_graphql_1.Field)(type => type_graphql_1.Int),
|
105
|
+
(0, type_graphql_1.Field)(type => type_graphql_1.Int, { description: 'Total number of OOC events in the list.' }),
|
97
106
|
tslib_1.__metadata("design:type", Number)
|
98
107
|
], DataOocList.prototype, "total", void 0);
|
99
108
|
exports.DataOocList = DataOocList = tslib_1.__decorate([
|
100
|
-
(0, type_graphql_1.ObjectType)()
|
109
|
+
(0, type_graphql_1.ObjectType)({ description: 'Represents a paginated list of OOC events.' })
|
101
110
|
], DataOocList);
|
102
111
|
//# sourceMappingURL=data-ooc-type.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"data-ooc-type.js","sourceRoot":"","sources":["../../../server/service/data-ooc/data-ooc-type.ts"],"names":[],"mappings":";;;;AAAA,+CAAoE;AAEpE,iDAA+D;AAE/D,+CAAsD;AAG/C,IAAM,UAAU,GAAhB,MAAM,UAAU;
|
1
|
+
{"version":3,"file":"data-ooc-type.js","sourceRoot":"","sources":["../../../server/service/data-ooc/data-ooc-type.ts"],"names":[],"mappings":"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","sourcesContent":["import { Field, ID, InputType, Int, ObjectType } from 'type-graphql'\n\nimport { ObjectRef, ScalarObject } from '@things-factory/shell'\n\nimport { DataOoc, DataOocStatus } from './data-ooc.js'\n\n@InputType()\nexport class NewDataOoc {\n @Field({ description: 'Name of the OOC event for identification.' })\n name: string\n\n @Field({ nullable: true, description: 'Description of the OOC event.' })\n description?: string\n\n @Field(type => ObjectRef, { nullable: true, description: 'Reference to the dataset this OOC event belongs to.' })\n dataSet?: ObjectRef\n\n @Field({ nullable: true, description: 'Version of the dataset when this OOC event was created.' })\n dataSetVersion?: number\n\n @Field(type => ObjectRef, {\n nullable: true,\n description: 'Reference to the data sample that triggered this OOC event.'\n })\n dataSample?: ObjectRef\n\n @Field(type => DataOocStatus, {\n nullable: true,\n description: 'Initial status of the OOC event in the corrective action workflow.'\n })\n state?: DataOocStatus\n\n @Field(type => ScalarObject, { nullable: true, description: 'The data values that triggered the OOC event.' })\n data?: any\n\n @Field({ nullable: true, description: 'Raw data string that triggered the OOC event.' })\n rawData?: string\n\n @Field({ nullable: true, description: 'Source of the OOC event (e.g., sensor ID, manual entry, external system).' })\n source?: string\n\n @Field({ nullable: true, description: 'Indicates if this event is out of control (OOC).' })\n ooc?: boolean\n\n @Field({ nullable: true, description: 'Indicates if this event is out of specification (OOS).' })\n oos?: boolean\n\n @Field({ nullable: true, description: 'Work date when the OOC event occurred.' })\n workDate?: string\n\n @Field({ nullable: true, description: 'Work shift when the OOC event occurred.' })\n workShift?: string\n\n @Field({ nullable: true, description: 'Timestamp when the OOC event was detected.' })\n collectedAt?: Date\n}\n\n@InputType()\nexport class DataOocPatch {\n @Field(type => ID, { nullable: true, description: 'Unique identifier for the OOC record.' })\n id?: string\n\n @Field(type => DataOocStatus, {\n nullable: true,\n description: 'Current status of the OOC event in the corrective action workflow.'\n })\n state?: DataOocStatus\n\n @Field({ nullable: true, description: 'Description of the corrective action taken to resolve the OOC issue.' })\n correctiveAction?: string\n}\n\n@ObjectType({ description: 'Represents a paginated list of OOC events.' })\nexport class DataOocList {\n @Field(type => [DataOoc], { description: 'List of OOC events.' })\n items: DataOoc[]\n\n @Field(type => Int, { description: 'Total number of OOC events in the list.' })\n total: number\n}\n"]}
|
@@ -35,7 +35,7 @@ let DataOoc = class DataOoc {
|
|
35
35
|
exports.DataOoc = DataOoc;
|
36
36
|
tslib_1.__decorate([
|
37
37
|
(0, typeorm_1.PrimaryGeneratedColumn)('uuid'),
|
38
|
-
(0, type_graphql_1.Field)(type => type_graphql_1.ID),
|
38
|
+
(0, type_graphql_1.Field)(type => type_graphql_1.ID, { description: 'Unique identifier for the OOC record.' }),
|
39
39
|
tslib_1.__metadata("design:type", String)
|
40
40
|
], DataOoc.prototype, "id", void 0);
|
41
41
|
tslib_1.__decorate([
|
@@ -83,7 +83,7 @@ tslib_1.__decorate([
|
|
83
83
|
], DataOoc.prototype, "oos", void 0);
|
84
84
|
tslib_1.__decorate([
|
85
85
|
(0, typeorm_1.Column)({ nullable: true }),
|
86
|
-
(0, type_graphql_1.Field)({ nullable: true }),
|
86
|
+
(0, type_graphql_1.Field)({ nullable: true, description: 'Current status of the OOC event in the corrective action workflow.' }),
|
87
87
|
tslib_1.__metadata("design:type", String)
|
88
88
|
], DataOoc.prototype, "state", void 0);
|
89
89
|
tslib_1.__decorate([
|
@@ -98,7 +98,7 @@ tslib_1.__decorate([
|
|
98
98
|
: 'varchar',
|
99
99
|
length: DATABASE_TYPE == 'mssql' ? 'MAX' : undefined
|
100
100
|
}),
|
101
|
-
(0, type_graphql_1.Field)({ nullable: true }),
|
101
|
+
(0, type_graphql_1.Field)({ nullable: true, description: 'Instructions for corrective action to resolve the OOC issue.' }),
|
102
102
|
tslib_1.__metadata("design:type", String)
|
103
103
|
], DataOoc.prototype, "correctiveInstruction", void 0);
|
104
104
|
tslib_1.__decorate([
|
@@ -113,7 +113,7 @@ tslib_1.__decorate([
|
|
113
113
|
: 'varchar',
|
114
114
|
length: DATABASE_TYPE == 'mssql' ? 'MAX' : undefined
|
115
115
|
}),
|
116
|
-
(0, type_graphql_1.Field)({ nullable: true }),
|
116
|
+
(0, type_graphql_1.Field)({ nullable: true, description: 'Description of the corrective action taken to resolve the OOC issue.' }),
|
117
117
|
tslib_1.__metadata("design:type", String)
|
118
118
|
], DataOoc.prototype, "correctiveAction", void 0);
|
119
119
|
tslib_1.__decorate([
|
@@ -172,7 +172,10 @@ tslib_1.__decorate([
|
|
172
172
|
], DataOoc.prototype, "dataItems", void 0);
|
173
173
|
tslib_1.__decorate([
|
174
174
|
(0, typeorm_1.Column)('simple-json', { nullable: true }),
|
175
|
-
(0, type_graphql_1.Field)(type => shell_1.ScalarObject, {
|
175
|
+
(0, type_graphql_1.Field)(type => shell_1.ScalarObject, {
|
176
|
+
nullable: true,
|
177
|
+
description: 'Complete history of the OOC event, including all status changes and actions taken.'
|
178
|
+
}),
|
176
179
|
tslib_1.__metadata("design:type", Object)
|
177
180
|
], DataOoc.prototype, "history", void 0);
|
178
181
|
tslib_1.__decorate([
|
@@ -299,6 +302,8 @@ tslib_1.__decorate([
|
|
299
302
|
exports.DataOoc = DataOoc = tslib_1.__decorate([
|
300
303
|
(0, typeorm_1.Entity)(),
|
301
304
|
(0, typeorm_1.Index)('ix_data_ooc_0', (dataOoc) => [dataOoc.domain, dataOoc.dataSet, dataOoc.collectedAt], { unique: false }),
|
302
|
-
(0, type_graphql_1.ObjectType)({
|
305
|
+
(0, type_graphql_1.ObjectType)({
|
306
|
+
description: 'Represents an out-of-control (OOC) quality event that requires corrective action. This entity tracks the resolution workflow and maintains history of quality issues.'
|
307
|
+
})
|
303
308
|
], DataOoc);
|
304
309
|
//# sourceMappingURL=data-ooc.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"data-ooc.js","sourceRoot":"","sources":["../../../server/service/data-ooc/data-ooc.ts"],"names":[],"mappings":"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","sourcesContent":["import { Field, ID, ObjectType, registerEnumType } from 'type-graphql'\nimport {\n Column,\n CreateDateColumn,\n Entity,\n Index,\n JoinColumn,\n ManyToOne,\n OneToOne,\n PrimaryGeneratedColumn,\n RelationId,\n UpdateDateColumn\n} from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { config } from '@things-factory/env'\nimport { Domain, ScalarObject } from '@things-factory/shell'\nimport { ActivityInstance } from '@things-factory/worklist'\n\nimport { DataItem } from '../data-set/data-item-type.js'\nimport { DataSet } from '../data-set/data-set.js'\nimport { DataSample } from '../data-sample/data-sample.js'\n\nconst ORMCONFIG = config.get('ormconfig', {})\nconst DATABASE_TYPE = ORMCONFIG.type\n\nexport enum DataOocStatus {\n ISSUED = 'ISSUED',\n REVIEWED = 'REVIEWED',\n CORRECTED = 'CORRECTED'\n}\n\nregisterEnumType(DataOocStatus, {\n name: 'DataOocStatus',\n description: 'Out of control data corrective action process progress status'\n})\n\n@Entity()\n@Index('ix_data_ooc_0', (dataOoc: DataOoc) => [dataOoc.domain, dataOoc.dataSet, dataOoc.collectedAt], { unique: false })\n@ObjectType({ description: 'Entity for Out of control data' })\nexport class DataOoc {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID)\n readonly id: string\n\n @ManyToOne(type => Domain)\n @Field(type => Domain)\n domain?: Domain\n\n @RelationId((dataOoc: DataOoc) => dataOoc.domain)\n domainId?: string\n\n @Column()\n @Field({ nullable: true })\n name?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n description?: string\n\n @ManyToOne(type => DataSet)\n @Field(type => DataSet, { nullable: true })\n dataSet?: DataSet\n\n @RelationId((dataOoc: DataOoc) => dataOoc.dataSet)\n dataSetId?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n dataSetVersion?: number\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n ooc?: boolean\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n oos?: boolean\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n state?: DataOocStatus\n\n @Column({\n nullable: true,\n type:\n DATABASE_TYPE == 'mysql' || DATABASE_TYPE == 'mariadb'\n ? 'longtext'\n : DATABASE_TYPE == 'oracle'\n ? 'clob'\n : DATABASE_TYPE == 'mssql'\n ? 'nvarchar'\n : 'varchar',\n length: DATABASE_TYPE == 'mssql' ? 'MAX' : undefined\n })\n @Field({ nullable: true })\n correctiveInstruction?: string\n\n @Column({\n nullable: true,\n type:\n DATABASE_TYPE == 'mysql' || DATABASE_TYPE == 'mariadb'\n ? 'longtext'\n : DATABASE_TYPE == 'oracle'\n ? 'clob'\n : DATABASE_TYPE == 'mssql'\n ? 'nvarchar'\n : 'varchar',\n length: DATABASE_TYPE == 'mssql' ? 'MAX' : undefined\n })\n @Field({ nullable: true })\n correctiveAction?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n type?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n useCase?: string\n\n @Column({ nullable: true, default: '' })\n @Field({ nullable: true })\n key01?: string = ''\n\n @Column({ nullable: true, default: '' })\n @Field({ nullable: true })\n key02?: string = ''\n\n @Column({ nullable: true, default: '' })\n @Field({ nullable: true })\n key03?: string = ''\n\n @Column({ nullable: true, default: '' })\n @Field({ nullable: true })\n key04?: string = ''\n\n @Column({ nullable: true, default: '' })\n @Field({ nullable: true })\n key05?: string = ''\n\n @Column('simple-json', { nullable: true })\n @Field(type => ScalarObject, { nullable: true })\n partitionKeys?: { [key: string]: any }\n\n @Column('simple-json', { nullable: true })\n @Field(type => ScalarObject, { nullable: true })\n data?: any\n\n @Column('simple-json', { nullable: true })\n @Field(type => ScalarObject, { nullable: true })\n judgment?: any\n\n @Field(type => [DataItem], { nullable: true })\n dataItems?: DataItem[]\n\n @Column('simple-json', { nullable: true })\n @Field(type => ScalarObject, { nullable: true })\n history?: any\n\n @Column({\n nullable: true,\n type:\n DATABASE_TYPE == 'mysql' || DATABASE_TYPE == 'mariadb'\n ? 'longtext'\n : DATABASE_TYPE == 'oracle'\n ? 'clob'\n : DATABASE_TYPE == 'mssql'\n ? 'nvarchar'\n : 'varchar',\n length: DATABASE_TYPE == 'mssql' ? 'MAX' : undefined\n })\n @Field({ nullable: true })\n rawData?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n source?: string\n\n @OneToOne(type => DataSample, { nullable: true })\n @JoinColumn()\n @Field(type => DataSample, { nullable: true })\n dataSample?: DataSample\n\n @RelationId((dataOoc: DataOoc) => dataOoc.dataSample)\n dataSampleId?: string\n\n @OneToOne(type => ActivityInstance, { nullable: true })\n @JoinColumn()\n @Field({ nullable: true })\n reviewActivityInstance?: ActivityInstance\n\n @RelationId((dataOoc: DataOoc) => dataOoc.reviewActivityInstance)\n reviewActivityInstanceId?: string\n\n @OneToOne(type => ActivityInstance, { nullable: true })\n @JoinColumn()\n @Field({ nullable: true })\n resolveActivityInstance?: ActivityInstance\n\n @RelationId((dataOoc: DataOoc) => dataOoc.resolveActivityInstance)\n resolveActivityInstanceId?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n workDate?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n workShift?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n collectedAt?: Date\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n reviewedAt?: Date\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n correctedAt?: Date\n\n @CreateDateColumn()\n @Field({ nullable: true })\n createdAt?: Date\n\n @UpdateDateColumn()\n @Field({ nullable: true })\n updatedAt?: Date\n\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n reviewer?: User\n\n @RelationId((dataOoc: DataOoc) => dataOoc.reviewer)\n reviewerId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n corrector?: User\n\n @RelationId((dataOoc: DataOoc) => dataOoc.corrector)\n correctorId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true })\n creator?: User\n\n @RelationId((dataOoc: DataOoc) => dataOoc.creator)\n creatorId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true })\n updater?: User\n\n @RelationId((dataOoc: DataOoc) => dataOoc.updater)\n updaterId?: string\n}\n"]}
|
1
|
+
{"version":3,"file":"data-ooc.js","sourceRoot":"","sources":["../../../server/service/data-ooc/data-ooc.ts"],"names":[],"mappings":"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","sourcesContent":["import { Field, ID, ObjectType, registerEnumType } from 'type-graphql'\nimport {\n Column,\n CreateDateColumn,\n Entity,\n Index,\n JoinColumn,\n ManyToOne,\n OneToOne,\n PrimaryGeneratedColumn,\n RelationId,\n UpdateDateColumn\n} from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { config } from '@things-factory/env'\nimport { Domain, ScalarObject } from '@things-factory/shell'\nimport { ActivityInstance } from '@things-factory/worklist'\n\nimport { DataItem } from '../data-set/data-item-type.js'\nimport { DataSet } from '../data-set/data-set.js'\nimport { DataSample } from '../data-sample/data-sample.js'\n\nconst ORMCONFIG = config.get('ormconfig', {})\nconst DATABASE_TYPE = ORMCONFIG.type\n\nexport enum DataOocStatus {\n ISSUED = 'ISSUED',\n REVIEWED = 'REVIEWED',\n CORRECTED = 'CORRECTED'\n}\n\nregisterEnumType(DataOocStatus, {\n name: 'DataOocStatus',\n description: 'Out of control data corrective action process progress status'\n})\n\n@Entity()\n@Index('ix_data_ooc_0', (dataOoc: DataOoc) => [dataOoc.domain, dataOoc.dataSet, dataOoc.collectedAt], { unique: false })\n@ObjectType({\n description:\n 'Represents an out-of-control (OOC) quality event that requires corrective action. This entity tracks the resolution workflow and maintains history of quality issues.'\n})\nexport class DataOoc {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID, { description: 'Unique identifier for the OOC record.' })\n readonly id: string\n\n @ManyToOne(type => Domain)\n @Field(type => Domain)\n domain?: Domain\n\n @RelationId((dataOoc: DataOoc) => dataOoc.domain)\n domainId?: string\n\n @Column()\n @Field({ nullable: true })\n name?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n description?: string\n\n @ManyToOne(type => DataSet)\n @Field(type => DataSet, { nullable: true })\n dataSet?: DataSet\n\n @RelationId((dataOoc: DataOoc) => dataOoc.dataSet)\n dataSetId?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n dataSetVersion?: number\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n ooc?: boolean\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n oos?: boolean\n\n @Column({ nullable: true })\n @Field({ nullable: true, description: 'Current status of the OOC event in the corrective action workflow.' })\n state?: DataOocStatus\n\n @Column({\n nullable: true,\n type:\n DATABASE_TYPE == 'mysql' || DATABASE_TYPE == 'mariadb'\n ? 'longtext'\n : DATABASE_TYPE == 'oracle'\n ? 'clob'\n : DATABASE_TYPE == 'mssql'\n ? 'nvarchar'\n : 'varchar',\n length: DATABASE_TYPE == 'mssql' ? 'MAX' : undefined\n })\n @Field({ nullable: true, description: 'Instructions for corrective action to resolve the OOC issue.' })\n correctiveInstruction?: string\n\n @Column({\n nullable: true,\n type:\n DATABASE_TYPE == 'mysql' || DATABASE_TYPE == 'mariadb'\n ? 'longtext'\n : DATABASE_TYPE == 'oracle'\n ? 'clob'\n : DATABASE_TYPE == 'mssql'\n ? 'nvarchar'\n : 'varchar',\n length: DATABASE_TYPE == 'mssql' ? 'MAX' : undefined\n })\n @Field({ nullable: true, description: 'Description of the corrective action taken to resolve the OOC issue.' })\n correctiveAction?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n type?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n useCase?: string\n\n @Column({ nullable: true, default: '' })\n @Field({ nullable: true })\n key01?: string = ''\n\n @Column({ nullable: true, default: '' })\n @Field({ nullable: true })\n key02?: string = ''\n\n @Column({ nullable: true, default: '' })\n @Field({ nullable: true })\n key03?: string = ''\n\n @Column({ nullable: true, default: '' })\n @Field({ nullable: true })\n key04?: string = ''\n\n @Column({ nullable: true, default: '' })\n @Field({ nullable: true })\n key05?: string = ''\n\n @Column('simple-json', { nullable: true })\n @Field(type => ScalarObject, { nullable: true })\n partitionKeys?: { [key: string]: any }\n\n @Column('simple-json', { nullable: true })\n @Field(type => ScalarObject, { nullable: true })\n data?: any\n\n @Column('simple-json', { nullable: true })\n @Field(type => ScalarObject, { nullable: true })\n judgment?: any\n\n @Field(type => [DataItem], { nullable: true })\n dataItems?: DataItem[]\n\n @Column('simple-json', { nullable: true })\n @Field(type => ScalarObject, {\n nullable: true,\n description: 'Complete history of the OOC event, including all status changes and actions taken.'\n })\n history?: any\n\n @Column({\n nullable: true,\n type:\n DATABASE_TYPE == 'mysql' || DATABASE_TYPE == 'mariadb'\n ? 'longtext'\n : DATABASE_TYPE == 'oracle'\n ? 'clob'\n : DATABASE_TYPE == 'mssql'\n ? 'nvarchar'\n : 'varchar',\n length: DATABASE_TYPE == 'mssql' ? 'MAX' : undefined\n })\n @Field({ nullable: true })\n rawData?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n source?: string\n\n @OneToOne(type => DataSample, { nullable: true })\n @JoinColumn()\n @Field(type => DataSample, { nullable: true })\n dataSample?: DataSample\n\n @RelationId((dataOoc: DataOoc) => dataOoc.dataSample)\n dataSampleId?: string\n\n @OneToOne(type => ActivityInstance, { nullable: true })\n @JoinColumn()\n @Field({ nullable: true })\n reviewActivityInstance?: ActivityInstance\n\n @RelationId((dataOoc: DataOoc) => dataOoc.reviewActivityInstance)\n reviewActivityInstanceId?: string\n\n @OneToOne(type => ActivityInstance, { nullable: true })\n @JoinColumn()\n @Field({ nullable: true })\n resolveActivityInstance?: ActivityInstance\n\n @RelationId((dataOoc: DataOoc) => dataOoc.resolveActivityInstance)\n resolveActivityInstanceId?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n workDate?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n workShift?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n collectedAt?: Date\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n reviewedAt?: Date\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n correctedAt?: Date\n\n @CreateDateColumn()\n @Field({ nullable: true })\n createdAt?: Date\n\n @UpdateDateColumn()\n @Field({ nullable: true })\n updatedAt?: Date\n\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n reviewer?: User\n\n @RelationId((dataOoc: DataOoc) => dataOoc.reviewer)\n reviewerId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n corrector?: User\n\n @RelationId((dataOoc: DataOoc) => dataOoc.corrector)\n correctorId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true })\n creator?: User\n\n @RelationId((dataOoc: DataOoc) => dataOoc.creator)\n creatorId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true })\n updater?: User\n\n @RelationId((dataOoc: DataOoc) => dataOoc.updater)\n updaterId?: string\n}\n"]}
|
@@ -15,7 +15,9 @@ exports.DataSampleMutation = DataSampleMutation;
|
|
15
15
|
tslib_1.__decorate([
|
16
16
|
(0, type_graphql_1.Directive)('@privilege(category: "data-sample", privilege: "mutation", domainOwnerGranted: true)'),
|
17
17
|
(0, type_graphql_1.Directive)('@transaction'),
|
18
|
-
(0, type_graphql_1.Mutation)(returns => data_sample_js_1.DataSample, {
|
18
|
+
(0, type_graphql_1.Mutation)(returns => data_sample_js_1.DataSample, {
|
19
|
+
description: 'Creates a new data sample record with collected values, metadata, and links to the dataset. Used for both manual and automated data collection processes.'
|
20
|
+
}),
|
19
21
|
tslib_1.__param(0, (0, type_graphql_1.Arg)('dataSample')),
|
20
22
|
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
21
23
|
tslib_1.__metadata("design:type", Function),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"data-sample-mutation.js","sourceRoot":"","sources":["../../../server/service/data-sample/data-sample-mutation.ts"],"names":[],"mappings":";;;;AAAA,+CAAsE;AAEtE,mFAA0E;AAC1E,qDAA6C;AAC7C,+DAAqD;AAG9C,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;
|
1
|
+
{"version":3,"file":"data-sample-mutation.js","sourceRoot":"","sources":["../../../server/service/data-sample/data-sample-mutation.ts"],"names":[],"mappings":";;;;AAAA,+CAAsE;AAEtE,mFAA0E;AAC1E,qDAA6C;AAC7C,+DAAqD;AAG9C,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAOvB,AAAN,KAAK,CAAC,gBAAgB,CACD,UAAyB,EACrC,OAAwB;QAE/B,OAAO,MAAM,IAAA,wCAAgB,EAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IACpD,CAAC;CACF,CAAA;AAbY,gDAAkB;AAOvB;IANL,IAAA,wBAAS,EAAC,sFAAsF,CAAC;IACjG,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,2BAAU,EAAE;QAC/B,WAAW,EACT,2JAA2J;KAC9J,CAAC;IAEC,mBAAA,IAAA,kBAAG,EAAC,YAAY,CAAC,CAAA;IACjB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;6CADyB,mCAAa;;0DAI7C;6BAZU,kBAAkB;IAD9B,IAAA,uBAAQ,EAAC,2BAAU,CAAC;GACR,kBAAkB,CAa9B","sourcesContent":["import { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'\n\nimport { createDataSample } from '../../controllers/create-data-sample.js'\nimport { DataSample } from './data-sample.js'\nimport { NewDataSample } from './data-sample-type.js'\n\n@Resolver(DataSample)\nexport class DataSampleMutation {\n @Directive('@privilege(category: \"data-sample\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Directive('@transaction')\n @Mutation(returns => DataSample, {\n description:\n 'Creates a new data sample record with collected values, metadata, and links to the dataset. Used for both manual and automated data collection processes.'\n })\n async createDataSample(\n @Arg('dataSample') dataSample: NewDataSample,\n @Ctx() context: ResolverContext\n ): Promise<DataSample> {\n return await createDataSample(dataSample, context)\n }\n}\n"]}
|
@@ -149,7 +149,9 @@ let DataSampleQuery = class DataSampleQuery {
|
|
149
149
|
exports.DataSampleQuery = DataSampleQuery;
|
150
150
|
tslib_1.__decorate([
|
151
151
|
(0, type_graphql_1.Directive)('@privilege(category: "data-sample", privilege: "query", domainOwnerGranted: true)'),
|
152
|
-
(0, type_graphql_1.Query)(returns => data_sample_js_1.DataSample, {
|
152
|
+
(0, type_graphql_1.Query)(returns => data_sample_js_1.DataSample, {
|
153
|
+
description: 'Retrieves a single data sample by its unique identifier. This query fetches detailed information about a specific data sample including its values, metadata, collection timestamp, and associated dataset information.'
|
154
|
+
}),
|
153
155
|
tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
|
154
156
|
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
155
157
|
tslib_1.__metadata("design:type", Function),
|
@@ -158,7 +160,9 @@ tslib_1.__decorate([
|
|
158
160
|
], DataSampleQuery.prototype, "dataSample", null);
|
159
161
|
tslib_1.__decorate([
|
160
162
|
(0, type_graphql_1.Directive)('@privilege(category: "data-sample", privilege: "query", domainOwnerGranted: true)'),
|
161
|
-
(0, type_graphql_1.Query)(returns => data_sample_type_js_1.DataSampleList, {
|
163
|
+
(0, type_graphql_1.Query)(returns => data_sample_type_js_1.DataSampleList, {
|
164
|
+
description: 'Retrieves multiple data samples with pagination and filtering support. This query allows searching samples by name and description, and is used for listing and browsing collected data samples across all datasets.'
|
165
|
+
}),
|
162
166
|
tslib_1.__param(0, (0, type_graphql_1.Args)(type => shell_1.ListParam)),
|
163
167
|
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
164
168
|
tslib_1.__metadata("design:type", Function),
|
@@ -167,7 +171,9 @@ tslib_1.__decorate([
|
|
167
171
|
], DataSampleQuery.prototype, "dataSamples", null);
|
168
172
|
tslib_1.__decorate([
|
169
173
|
(0, type_graphql_1.Directive)('@privilege(category: "data-sample", privilege: "query", domainOwnerGranted: true)'),
|
170
|
-
(0, type_graphql_1.Query)(returns => data_sample_type_js_1.DataSampleList, {
|
174
|
+
(0, type_graphql_1.Query)(returns => data_sample_type_js_1.DataSampleList, {
|
175
|
+
description: "Retrieves data samples that belong to a specific dataset. This query filters samples by dataset ID and includes searchable fields based on the dataset's key configuration, allowing for targeted data analysis within a particular dataset context."
|
176
|
+
}),
|
171
177
|
tslib_1.__param(0, (0, type_graphql_1.Arg)('dataSetId')),
|
172
178
|
tslib_1.__param(1, (0, type_graphql_1.Args)(type => shell_1.ListParam)),
|
173
179
|
tslib_1.__param(2, (0, type_graphql_1.Ctx)()),
|
@@ -177,7 +183,9 @@ tslib_1.__decorate([
|
|
177
183
|
], DataSampleQuery.prototype, "dataSamplesByDataSet", null);
|
178
184
|
tslib_1.__decorate([
|
179
185
|
(0, type_graphql_1.Directive)('@privilege(category: "data-sample", privilege: "query", domainOwnerGranted: true)'),
|
180
|
-
(0, type_graphql_1.Query)(returns => data_sample_type_js_1.DataSampleList, {
|
186
|
+
(0, type_graphql_1.Query)(returns => data_sample_type_js_1.DataSampleList, {
|
187
|
+
description: 'Retrieves data samples that belong to datasets using a specific data key set. This query filters samples by key set ID and enables cross-dataset analysis based on shared key configurations, useful for comparing data across related datasets.'
|
188
|
+
}),
|
181
189
|
tslib_1.__param(0, (0, type_graphql_1.Arg)('dataKeySetId')),
|
182
190
|
tslib_1.__param(1, (0, type_graphql_1.Args)(type => shell_1.ListParam)),
|
183
191
|
tslib_1.__param(2, (0, type_graphql_1.Ctx)()),
|
@@ -186,7 +194,9 @@ tslib_1.__decorate([
|
|
186
194
|
tslib_1.__metadata("design:returntype", Promise)
|
187
195
|
], DataSampleQuery.prototype, "dataSamplesByDataKeySet", null);
|
188
196
|
tslib_1.__decorate([
|
189
|
-
(0, type_graphql_1.Query)(returns => data_sample_type_js_1.DataSampleList, {
|
197
|
+
(0, type_graphql_1.Query)(returns => data_sample_type_js_1.DataSampleList, {
|
198
|
+
description: 'Retrieves data samples within a specified time period for a given dataset. This query supports various period options (today, this month, 30 days, etc.) and is essential for time-based data analysis, trend monitoring, and historical data review.'
|
199
|
+
}),
|
190
200
|
tslib_1.__param(0, (0, type_graphql_1.Arg)('period')),
|
191
201
|
tslib_1.__param(1, (0, type_graphql_1.Arg)('dataSetName')),
|
192
202
|
tslib_1.__param(2, (0, type_graphql_1.Args)(type => shell_1.ListParam)),
|
@@ -196,21 +206,27 @@ tslib_1.__decorate([
|
|
196
206
|
tslib_1.__metadata("design:returntype", Promise)
|
197
207
|
], DataSampleQuery.prototype, "dataSamplesByPeriod", null);
|
198
208
|
tslib_1.__decorate([
|
199
|
-
(0, type_graphql_1.FieldResolver)(type => [data_item_type_js_1.DataItem]
|
209
|
+
(0, type_graphql_1.FieldResolver)(type => [data_item_type_js_1.DataItem], {
|
210
|
+
description: 'Retrieves the data items (field definitions) associated with this data sample. These items define the structure and validation rules for the sample data, including field names, types, and constraints.'
|
211
|
+
}),
|
200
212
|
tslib_1.__param(0, (0, type_graphql_1.Root)()),
|
201
213
|
tslib_1.__metadata("design:type", Function),
|
202
214
|
tslib_1.__metadata("design:paramtypes", [data_sample_js_1.DataSample]),
|
203
215
|
tslib_1.__metadata("design:returntype", Promise)
|
204
216
|
], DataSampleQuery.prototype, "dataItems", null);
|
205
217
|
tslib_1.__decorate([
|
206
|
-
(0, type_graphql_1.FieldResolver)(type => data_set_js_1.DataSet
|
218
|
+
(0, type_graphql_1.FieldResolver)(type => data_set_js_1.DataSet, {
|
219
|
+
description: 'Retrieves the dataset that this data sample belongs to. This field resolver provides access to the dataset configuration, metadata, and settings associated with the sample.'
|
220
|
+
}),
|
207
221
|
tslib_1.__param(0, (0, type_graphql_1.Root)()),
|
208
222
|
tslib_1.__metadata("design:type", Function),
|
209
223
|
tslib_1.__metadata("design:paramtypes", [data_sample_js_1.DataSample]),
|
210
224
|
tslib_1.__metadata("design:returntype", Promise)
|
211
225
|
], DataSampleQuery.prototype, "dataSet", null);
|
212
226
|
tslib_1.__decorate([
|
213
|
-
(0, type_graphql_1.FieldResolver)(type => data_ooc_js_1.DataOoc
|
227
|
+
(0, type_graphql_1.FieldResolver)(type => data_ooc_js_1.DataOoc, {
|
228
|
+
description: 'Retrieves the out-of-control (OOC) record associated with this data sample, if it exists. This field resolver is used when the sample has been flagged as out of control or out of specification, providing access to the corrective action workflow.'
|
229
|
+
}),
|
214
230
|
tslib_1.__param(0, (0, type_graphql_1.Root)()),
|
215
231
|
tslib_1.__metadata("design:type", Function),
|
216
232
|
tslib_1.__metadata("design:paramtypes", [data_sample_js_1.DataSample]),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"data-sample-query.js","sourceRoot":"","sources":["../../../server/service/data-sample/data-sample-query.ts"],"names":[],"mappings":";;;;AAAA,qCAA4B;AAC5B,+CAA8F;AAE9F,yDAAgD;AAChD,iDAM8B;AAC9B,uDAA2D;AAE3D,qEAA4D;AAC5D,iFAAwE;AACxE,qEAAwD;AACxD,yDAAiD;AACjD,yDAAiD;AACjD,qDAA6C;AAC7C,+DAAsD;AAG/C,IAAM,eAAe,GAArB,MAAM,eAAe;IAGpB,AAAN,KAAK,CAAC,UAAU,CAAY,EAAU,EAAS,OAAwB;QACrE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEhC,OAAO,MAAM,IAAA,qBAAa,EAAC,2BAAU,CAAC,CAAC,OAAO,CAAC;YAC7C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;SACzC,CAAC,CAAA;IACJ,CAAC;IAIK,AAAN,KAAK,CAAC,WAAW,CACU,MAAiB,EACnC,OAAwB;QAE/B,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEhC,MAAM,YAAY,GAAG,IAAA,qCAA6B,EAAC;YACjD,UAAU,EAAE,IAAA,qBAAa,EAAC,2BAAU,CAAC;YACrC,MAAM;YACN,MAAM;YACN,WAAW,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC;SACrC,CAAC,CAAA;QAEF,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,YAAY,CAAC,eAAe,EAAE,CAAA;QAE3D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IACzB,CAAC;IAIK,AAAN,KAAK,CAAC,oBAAoB,CACN,SAAiB,EACV,MAAiB,EACnC,OAAwB;QAE/B,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEhC,MAAM,OAAO,GAAG,MAAM,IAAA,qBAAa,EAAC,qBAAO,CAAC,CAAC,OAAO,CAAC;YACnD,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,IAAA,YAAE,EAAC,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE;YAC1F,SAAS,EAAE,CAAC,YAAY,CAAC;SAC1B,CAAC,CAAA;QAEF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,4CAA4C,SAAS,GAAG,CAAC,CAAA;QAC3E,CAAC;QAED,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,EAAE,YAAY,IAAI,EAAE,CAAA;QAC3D,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,GAAG,CAAC,EAAE,CAAC,CAAA;QAEzE,MAAM,YAAY,GAAG,IAAA,qCAA6B,EAAC;YACjD,UAAU,EAAE,IAAA,qBAAa,EAAC,2BAAU,CAAC;YACrC,MAAM;YACN,MAAM;YACN,KAAK,EAAE,QAAQ;YACf,WAAW,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;SACzD,CAAC,CAAC,SAAS,CAAC,gBAAgB,EAAE,IAAI,EAAE,oBAAoB,EAAE;YACzD,SAAS;SACV,CAAC,CAAA;QAEF,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,YAAY,CAAC,eAAe,EAAE,CAAA;QAE3D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IACzB,CAAC;IAIK,AAAN,KAAK,CAAC,uBAAuB,CACN,YAAoB,EAChB,MAAiB,EACnC,OAAwB;QAE/B,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEhC,MAAM,UAAU,GAAG,MAAM,IAAA,qBAAa,EAAC,4BAAU,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,CAAA;QAClF,MAAM,YAAY,GAAG,UAAU,EAAE,YAAY,IAAI,EAAE,CAAA;QACnD,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,GAAG,CAAC,EAAE,CAAC,CAAA;QAEzE,MAAM,YAAY,GAAG,IAAA,qCAA6B,EAAC;YACjD,UAAU,EAAE,IAAA,qBAAa,EAAC,2BAAU,CAAC;YACrC,MAAM;YACN,MAAM;YACN,KAAK,EAAE,QAAQ;YACf,WAAW,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;SACzD,CAAC,CAAC,SAAS,CAAC,gBAAgB,EAAE,IAAI,EAAE,+BAA+B,EAAE;YACpE,YAAY;SACb,CAAC,CAAA;QAEF,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,YAAY,CAAC,eAAe,EAAE,CAAA;QAE3D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IACzB,CAAC;IAGK,AAAN,KAAK,CAAC,mBAAmB,CACR,MAA+F,EAC1F,WAAmB,EACd,MAAiB,EACnC,OAAwB;QAE/B,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEhC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAC3C,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACd,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM;gBAAE,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,CAAA;YACnD,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO;gBAAE,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;YACrD,OAAO,GAAG,CAAA;QACZ,CAAC,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAC5B,CAAA;QAED,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,MAAM,IAAA,8BAAsB,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC,CAAA;QAEnF,MAAM,OAAO,GAAG,MAAM,IAAA,qBAAa,EAAC,qBAAO,CAAC,CAAC,OAAO,CAAC;YACnD,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,IAAA,YAAE,EAAC,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;YAC9F,SAAS,EAAE,CAAC,YAAY,CAAC;SAC1B,CAAC,CAAA;QAEF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,8CAA8C,WAAW,GAAG,CAAC,CAAA;QAC/E,CAAC;QAED,MAAM,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,MAAM,IAAI,EAAE,CAAA;QACrC,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;YACpC;gBACE,IAAI,EAAE,aAAa;gBACnB,QAAQ,EAAE,SAAS;gBACnB,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;aAClB;SACF,CAAC,CAAA;QAEF,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,EAAE,YAAY,IAAI,EAAE,CAAA;QAC3D,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,GAAG,CAAC,EAAE,CAAC,CAAA;QAEzE,MAAM,YAAY,GAAG,IAAA,qCAA6B,EAAC;YACjD,UAAU,EAAE,IAAA,qBAAa,EAAC,2BAAU,CAAC;YACrC,MAAM,EAAE;gBACN,GAAG,MAAM;gBACT,OAAO,EAAE,cAAc;aACxB;YACD,MAAM;YACN,KAAK,EAAE,QAAQ;YACf,WAAW,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;SACzD,CAAC,CAAC,SAAS,CAAC,gBAAgB,EAAE,IAAI,EAAE,oBAAoB,EAAE;YACzD,SAAS,EAAE,OAAO,CAAC,EAAE;SACtB,CAAC,CAAA;QAEF,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,YAAY,CAAC,eAAe,EAAE,CAAA;QAE3D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IACzB,CAAC;IAGK,AAAN,KAAK,CAAC,SAAS,CAAS,UAAsB;QAC5C,MAAM,cAAc,GAClB,UAAU,CAAC,SAAS;YACpB,CAAC,MAAM,IAAA,qBAAa,EAAC,oCAAc,CAAC,CAAC,OAAO,CAAC;gBAC3C,KAAK,EAAE;oBACL,UAAU,EAAE,UAAU,CAAC,SAAS;oBAChC,OAAO,EAAE,UAAU,CAAC,cAAc;iBACnC;aACF,CAAC,CAAC,CAAA;QAEL,OAAO,cAAc,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;IACpE,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO,CAAS,UAAsB;QAC1C,OAAO,UAAU,CAAC,SAAS,IAAI,CAAC,MAAM,IAAA,qBAAa,EAAC,qBAAO,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;IACvG,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO,CAAS,UAAsB;QAC1C,IAAI,UAAU,CAAC,GAAG,IAAI,UAAU,CAAC,GAAG,EAAE,CAAC;YACrC,OAAO,MAAM,IAAA,qBAAa,EAAC,qBAAO,CAAC,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;QACtF,CAAC;IACH,CAAC;IAGK,AAAN,KAAK,CAAC,sBAAsB,CAAS,UAAsB;QACzD,OAAO,CACL,UAAU,CAAC,wBAAwB;YACnC,CAAC,MAAM,IAAA,qBAAa,EAAC,2BAAgB,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,UAAU,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAC/F,CAAA;IACH,CAAC;IAGK,AAAN,KAAK,CAAC,MAAM,CAAS,UAAsB;QACzC,OAAO,UAAU,CAAC,QAAQ,IAAI,CAAC,MAAM,IAAA,qBAAa,EAAC,cAAM,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IACpG,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO,CAAS,UAAsB;QAC1C,OAAO,UAAU,CAAC,SAAS,IAAI,CAAC,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;IACpG,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO,CAAS,UAAsB;QAC1C,OAAO,UAAU,CAAC,SAAS,IAAI,CAAC,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;IACpG,CAAC;CACF,CAAA;AA1MY,0CAAe;AAGpB;IAFL,IAAA,wBAAS,EAAC,mFAAmF,CAAC;IAC9F,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,2BAAU,EAAE,EAAE,WAAW,EAAE,wBAAwB,EAAE,CAAC;IACtD,mBAAA,IAAA,kBAAG,EAAC,IAAI,CAAC,CAAA;IAAc,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;iDAM7C;AAIK;IAFL,IAAA,wBAAS,EAAC,mFAAmF,CAAC;IAC9F,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,oCAAc,EAAE,EAAE,WAAW,EAAE,gCAAgC,EAAE,CAAC;IAEjF,mBAAA,IAAA,mBAAI,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAS,CAAC,CAAA;IACvB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;6CAD2B,iBAAS;;kDAe3C;AAIK;IAFL,IAAA,wBAAS,EAAC,mFAAmF,CAAC;IAC9F,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,oCAAc,EAAE,EAAE,WAAW,EAAE,4CAA4C,EAAE,CAAC;IAE7F,mBAAA,IAAA,kBAAG,EAAC,WAAW,CAAC,CAAA;IAChB,mBAAA,IAAA,mBAAI,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAS,CAAC,CAAA;IACvB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;qDAD2B,iBAAS;;2DA8B3C;AAIK;IAFL,IAAA,wBAAS,EAAC,mFAAmF,CAAC;IAC9F,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,oCAAc,EAAE,EAAE,WAAW,EAAE,gDAAgD,EAAE,CAAC;IAEjG,mBAAA,IAAA,kBAAG,EAAC,cAAc,CAAC,CAAA;IACnB,mBAAA,IAAA,mBAAI,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAS,CAAC,CAAA;IACvB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;qDAD2B,iBAAS;;8DAsB3C;AAGK;IADL,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,oCAAc,EAAE,EAAE,WAAW,EAAE,yCAAyC,EAAE,CAAC;IAE1F,mBAAA,IAAA,kBAAG,EAAC,QAAQ,CAAC,CAAA;IACb,mBAAA,IAAA,kBAAG,EAAC,aAAa,CAAC,CAAA;IAClB,mBAAA,IAAA,mBAAI,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAS,CAAC,CAAA;IACvB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;6DAD2B,iBAAS;;0DAqD3C;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,4BAAQ,CAAC,CAAC;IACjB,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAa,2BAAU;;gDAW7C;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,qBAAO,CAAC;IAChB,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAa,2BAAU;;8CAE3C;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,qBAAO,CAAC;IAChB,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAa,2BAAU;;8CAI3C;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,2BAAgB,CAAC;IACV,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAa,2BAAU;;6DAK1D;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,cAAM,CAAC;IAChB,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAa,2BAAU;;6CAE1C;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,CAAC;IACb,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAa,2BAAU;;8CAE3C;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,CAAC;IACb,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAa,2BAAU;;8CAE3C;0BAzMU,eAAe;IAD3B,IAAA,uBAAQ,EAAC,2BAAU,CAAC;GACR,eAAe,CA0M3B","sourcesContent":["import { In } from 'typeorm'\nimport { Arg, Args, Ctx, Directive, FieldResolver, Query, Resolver, Root } from 'type-graphql'\n\nimport { User } from '@things-factory/auth-base'\nimport {\n Domain,\n getQueryBuilderFromListParams,\n getRepository,\n getISOStringsForPeriod,\n ListParam\n} from '@things-factory/shell'\nimport { ActivityInstance } from '@things-factory/worklist'\n\nimport { DataKeySet } from '../data-key-set/data-key-set.js'\nimport { DataSetHistory } from '../data-set-history/data-set-history.js'\nimport { DataItem } from '../data-set/data-item-type.js'\nimport { DataSet } from '../data-set/data-set.js'\nimport { DataOoc } from '../data-ooc/data-ooc.js'\nimport { DataSample } from './data-sample.js'\nimport { DataSampleList } from './data-sample-type.js'\n\n@Resolver(DataSample)\nexport class DataSampleQuery {\n @Directive('@privilege(category: \"data-sample\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => DataSample, { description: 'To fetch a data sample' })\n async dataSample(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<DataSample> {\n const { domain } = context.state\n\n return await getRepository(DataSample).findOne({\n where: { domain: { id: domain.id }, id }\n })\n }\n\n @Directive('@privilege(category: \"data-sample\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => DataSampleList, { description: 'To fetch multiple data samples' })\n async dataSamples(\n @Args(type => ListParam) params: ListParam,\n @Ctx() context: ResolverContext\n ): Promise<DataSampleList> {\n const { domain } = context.state\n\n const queryBuilder = getQueryBuilderFromListParams({\n repository: getRepository(DataSample),\n params,\n domain,\n searchables: ['name', 'description']\n })\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @Directive('@privilege(category: \"data-sample\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => DataSampleList, { description: 'To fetch multiple data samples by data set' })\n async dataSamplesByDataSet(\n @Arg('dataSetId') dataSetId: string,\n @Args(type => ListParam) params: ListParam,\n @Ctx() context: ResolverContext\n ): Promise<DataSampleList> {\n const { domain } = context.state\n\n const dataSet = await getRepository(DataSet).findOne({\n where: { domain: { id: In([domain.id, domain.parentId].filter(Boolean)) }, id: dataSetId },\n relations: ['dataKeySet']\n })\n\n if (!dataSet) {\n throw new Error(`dataSet not found by the given dataSetId(${dataSetId})`)\n }\n\n const dataKeyItems = dataSet.dataKeySet?.dataKeyItems || []\n const searchables = dataKeyItems.map((item, index) => `key0${index + 1}`)\n\n const queryBuilder = getQueryBuilderFromListParams({\n repository: getRepository(DataSample),\n params,\n domain,\n alias: 'sample',\n searchables: ['name', 'description'].concat(searchables)\n }).innerJoin('sample.dataSet', 'ds', 'ds.id = :dataSetId', {\n dataSetId\n })\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @Directive('@privilege(category: \"data-sample\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => DataSampleList, { description: 'To fetch multiple data samples by data key set' })\n async dataSamplesByDataKeySet(\n @Arg('dataKeySetId') dataKeySetId: string,\n @Args(type => ListParam) params: ListParam,\n @Ctx() context: ResolverContext\n ): Promise<DataSampleList> {\n const { domain } = context.state\n\n const dataKeySet = await getRepository(DataKeySet).findOneBy({ id: dataKeySetId })\n const dataKeyItems = dataKeySet?.dataKeyItems || []\n const searchables = dataKeyItems.map((item, index) => `key0${index + 1}`)\n\n const queryBuilder = getQueryBuilderFromListParams({\n repository: getRepository(DataSample),\n params,\n domain,\n alias: 'sample',\n searchables: ['name', 'description'].concat(searchables)\n }).innerJoin('sample.dataSet', 'ds', 'ds.dataKeySet = :dataKeySetId', {\n dataKeySetId\n })\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @Query(returns => DataSampleList, { description: 'To fetch multiple DataSamples by period' })\n async dataSamplesByPeriod(\n @Arg('period') period: 'today' | 'this month' | '30 days' | 'this year' | '12 months' | 'date range' | 'month',\n @Arg('dataSetName') dataSetName: string,\n @Args(type => ListParam) params: ListParam,\n @Ctx() context: ResolverContext\n ): Promise<DataSampleList> {\n const { domain } = context.state\n\n const { date, month } = params.filters.reduce(\n (acc, filter) => {\n if (filter.name === 'date') acc.date = filter.value\n if (filter.name === 'month') acc.month = filter.value\n return acc\n },\n { date: null, month: null }\n )\n\n const { from, to } = await getISOStringsForPeriod(period, { date, month }, context)\n\n const dataSet = await getRepository(DataSet).findOne({\n where: { domain: { id: In([domain.id, domain.parentId].filter(Boolean)) }, name: dataSetName },\n relations: ['dataKeySet']\n })\n\n if (!dataSet) {\n throw new Error(`dataSet not found by the given dataSetName(${dataSetName})`)\n }\n\n const { filters = [] } = params || {}\n const alteredFilters = filters.concat([\n {\n name: 'collectedAt',\n operator: 'between',\n value: [from, to]\n }\n ])\n\n const dataKeyItems = dataSet.dataKeySet?.dataKeyItems || []\n const searchables = dataKeyItems.map((item, index) => `key0${index + 1}`)\n\n const queryBuilder = getQueryBuilderFromListParams({\n repository: getRepository(DataSample),\n params: {\n ...params,\n filters: alteredFilters\n },\n domain,\n alias: 'sample',\n searchables: ['name', 'description'].concat(searchables)\n }).innerJoin('sample.dataSet', 'ds', 'ds.id = :dataSetId', {\n dataSetId: dataSet.id\n })\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @FieldResolver(type => [DataItem])\n async dataItems(@Root() dataSample: DataSample): Promise<DataItem[]> {\n const dataSetHistory: DataSetHistory =\n dataSample.dataSetId &&\n (await getRepository(DataSetHistory).findOne({\n where: {\n originalId: dataSample.dataSetId,\n version: dataSample.dataSetVersion\n }\n }))\n\n return dataSetHistory?.dataItems.filter(item => item.active) || []\n }\n\n @FieldResolver(type => DataSet)\n async dataSet(@Root() dataSample: DataSample): Promise<DataSet> {\n return dataSample.dataSetId && (await getRepository(DataSet).findOneBy({ id: dataSample.dataSetId }))\n }\n\n @FieldResolver(type => DataOoc)\n async dataOoc(@Root() dataSample: DataSample): Promise<DataOoc> {\n if (dataSample.ooc || dataSample.oos) {\n return await getRepository(DataOoc).findOneBy({ dataSample: { id: dataSample.id } })\n }\n }\n\n @FieldResolver(type => ActivityInstance)\n async reviewActivityInstance(@Root() dataSample: DataSample): Promise<ActivityInstance> {\n return (\n dataSample.reviewActivityInstanceId &&\n (await getRepository(ActivityInstance).findOneBy({ id: dataSample.reviewActivityInstanceId }))\n )\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() dataSample: DataSample): Promise<Domain> {\n return dataSample.domainId && (await getRepository(Domain).findOneBy({ id: dataSample.domainId }))\n }\n\n @FieldResolver(type => User)\n async updater(@Root() dataSample: DataSample): Promise<User> {\n return dataSample.updaterId && (await getRepository(User).findOneBy({ id: dataSample.updaterId }))\n }\n\n @FieldResolver(type => User)\n async creator(@Root() dataSample: DataSample): Promise<User> {\n return dataSample.creatorId && (await getRepository(User).findOneBy({ id: dataSample.creatorId }))\n }\n}\n"]}
|
1
|
+
{"version":3,"file":"data-sample-query.js","sourceRoot":"","sources":["../../../server/service/data-sample/data-sample-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { In } from 'typeorm'\nimport { Arg, Args, Ctx, Directive, FieldResolver, Query, Resolver, Root } from 'type-graphql'\n\nimport { User } from '@things-factory/auth-base'\nimport {\n Domain,\n getQueryBuilderFromListParams,\n getRepository,\n getISOStringsForPeriod,\n ListParam\n} from '@things-factory/shell'\nimport { ActivityInstance } from '@things-factory/worklist'\n\nimport { DataKeySet } from '../data-key-set/data-key-set.js'\nimport { DataSetHistory } from '../data-set-history/data-set-history.js'\nimport { DataItem } from '../data-set/data-item-type.js'\nimport { DataSet } from '../data-set/data-set.js'\nimport { DataOoc } from '../data-ooc/data-ooc.js'\nimport { DataSample } from './data-sample.js'\nimport { DataSampleList } from './data-sample-type.js'\n\n@Resolver(DataSample)\nexport class DataSampleQuery {\n @Directive('@privilege(category: \"data-sample\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => DataSample, {\n description:\n 'Retrieves a single data sample by its unique identifier. This query fetches detailed information about a specific data sample including its values, metadata, collection timestamp, and associated dataset information.'\n })\n async dataSample(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<DataSample> {\n const { domain } = context.state\n\n return await getRepository(DataSample).findOne({\n where: { domain: { id: domain.id }, id }\n })\n }\n\n @Directive('@privilege(category: \"data-sample\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => DataSampleList, {\n description:\n 'Retrieves multiple data samples with pagination and filtering support. This query allows searching samples by name and description, and is used for listing and browsing collected data samples across all datasets.'\n })\n async dataSamples(\n @Args(type => ListParam) params: ListParam,\n @Ctx() context: ResolverContext\n ): Promise<DataSampleList> {\n const { domain } = context.state\n\n const queryBuilder = getQueryBuilderFromListParams({\n repository: getRepository(DataSample),\n params,\n domain,\n searchables: ['name', 'description']\n })\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @Directive('@privilege(category: \"data-sample\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => DataSampleList, {\n description:\n \"Retrieves data samples that belong to a specific dataset. This query filters samples by dataset ID and includes searchable fields based on the dataset's key configuration, allowing for targeted data analysis within a particular dataset context.\"\n })\n async dataSamplesByDataSet(\n @Arg('dataSetId') dataSetId: string,\n @Args(type => ListParam) params: ListParam,\n @Ctx() context: ResolverContext\n ): Promise<DataSampleList> {\n const { domain } = context.state\n\n const dataSet = await getRepository(DataSet).findOne({\n where: { domain: { id: In([domain.id, domain.parentId].filter(Boolean)) }, id: dataSetId },\n relations: ['dataKeySet']\n })\n\n if (!dataSet) {\n throw new Error(`dataSet not found by the given dataSetId(${dataSetId})`)\n }\n\n const dataKeyItems = dataSet.dataKeySet?.dataKeyItems || []\n const searchables = dataKeyItems.map((item, index) => `key0${index + 1}`)\n\n const queryBuilder = getQueryBuilderFromListParams({\n repository: getRepository(DataSample),\n params,\n domain,\n alias: 'sample',\n searchables: ['name', 'description'].concat(searchables)\n }).innerJoin('sample.dataSet', 'ds', 'ds.id = :dataSetId', {\n dataSetId\n })\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @Directive('@privilege(category: \"data-sample\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => DataSampleList, {\n description:\n 'Retrieves data samples that belong to datasets using a specific data key set. This query filters samples by key set ID and enables cross-dataset analysis based on shared key configurations, useful for comparing data across related datasets.'\n })\n async dataSamplesByDataKeySet(\n @Arg('dataKeySetId') dataKeySetId: string,\n @Args(type => ListParam) params: ListParam,\n @Ctx() context: ResolverContext\n ): Promise<DataSampleList> {\n const { domain } = context.state\n\n const dataKeySet = await getRepository(DataKeySet).findOneBy({ id: dataKeySetId })\n const dataKeyItems = dataKeySet?.dataKeyItems || []\n const searchables = dataKeyItems.map((item, index) => `key0${index + 1}`)\n\n const queryBuilder = getQueryBuilderFromListParams({\n repository: getRepository(DataSample),\n params,\n domain,\n alias: 'sample',\n searchables: ['name', 'description'].concat(searchables)\n }).innerJoin('sample.dataSet', 'ds', 'ds.dataKeySet = :dataKeySetId', {\n dataKeySetId\n })\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @Query(returns => DataSampleList, {\n description:\n 'Retrieves data samples within a specified time period for a given dataset. This query supports various period options (today, this month, 30 days, etc.) and is essential for time-based data analysis, trend monitoring, and historical data review.'\n })\n async dataSamplesByPeriod(\n @Arg('period') period: 'today' | 'this month' | '30 days' | 'this year' | '12 months' | 'date range' | 'month',\n @Arg('dataSetName') dataSetName: string,\n @Args(type => ListParam) params: ListParam,\n @Ctx() context: ResolverContext\n ): Promise<DataSampleList> {\n const { domain } = context.state\n\n const { date, month } = params.filters.reduce(\n (acc, filter) => {\n if (filter.name === 'date') acc.date = filter.value\n if (filter.name === 'month') acc.month = filter.value\n return acc\n },\n { date: null, month: null }\n )\n\n const { from, to } = await getISOStringsForPeriod(period, { date, month }, context)\n\n const dataSet = await getRepository(DataSet).findOne({\n where: { domain: { id: In([domain.id, domain.parentId].filter(Boolean)) }, name: dataSetName },\n relations: ['dataKeySet']\n })\n\n if (!dataSet) {\n throw new Error(`dataSet not found by the given dataSetName(${dataSetName})`)\n }\n\n const { filters = [] } = params || {}\n const alteredFilters = filters.concat([\n {\n name: 'collectedAt',\n operator: 'between',\n value: [from, to]\n }\n ])\n\n const dataKeyItems = dataSet.dataKeySet?.dataKeyItems || []\n const searchables = dataKeyItems.map((item, index) => `key0${index + 1}`)\n\n const queryBuilder = getQueryBuilderFromListParams({\n repository: getRepository(DataSample),\n params: {\n ...params,\n filters: alteredFilters\n },\n domain,\n alias: 'sample',\n searchables: ['name', 'description'].concat(searchables)\n }).innerJoin('sample.dataSet', 'ds', 'ds.id = :dataSetId', {\n dataSetId: dataSet.id\n })\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @FieldResolver(type => [DataItem], {\n description:\n 'Retrieves the data items (field definitions) associated with this data sample. These items define the structure and validation rules for the sample data, including field names, types, and constraints.'\n })\n async dataItems(@Root() dataSample: DataSample): Promise<DataItem[]> {\n const dataSetHistory: DataSetHistory =\n dataSample.dataSetId &&\n (await getRepository(DataSetHistory).findOne({\n where: {\n originalId: dataSample.dataSetId,\n version: dataSample.dataSetVersion\n }\n }))\n\n return dataSetHistory?.dataItems.filter(item => item.active) || []\n }\n\n @FieldResolver(type => DataSet, {\n description:\n 'Retrieves the dataset that this data sample belongs to. This field resolver provides access to the dataset configuration, metadata, and settings associated with the sample.'\n })\n async dataSet(@Root() dataSample: DataSample): Promise<DataSet> {\n return dataSample.dataSetId && (await getRepository(DataSet).findOneBy({ id: dataSample.dataSetId }))\n }\n\n @FieldResolver(type => DataOoc, {\n description:\n 'Retrieves the out-of-control (OOC) record associated with this data sample, if it exists. This field resolver is used when the sample has been flagged as out of control or out of specification, providing access to the corrective action workflow.'\n })\n async dataOoc(@Root() dataSample: DataSample): Promise<DataOoc> {\n if (dataSample.ooc || dataSample.oos) {\n return await getRepository(DataOoc).findOneBy({ dataSample: { id: dataSample.id } })\n }\n }\n\n @FieldResolver(type => ActivityInstance)\n async reviewActivityInstance(@Root() dataSample: DataSample): Promise<ActivityInstance> {\n return (\n dataSample.reviewActivityInstanceId &&\n (await getRepository(ActivityInstance).findOneBy({ id: dataSample.reviewActivityInstanceId }))\n )\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() dataSample: DataSample): Promise<Domain> {\n return dataSample.domainId && (await getRepository(Domain).findOneBy({ id: dataSample.domainId }))\n }\n\n @FieldResolver(type => User)\n async updater(@Root() dataSample: DataSample): Promise<User> {\n return dataSample.updaterId && (await getRepository(User).findOneBy({ id: dataSample.updaterId }))\n }\n\n @FieldResolver(type => User)\n async creator(@Root() dataSample: DataSample): Promise<User> {\n return dataSample.creatorId && (await getRepository(User).findOneBy({ id: dataSample.creatorId }))\n }\n}\n"]}
|
@@ -9,43 +9,43 @@ let NewDataSample = class NewDataSample {
|
|
9
9
|
};
|
10
10
|
exports.NewDataSample = NewDataSample;
|
11
11
|
tslib_1.__decorate([
|
12
|
-
(0, type_graphql_1.Field)({ nullable: true }),
|
12
|
+
(0, type_graphql_1.Field)({ nullable: true, description: 'Optional name for the data sample.' }),
|
13
13
|
tslib_1.__metadata("design:type", String)
|
14
14
|
], NewDataSample.prototype, "name", void 0);
|
15
15
|
tslib_1.__decorate([
|
16
|
-
(0, type_graphql_1.Field)({ nullable: true }),
|
16
|
+
(0, type_graphql_1.Field)({ nullable: true, description: 'Optional description of the data sample.' }),
|
17
17
|
tslib_1.__metadata("design:type", String)
|
18
18
|
], NewDataSample.prototype, "description", void 0);
|
19
19
|
tslib_1.__decorate([
|
20
|
-
(0, type_graphql_1.Field)(type => shell_1.ObjectRef, { nullable: true }),
|
20
|
+
(0, type_graphql_1.Field)(type => shell_1.ObjectRef, { nullable: true, description: 'Reference to the dataset this sample belongs to.' }),
|
21
21
|
tslib_1.__metadata("design:type", shell_1.ObjectRef)
|
22
22
|
], NewDataSample.prototype, "dataSet", void 0);
|
23
23
|
tslib_1.__decorate([
|
24
|
-
(0, type_graphql_1.Field)({ nullable: true }),
|
24
|
+
(0, type_graphql_1.Field)({ nullable: true, description: 'Version of the dataset when this sample was collected.' }),
|
25
25
|
tslib_1.__metadata("design:type", Number)
|
26
26
|
], NewDataSample.prototype, "dataSetVersion", void 0);
|
27
27
|
tslib_1.__decorate([
|
28
|
-
(0, type_graphql_1.Field)(type => shell_1.ScalarObject, { nullable: true }),
|
28
|
+
(0, type_graphql_1.Field)(type => shell_1.ScalarObject, { nullable: true, description: 'The actual collected data values for this sample.' }),
|
29
29
|
tslib_1.__metadata("design:type", Object)
|
30
30
|
], NewDataSample.prototype, "data", void 0);
|
31
31
|
tslib_1.__decorate([
|
32
|
-
(0, type_graphql_1.Field)({ nullable: true }),
|
32
|
+
(0, type_graphql_1.Field)({ nullable: true, description: 'Raw data string before processing or transformation.' }),
|
33
33
|
tslib_1.__metadata("design:type", String)
|
34
34
|
], NewDataSample.prototype, "rawData", void 0);
|
35
35
|
tslib_1.__decorate([
|
36
|
-
(0, type_graphql_1.Field)({ nullable: true }),
|
36
|
+
(0, type_graphql_1.Field)({ nullable: true, description: 'Source of the data sample (e.g., sensor ID, manual entry, external system).' }),
|
37
37
|
tslib_1.__metadata("design:type", String)
|
38
38
|
], NewDataSample.prototype, "source", void 0);
|
39
39
|
tslib_1.__decorate([
|
40
|
-
(0, type_graphql_1.Field)({ nullable: true }),
|
40
|
+
(0, type_graphql_1.Field)({ nullable: true, description: 'Work date when the data sample was collected.' }),
|
41
41
|
tslib_1.__metadata("design:type", String)
|
42
42
|
], NewDataSample.prototype, "workDate", void 0);
|
43
43
|
tslib_1.__decorate([
|
44
|
-
(0, type_graphql_1.Field)({ nullable: true }),
|
44
|
+
(0, type_graphql_1.Field)({ nullable: true, description: 'Work shift when the data sample was collected.' }),
|
45
45
|
tslib_1.__metadata("design:type", String)
|
46
46
|
], NewDataSample.prototype, "workShift", void 0);
|
47
47
|
tslib_1.__decorate([
|
48
|
-
(0, type_graphql_1.Field)({ nullable: true }),
|
48
|
+
(0, type_graphql_1.Field)({ nullable: true, description: 'Timestamp when the data sample was collected.' }),
|
49
49
|
tslib_1.__metadata("design:type", Date)
|
50
50
|
], NewDataSample.prototype, "collectedAt", void 0);
|
51
51
|
exports.NewDataSample = NewDataSample = tslib_1.__decorate([
|
@@ -55,14 +55,14 @@ let DataSampleList = class DataSampleList {
|
|
55
55
|
};
|
56
56
|
exports.DataSampleList = DataSampleList;
|
57
57
|
tslib_1.__decorate([
|
58
|
-
(0, type_graphql_1.Field)(type => [data_sample_js_1.DataSample]),
|
58
|
+
(0, type_graphql_1.Field)(type => [data_sample_js_1.DataSample], { description: 'List of data samples.' }),
|
59
59
|
tslib_1.__metadata("design:type", Array)
|
60
60
|
], DataSampleList.prototype, "items", void 0);
|
61
61
|
tslib_1.__decorate([
|
62
|
-
(0, type_graphql_1.Field)(type => type_graphql_1.Int),
|
62
|
+
(0, type_graphql_1.Field)(type => type_graphql_1.Int, { description: 'Total number of data samples in the list.' }),
|
63
63
|
tslib_1.__metadata("design:type", Number)
|
64
64
|
], DataSampleList.prototype, "total", void 0);
|
65
65
|
exports.DataSampleList = DataSampleList = tslib_1.__decorate([
|
66
|
-
(0, type_graphql_1.ObjectType)()
|
66
|
+
(0, type_graphql_1.ObjectType)({ description: 'Represents a paginated list of data samples.' })
|
67
67
|
], DataSampleList);
|
68
68
|
//# sourceMappingURL=data-sample-type.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"data-sample-type.js","sourceRoot":"","sources":["../../../server/service/data-sample/data-sample-type.ts"],"names":[],"mappings":";;;;AAAA,+CAAgE;AAEhE,iDAA+D;AAE/D,qDAA6C;AAGtC,IAAM,aAAa,GAAnB,MAAM,aAAa;CA8BzB,CAAA;AA9BY,sCAAa;AAExB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;
|
1
|
+
{"version":3,"file":"data-sample-type.js","sourceRoot":"","sources":["../../../server/service/data-sample/data-sample-type.ts"],"names":[],"mappings":";;;;AAAA,+CAAgE;AAEhE,iDAA+D;AAE/D,qDAA6C;AAGtC,IAAM,aAAa,GAAnB,MAAM,aAAa;CA8BzB,CAAA;AA9BY,sCAAa;AAExB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,oCAAoC,EAAE,CAAC;;2CAChE;AAGb;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,0CAA0C,EAAE,CAAC;;kDAC/D;AAGpB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,kDAAkD,EAAE,CAAC;sCACpG,iBAAS;8CAAA;AAGnB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,wDAAwD,EAAE,CAAC;;qDAC1E;AAGvB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,oBAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,mDAAmD,EAAE,CAAC;;2CACxG;AAGV;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,sDAAsD,EAAE,CAAC;;8CAC/E;AAGhB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,6EAA6E,EAAE,CAAC;;6CACvG;AAGf;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,+CAA+C,EAAE,CAAC;;+CACvE;AAGjB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,gDAAgD,EAAE,CAAC;;gDACvE;AAGlB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,+CAA+C,EAAE,CAAC;sCAC1E,IAAI;kDAAA;wBA7BP,aAAa;IADzB,IAAA,wBAAS,GAAE;GACC,aAAa,CA8BzB;AAGM,IAAM,cAAc,GAApB,MAAM,cAAc;CAM1B,CAAA;AANY,wCAAc;AAEzB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,2BAAU,CAAC,EAAE,EAAE,WAAW,EAAE,uBAAuB,EAAE,CAAC;;6CACnD;AAGnB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,EAAE,EAAE,WAAW,EAAE,2CAA2C,EAAE,CAAC;;6CACpE;yBALF,cAAc;IAD1B,IAAA,yBAAU,EAAC,EAAE,WAAW,EAAE,8CAA8C,EAAE,CAAC;GAC/D,cAAc,CAM1B","sourcesContent":["import { Field, InputType, Int, ObjectType } from 'type-graphql'\n\nimport { ObjectRef, ScalarObject } from '@things-factory/shell'\n\nimport { DataSample } from './data-sample.js'\n\n@InputType()\nexport class NewDataSample {\n @Field({ nullable: true, description: 'Optional name for the data sample.' })\n name?: string\n\n @Field({ nullable: true, description: 'Optional description of the data sample.' })\n description?: string\n\n @Field(type => ObjectRef, { nullable: true, description: 'Reference to the dataset this sample belongs to.' })\n dataSet?: ObjectRef\n\n @Field({ nullable: true, description: 'Version of the dataset when this sample was collected.' })\n dataSetVersion?: number\n\n @Field(type => ScalarObject, { nullable: true, description: 'The actual collected data values for this sample.' })\n data?: any\n\n @Field({ nullable: true, description: 'Raw data string before processing or transformation.' })\n rawData?: string\n\n @Field({ nullable: true, description: 'Source of the data sample (e.g., sensor ID, manual entry, external system).' })\n source?: string\n\n @Field({ nullable: true, description: 'Work date when the data sample was collected.' })\n workDate?: string\n\n @Field({ nullable: true, description: 'Work shift when the data sample was collected.' })\n workShift?: string\n\n @Field({ nullable: true, description: 'Timestamp when the data sample was collected.' })\n collectedAt?: Date\n}\n\n@ObjectType({ description: 'Represents a paginated list of data samples.' })\nexport class DataSampleList {\n @Field(type => [DataSample], { description: 'List of data samples.' })\n items: DataSample[]\n\n @Field(type => Int, { description: 'Total number of data samples in the list.' })\n total: number\n}\n"]}
|