@things-factory/process 6.0.57
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/CHANGELOG.md +8 -0
- package/assets/images/hatiolab-logo.png +0 -0
- package/client/actions/main.ts +1 -0
- package/client/bootstrap.ts +8 -0
- package/client/index.ts +1 -0
- package/client/pages/main.ts +25 -0
- package/client/pages/process/process-importer.ts +97 -0
- package/client/pages/process/process-list-page.ts +348 -0
- package/client/pages/process-instance/process-instance-importer.ts +97 -0
- package/client/pages/process-instance/process-instance-list-page.ts +348 -0
- package/client/pages/process-thread/process-thread-importer.ts +97 -0
- package/client/pages/process-thread/process-thread-list-page.ts +348 -0
- package/client/reducers/main.ts +17 -0
- package/client/route.ts +19 -0
- package/client/tsconfig.json +11 -0
- package/dist-client/actions/main.d.ts +1 -0
- package/dist-client/actions/main.js +2 -0
- package/dist-client/actions/main.js.map +1 -0
- package/dist-client/bootstrap.d.ts +1 -0
- package/dist-client/bootstrap.js +8 -0
- package/dist-client/bootstrap.js.map +1 -0
- package/dist-client/index.d.ts +1 -0
- package/dist-client/index.js +2 -0
- package/dist-client/index.js.map +1 -0
- package/dist-client/pages/main.d.ts +1 -0
- package/dist-client/pages/main.js +27 -0
- package/dist-client/pages/main.js.map +1 -0
- package/dist-client/pages/process/process-importer.d.ts +22 -0
- package/dist-client/pages/process/process-importer.js +100 -0
- package/dist-client/pages/process/process-importer.js.map +1 -0
- package/dist-client/pages/process/process-list-page.d.ts +62 -0
- package/dist-client/pages/process/process-list-page.js +326 -0
- package/dist-client/pages/process/process-list-page.js.map +1 -0
- package/dist-client/pages/process-instance/process-instance-importer.d.ts +22 -0
- package/dist-client/pages/process-instance/process-instance-importer.js +100 -0
- package/dist-client/pages/process-instance/process-instance-importer.js.map +1 -0
- package/dist-client/pages/process-instance/process-instance-list-page.d.ts +62 -0
- package/dist-client/pages/process-instance/process-instance-list-page.js +326 -0
- package/dist-client/pages/process-instance/process-instance-list-page.js.map +1 -0
- package/dist-client/pages/process-thread/process-thread-importer.d.ts +22 -0
- package/dist-client/pages/process-thread/process-thread-importer.js +100 -0
- package/dist-client/pages/process-thread/process-thread-importer.js.map +1 -0
- package/dist-client/pages/process-thread/process-thread-list-page.d.ts +62 -0
- package/dist-client/pages/process-thread/process-thread-list-page.js +326 -0
- package/dist-client/pages/process-thread/process-thread-list-page.js.map +1 -0
- package/dist-client/reducers/main.d.ts +6 -0
- package/dist-client/reducers/main.js +14 -0
- package/dist-client/reducers/main.js.map +1 -0
- package/dist-client/route.d.ts +1 -0
- package/dist-client/route.js +17 -0
- package/dist-client/route.js.map +1 -0
- package/dist-client/tsconfig.tsbuildinfo +1 -0
- package/dist-server/controllers/common.js +70 -0
- package/dist-server/controllers/common.js.map +1 -0
- package/dist-server/controllers/index.js +1 -0
- package/dist-server/controllers/index.js.map +1 -0
- package/dist-server/controllers/process-instance/abort.js +54 -0
- package/dist-server/controllers/process-instance/abort.js.map +1 -0
- package/dist-server/controllers/process-instance/assign.js +41 -0
- package/dist-server/controllers/process-instance/assign.js.map +1 -0
- package/dist-server/controllers/process-instance/draft.js +74 -0
- package/dist-server/controllers/process-instance/draft.js.map +1 -0
- package/dist-server/controllers/process-instance/end.js +54 -0
- package/dist-server/controllers/process-instance/end.js.map +1 -0
- package/dist-server/controllers/process-instance/index.js +6 -0
- package/dist-server/controllers/process-instance/index.js.map +1 -0
- package/dist-server/controllers/process-instance/issue.js +105 -0
- package/dist-server/controllers/process-instance/issue.js.map +1 -0
- package/dist-server/controllers/process-instance/pick.js +33 -0
- package/dist-server/controllers/process-instance/pick.js.map +1 -0
- package/dist-server/controllers/process-thread/_abort.js +11 -0
- package/dist-server/controllers/process-thread/_abort.js.map +1 -0
- package/dist-server/controllers/process-thread/abort.js +36 -0
- package/dist-server/controllers/process-thread/abort.js.map +1 -0
- package/dist-server/controllers/process-thread/delegate.js +36 -0
- package/dist-server/controllers/process-thread/delegate.js.map +1 -0
- package/dist-server/controllers/process-thread/end.js +35 -0
- package/dist-server/controllers/process-thread/end.js.map +1 -0
- package/dist-server/controllers/process-thread/index.js +7 -0
- package/dist-server/controllers/process-thread/index.js.map +1 -0
- package/dist-server/controllers/process-thread/restart.js +36 -0
- package/dist-server/controllers/process-thread/restart.js.map +1 -0
- package/dist-server/controllers/process-thread/save.js +38 -0
- package/dist-server/controllers/process-thread/save.js.map +1 -0
- package/dist-server/controllers/process-thread/start.js +32 -0
- package/dist-server/controllers/process-thread/start.js.map +1 -0
- package/dist-server/controllers/process-thread/submit.js +37 -0
- package/dist-server/controllers/process-thread/submit.js.map +1 -0
- package/dist-server/index.js +7 -0
- package/dist-server/index.js.map +1 -0
- package/dist-server/middlewares/index.js +8 -0
- package/dist-server/middlewares/index.js.map +1 -0
- package/dist-server/migrations/index.js +12 -0
- package/dist-server/migrations/index.js.map +1 -0
- package/dist-server/routes.js +25 -0
- package/dist-server/routes.js.map +1 -0
- package/dist-server/service/index.js +33 -0
- package/dist-server/service/index.js.map +1 -0
- package/dist-server/service/process/event-subscriber.js +21 -0
- package/dist-server/service/process/event-subscriber.js.map +1 -0
- package/dist-server/service/process/index.js +12 -0
- package/dist-server/service/process/index.js.map +1 -0
- package/dist-server/service/process/process-history.js +113 -0
- package/dist-server/service/process/process-history.js.map +1 -0
- package/dist-server/service/process/process-model-type.js +138 -0
- package/dist-server/service/process/process-model-type.js.map +1 -0
- package/dist-server/service/process/process-mutation.js +179 -0
- package/dist-server/service/process/process-mutation.js.map +1 -0
- package/dist-server/service/process/process-query.js +160 -0
- package/dist-server/service/process/process-query.js.map +1 -0
- package/dist-server/service/process/process-search-key-item-type.js +28 -0
- package/dist-server/service/process/process-search-key-item-type.js.map +1 -0
- package/dist-server/service/process/process-type.js +91 -0
- package/dist-server/service/process/process-type.js.map +1 -0
- package/dist-server/service/process/process.js +112 -0
- package/dist-server/service/process/process.js.map +1 -0
- package/dist-server/service/process-instance/event-subscriber.js +43 -0
- package/dist-server/service/process-instance/event-subscriber.js.map +1 -0
- package/dist-server/service/process-instance/index.js +13 -0
- package/dist-server/service/process-instance/index.js.map +1 -0
- package/dist-server/service/process-instance/process-instance-history.js +173 -0
- package/dist-server/service/process-instance/process-instance-history.js.map +1 -0
- package/dist-server/service/process-instance/process-instance-mutation.js +44 -0
- package/dist-server/service/process-instance/process-instance-mutation.js.map +1 -0
- package/dist-server/service/process-instance/process-instance-query.js +176 -0
- package/dist-server/service/process-instance/process-instance-query.js.map +1 -0
- package/dist-server/service/process-instance/process-instance-subscription.js +54 -0
- package/dist-server/service/process-instance/process-instance-subscription.js.map +1 -0
- package/dist-server/service/process-instance/process-instance-type.js +103 -0
- package/dist-server/service/process-instance/process-instance-type.js.map +1 -0
- package/dist-server/service/process-instance/process-instance.js +177 -0
- package/dist-server/service/process-instance/process-instance.js.map +1 -0
- package/dist-server/service/process-stats/index.js +6 -0
- package/dist-server/service/process-stats/index.js.map +1 -0
- package/dist-server/service/process-stats/process-stats-query.js +61 -0
- package/dist-server/service/process-stats/process-stats-query.js.map +1 -0
- package/dist-server/service/process-stats/process-stats-type.js +43 -0
- package/dist-server/service/process-stats/process-stats-type.js.map +1 -0
- package/dist-server/service/process-summary/index.js +8 -0
- package/dist-server/service/process-summary/index.js.map +1 -0
- package/dist-server/service/process-summary/process-summary-query.js +109 -0
- package/dist-server/service/process-summary/process-summary-query.js.map +1 -0
- package/dist-server/service/process-summary/process-summary.js +28 -0
- package/dist-server/service/process-summary/process-summary.js.map +1 -0
- package/dist-server/service/process-thread/event-subscriber.js +31 -0
- package/dist-server/service/process-thread/event-subscriber.js.map +1 -0
- package/dist-server/service/process-thread/index.js +12 -0
- package/dist-server/service/process-thread/index.js.map +1 -0
- package/dist-server/service/process-thread/process-thread-history.js +194 -0
- package/dist-server/service/process-thread/process-thread-history.js.map +1 -0
- package/dist-server/service/process-thread/process-thread-mutation.js +45 -0
- package/dist-server/service/process-thread/process-thread-mutation.js.map +1 -0
- package/dist-server/service/process-thread/process-thread-query.js +92 -0
- package/dist-server/service/process-thread/process-thread-query.js.map +1 -0
- package/dist-server/service/process-thread/process-thread-subscription.js +45 -0
- package/dist-server/service/process-thread/process-thread-subscription.js.map +1 -0
- package/dist-server/service/process-thread/process-thread-type.js +21 -0
- package/dist-server/service/process-thread/process-thread-type.js.map +1 -0
- package/dist-server/service/process-thread/process-thread.js +101 -0
- package/dist-server/service/process-thread/process-thread.js.map +1 -0
- package/dist-server/tsconfig.tsbuildinfo +1 -0
- package/helps/process/process-instance.md +160 -0
- package/helps/process/process-thread.md +160 -0
- package/helps/process/process.md +160 -0
- package/package.json +44 -0
- package/server/controllers/common.ts +90 -0
- package/server/controllers/index.ts +0 -0
- package/server/controllers/process-instance/abort.ts +75 -0
- package/server/controllers/process-instance/end.ts +74 -0
- package/server/controllers/process-instance/index.ts +2 -0
- package/server/controllers/process-thread/_abort.ts +20 -0
- package/server/controllers/process-thread/abort.ts +48 -0
- package/server/controllers/process-thread/end.ts +54 -0
- package/server/controllers/process-thread/index.ts +3 -0
- package/server/controllers/process-thread/start.ts +49 -0
- package/server/index.ts +4 -0
- package/server/middlewares/index.ts +3 -0
- package/server/migrations/index.ts +9 -0
- package/server/routes.ts +28 -0
- package/server/service/index.ts +32 -0
- package/server/service/process/event-subscriber.ts +17 -0
- package/server/service/process/index.ts +9 -0
- package/server/service/process/process-history.ts +102 -0
- package/server/service/process/process-mutation.ts +210 -0
- package/server/service/process/process-query.ts +117 -0
- package/server/service/process/process-search-key-item-type.ts +16 -0
- package/server/service/process/process-type.ts +65 -0
- package/server/service/process/process.ts +97 -0
- package/server/service/process-instance/event-subscriber.ts +44 -0
- package/server/service/process-instance/index.ts +10 -0
- package/server/service/process-instance/process-instance-history.ts +148 -0
- package/server/service/process-instance/process-instance-mutation.ts +33 -0
- package/server/service/process-instance/process-instance-query.ts +138 -0
- package/server/service/process-instance/process-instance-subscription.ts +52 -0
- package/server/service/process-instance/process-instance-type.ts +71 -0
- package/server/service/process-instance/process-instance.ts +147 -0
- package/server/service/process-stats/index.ts +3 -0
- package/server/service/process-stats/process-stats-query.ts +57 -0
- package/server/service/process-stats/process-stats-type.ts +31 -0
- package/server/service/process-thread/event-subscriber.ts +31 -0
- package/server/service/process-thread/index.ts +9 -0
- package/server/service/process-thread/process-thread-mutation.ts +34 -0
- package/server/service/process-thread/process-thread-query.ts +58 -0
- package/server/service/process-thread/process-thread-subscription.ts +41 -0
- package/server/service/process-thread/process-thread-type.ts +15 -0
- package/server/service/process-thread/process-thread.ts +90 -0
- package/server/tsconfig.json +10 -0
- package/things-factory.config.js +13 -0
- package/translations/en.json +1 -0
- package/translations/ko.json +1 -0
- package/translations/ms.json +1 -0
- package/translations/zh.json +1 -0
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ProcessThreadHistory = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const type_graphql_1 = require("type-graphql");
|
|
6
|
+
const typeorm_1 = require("typeorm");
|
|
7
|
+
const typeorm_history_1 = require("@operato/typeorm-history");
|
|
8
|
+
const auth_base_1 = require("@things-factory/auth-base");
|
|
9
|
+
const env_1 = require("@things-factory/env");
|
|
10
|
+
const shell_1 = require("@things-factory/shell");
|
|
11
|
+
const process_thread_1 = require("./process-thread");
|
|
12
|
+
const process_instance_1 = require("../process-instance/process-instance");
|
|
13
|
+
const ORMCONFIG = env_1.config.get('ormconfig', {});
|
|
14
|
+
const DATABASE_TYPE = ORMCONFIG.type;
|
|
15
|
+
let ProcessThreadHistory = class ProcessThreadHistory {
|
|
16
|
+
constructor() {
|
|
17
|
+
this.version = 1;
|
|
18
|
+
}
|
|
19
|
+
isPendingStarted() {
|
|
20
|
+
switch (this.state) {
|
|
21
|
+
case process_thread_1.ProcessThreadStatus.Assigned:
|
|
22
|
+
return true;
|
|
23
|
+
default:
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
isPendingEnded() {
|
|
28
|
+
switch (this.state) {
|
|
29
|
+
case process_thread_1.ProcessThreadStatus.Started:
|
|
30
|
+
case process_thread_1.ProcessThreadStatus.Rejected:
|
|
31
|
+
return true;
|
|
32
|
+
default:
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
isValid() {
|
|
37
|
+
switch (this.state) {
|
|
38
|
+
case process_thread_1.ProcessThreadStatus.Assigned:
|
|
39
|
+
case process_thread_1.ProcessThreadStatus.Started:
|
|
40
|
+
case process_thread_1.ProcessThreadStatus.Ended:
|
|
41
|
+
case process_thread_1.ProcessThreadStatus.Rejected:
|
|
42
|
+
return true;
|
|
43
|
+
case process_thread_1.ProcessThreadStatus.Delegated:
|
|
44
|
+
case process_thread_1.ProcessThreadStatus.Aborted:
|
|
45
|
+
default:
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
tslib_1.__decorate([
|
|
51
|
+
(0, typeorm_1.PrimaryGeneratedColumn)('uuid'),
|
|
52
|
+
(0, type_graphql_1.Field)(type => type_graphql_1.ID),
|
|
53
|
+
tslib_1.__metadata("design:type", String)
|
|
54
|
+
], ProcessThreadHistory.prototype, "id", void 0);
|
|
55
|
+
tslib_1.__decorate([
|
|
56
|
+
(0, typeorm_1.Column)({
|
|
57
|
+
nullable: true,
|
|
58
|
+
default: 1
|
|
59
|
+
}),
|
|
60
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
61
|
+
tslib_1.__metadata("design:type", Number)
|
|
62
|
+
], ProcessThreadHistory.prototype, "version", void 0);
|
|
63
|
+
tslib_1.__decorate([
|
|
64
|
+
(0, typeorm_1.ManyToOne)(type => shell_1.Domain),
|
|
65
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
66
|
+
tslib_1.__metadata("design:type", shell_1.Domain)
|
|
67
|
+
], ProcessThreadHistory.prototype, "domain", void 0);
|
|
68
|
+
tslib_1.__decorate([
|
|
69
|
+
(0, typeorm_1.RelationId)((processThread) => processThread.domain),
|
|
70
|
+
tslib_1.__metadata("design:type", String)
|
|
71
|
+
], ProcessThreadHistory.prototype, "domainId", void 0);
|
|
72
|
+
tslib_1.__decorate([
|
|
73
|
+
(0, typeorm_1.ManyToOne)(type => process_instance_1.ProcessInstance),
|
|
74
|
+
(0, type_graphql_1.Field)(type => process_instance_1.ProcessInstance, { nullable: true }),
|
|
75
|
+
tslib_1.__metadata("design:type", process_instance_1.ProcessInstance)
|
|
76
|
+
], ProcessThreadHistory.prototype, "processInstance", void 0);
|
|
77
|
+
tslib_1.__decorate([
|
|
78
|
+
(0, typeorm_1.RelationId)((processThread) => processThread.processInstance),
|
|
79
|
+
tslib_1.__metadata("design:type", String)
|
|
80
|
+
], ProcessThreadHistory.prototype, "processInstanceId", void 0);
|
|
81
|
+
tslib_1.__decorate([
|
|
82
|
+
(0, typeorm_1.Column)({ nullable: true }),
|
|
83
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
84
|
+
tslib_1.__metadata("design:type", String)
|
|
85
|
+
], ProcessThreadHistory.prototype, "state", void 0);
|
|
86
|
+
tslib_1.__decorate([
|
|
87
|
+
(0, typeorm_1.Column)('simple-json', { nullable: true }),
|
|
88
|
+
(0, type_graphql_1.Field)(type => shell_1.ScalarObject, { nullable: true }),
|
|
89
|
+
tslib_1.__metadata("design:type", Object)
|
|
90
|
+
], ProcessThreadHistory.prototype, "output", void 0);
|
|
91
|
+
tslib_1.__decorate([
|
|
92
|
+
(0, typeorm_1.ManyToOne)(type => auth_base_1.User, { nullable: true }),
|
|
93
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
94
|
+
tslib_1.__metadata("design:type", auth_base_1.User)
|
|
95
|
+
], ProcessThreadHistory.prototype, "assignee", void 0);
|
|
96
|
+
tslib_1.__decorate([
|
|
97
|
+
(0, typeorm_1.RelationId)((processThread) => processThread.assignee),
|
|
98
|
+
tslib_1.__metadata("design:type", String)
|
|
99
|
+
], ProcessThreadHistory.prototype, "assigneeId", void 0);
|
|
100
|
+
tslib_1.__decorate([
|
|
101
|
+
(0, typeorm_1.Column)({ nullable: true }),
|
|
102
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
103
|
+
tslib_1.__metadata("design:type", Number)
|
|
104
|
+
], ProcessThreadHistory.prototype, "round", void 0);
|
|
105
|
+
tslib_1.__decorate([
|
|
106
|
+
(0, typeorm_1.Column)({ nullable: true }),
|
|
107
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
108
|
+
tslib_1.__metadata("design:type", String)
|
|
109
|
+
], ProcessThreadHistory.prototype, "transaction", void 0);
|
|
110
|
+
tslib_1.__decorate([
|
|
111
|
+
(0, typeorm_1.Column)({ nullable: true }),
|
|
112
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
113
|
+
tslib_1.__metadata("design:type", Date)
|
|
114
|
+
], ProcessThreadHistory.prototype, "dueAt", void 0);
|
|
115
|
+
tslib_1.__decorate([
|
|
116
|
+
(0, typeorm_1.Column)({ nullable: true }),
|
|
117
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
118
|
+
tslib_1.__metadata("design:type", Date)
|
|
119
|
+
], ProcessThreadHistory.prototype, "assignedAt", void 0);
|
|
120
|
+
tslib_1.__decorate([
|
|
121
|
+
(0, typeorm_1.Column)({ nullable: true }),
|
|
122
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
123
|
+
tslib_1.__metadata("design:type", Date)
|
|
124
|
+
], ProcessThreadHistory.prototype, "startedAt", void 0);
|
|
125
|
+
tslib_1.__decorate([
|
|
126
|
+
(0, typeorm_1.Column)({ nullable: true }),
|
|
127
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
128
|
+
tslib_1.__metadata("design:type", Date)
|
|
129
|
+
], ProcessThreadHistory.prototype, "terminatedAt", void 0);
|
|
130
|
+
tslib_1.__decorate([
|
|
131
|
+
(0, typeorm_1.Column)(),
|
|
132
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
133
|
+
tslib_1.__metadata("design:type", Date)
|
|
134
|
+
], ProcessThreadHistory.prototype, "createdAt", void 0);
|
|
135
|
+
tslib_1.__decorate([
|
|
136
|
+
(0, typeorm_1.Column)(),
|
|
137
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
138
|
+
tslib_1.__metadata("design:type", Date)
|
|
139
|
+
], ProcessThreadHistory.prototype, "updatedAt", void 0);
|
|
140
|
+
tslib_1.__decorate([
|
|
141
|
+
(0, typeorm_1.ManyToOne)(type => auth_base_1.User, { nullable: true }),
|
|
142
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
143
|
+
tslib_1.__metadata("design:type", auth_base_1.User)
|
|
144
|
+
], ProcessThreadHistory.prototype, "creator", void 0);
|
|
145
|
+
tslib_1.__decorate([
|
|
146
|
+
(0, typeorm_1.RelationId)((processThread) => processThread.creator),
|
|
147
|
+
tslib_1.__metadata("design:type", String)
|
|
148
|
+
], ProcessThreadHistory.prototype, "creatorId", void 0);
|
|
149
|
+
tslib_1.__decorate([
|
|
150
|
+
(0, typeorm_1.ManyToOne)(type => auth_base_1.User, { nullable: true }),
|
|
151
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
152
|
+
tslib_1.__metadata("design:type", auth_base_1.User)
|
|
153
|
+
], ProcessThreadHistory.prototype, "updater", void 0);
|
|
154
|
+
tslib_1.__decorate([
|
|
155
|
+
(0, typeorm_1.RelationId)((processThread) => processThread.updater),
|
|
156
|
+
tslib_1.__metadata("design:type", String)
|
|
157
|
+
], ProcessThreadHistory.prototype, "updaterId", void 0);
|
|
158
|
+
tslib_1.__decorate([
|
|
159
|
+
(0, typeorm_1.ManyToOne)(type => auth_base_1.User, { nullable: true }),
|
|
160
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
161
|
+
tslib_1.__metadata("design:type", auth_base_1.User)
|
|
162
|
+
], ProcessThreadHistory.prototype, "terminator", void 0);
|
|
163
|
+
tslib_1.__decorate([
|
|
164
|
+
(0, typeorm_1.RelationId)((processThread) => processThread.terminator),
|
|
165
|
+
tslib_1.__metadata("design:type", String)
|
|
166
|
+
], ProcessThreadHistory.prototype, "terminatorId", void 0);
|
|
167
|
+
tslib_1.__decorate([
|
|
168
|
+
(0, typeorm_history_1.HistoryOriginalIdColumn)(),
|
|
169
|
+
tslib_1.__metadata("design:type", String)
|
|
170
|
+
], ProcessThreadHistory.prototype, "originalId", void 0);
|
|
171
|
+
tslib_1.__decorate([
|
|
172
|
+
(0, typeorm_history_1.HistoryActionColumn)({
|
|
173
|
+
nullable: false,
|
|
174
|
+
type: DATABASE_TYPE == 'postgres' || DATABASE_TYPE == 'mysql' || DATABASE_TYPE == 'mariadb'
|
|
175
|
+
? 'enum'
|
|
176
|
+
: DATABASE_TYPE == 'oracle'
|
|
177
|
+
? 'varchar2'
|
|
178
|
+
: 'smallint',
|
|
179
|
+
enum: typeorm_history_1.HistoryActionType
|
|
180
|
+
}),
|
|
181
|
+
tslib_1.__metadata("design:type", String)
|
|
182
|
+
], ProcessThreadHistory.prototype, "action", void 0);
|
|
183
|
+
ProcessThreadHistory = tslib_1.__decorate([
|
|
184
|
+
(0, typeorm_1.Entity)(),
|
|
185
|
+
(0, typeorm_1.Index)('ix_process_thread_history_0', (processThreadHistory) => [processThreadHistory.originalId, processThreadHistory.version], { unique: true }),
|
|
186
|
+
(0, typeorm_1.Index)('ix_process_thread_history_1', (processThreadHistory) => [
|
|
187
|
+
processThreadHistory.domain,
|
|
188
|
+
processThreadHistory.originalId,
|
|
189
|
+
processThreadHistory.version
|
|
190
|
+
], { unique: true }),
|
|
191
|
+
(0, type_graphql_1.ObjectType)({ description: 'History Entity of ProcessThread' })
|
|
192
|
+
], ProcessThreadHistory);
|
|
193
|
+
exports.ProcessThreadHistory = ProcessThreadHistory;
|
|
194
|
+
//# sourceMappingURL=process-thread-history.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-thread-history.js","sourceRoot":"","sources":["../../../server/service/process-thread/process-thread-history.ts"],"names":[],"mappings":"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","sourcesContent":["import { Field, ID, Int, ObjectType } from 'type-graphql'\nimport { Column, Entity, Index, ManyToOne, OneToMany, PrimaryGeneratedColumn, RelationId } from 'typeorm'\n\nimport {\n HistoryActionColumn,\n HistoryActionType,\n HistoryEntityInterface,\n HistoryOriginalIdColumn\n} from '@operato/typeorm-history'\nimport { User } from '@things-factory/auth-base'\nimport { config } from '@things-factory/env'\nimport { Domain, ScalarObject } from '@things-factory/shell'\n\nimport { ProcessThread, ProcessThreadStatus } from './process-thread'\nimport { ProcessInstance } from '../process-instance/process-instance'\n\nconst ORMCONFIG = config.get('ormconfig', {})\nconst DATABASE_TYPE = ORMCONFIG.type\n\n@Entity()\n@Index(\n 'ix_process_thread_history_0',\n (processThreadHistory: ProcessThreadHistory) => [processThreadHistory.originalId, processThreadHistory.version],\n { unique: true }\n)\n@Index(\n 'ix_process_thread_history_1',\n (processThreadHistory: ProcessThreadHistory) => [\n processThreadHistory.domain,\n processThreadHistory.originalId,\n processThreadHistory.version\n ],\n { unique: true }\n)\n@ObjectType({ description: 'History Entity of ProcessThread' })\nexport class ProcessThreadHistory implements HistoryEntityInterface<ProcessThread> {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID)\n readonly id: string\n\n @Column({\n nullable: true,\n default: 1\n })\n @Field({ nullable: true })\n version?: number = 1\n\n @ManyToOne(type => Domain)\n @Field({ nullable: true })\n domain?: Domain\n\n @RelationId((processThread: ProcessThread) => processThread.domain)\n domainId?: string\n\n @ManyToOne(type => ProcessInstance)\n @Field(type => ProcessInstance, { nullable: true })\n processInstance?: ProcessInstance\n\n @RelationId((processThread: ProcessThread) => processThread.processInstance)\n processInstanceId?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n state?: ProcessThreadStatus\n\n @Column('simple-json', { nullable: true })\n @Field(type => ScalarObject, { nullable: true })\n output?: { [key: string]: any }\n\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n assignee?: User\n\n @RelationId((processThread: ProcessThread) => processThread.assignee)\n assigneeId?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n round: number\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n transaction: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n dueAt?: Date\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n assignedAt?: Date\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n startedAt?: Date\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n terminatedAt?: Date\n\n @Column()\n @Field({ nullable: true })\n createdAt?: Date\n\n @Column()\n @Field({ nullable: true })\n updatedAt?: Date\n\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n creator?: User\n\n @RelationId((processThread: ProcessThread) => processThread.creator)\n creatorId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n updater?: User\n\n @RelationId((processThread: ProcessThread) => processThread.updater)\n updaterId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n terminator?: User\n\n @RelationId((processThread: ProcessThread) => processThread.terminator)\n terminatorId?: string\n\n @HistoryOriginalIdColumn()\n public originalId!: string\n\n @HistoryActionColumn({\n nullable: false,\n type:\n DATABASE_TYPE == 'postgres' || DATABASE_TYPE == 'mysql' || DATABASE_TYPE == 'mariadb'\n ? 'enum'\n : DATABASE_TYPE == 'oracle'\n ? 'varchar2'\n : 'smallint',\n enum: HistoryActionType\n })\n public action!: HistoryActionType\n\n isPendingStarted(): boolean {\n switch (this.state) {\n case ProcessThreadStatus.Assigned:\n return true\n default:\n return false\n }\n }\n\n isPendingEnded(): boolean {\n switch (this.state) {\n case ProcessThreadStatus.Started:\n case ProcessThreadStatus.Rejected:\n return true\n default:\n return false\n }\n }\n\n isValid(): boolean {\n switch (this.state) {\n case ProcessThreadStatus.Assigned:\n case ProcessThreadStatus.Started:\n case ProcessThreadStatus.Ended:\n case ProcessThreadStatus.Rejected:\n return true\n case ProcessThreadStatus.Delegated:\n case ProcessThreadStatus.Aborted:\n default:\n return false\n }\n }\n}\n"]}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ProcessThreadMutation = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const type_graphql_1 = require("type-graphql");
|
|
6
|
+
const shell_1 = require("@things-factory/shell");
|
|
7
|
+
const process_thread_1 = require("../../controllers/process-thread");
|
|
8
|
+
const process_thread_2 = require("./process-thread");
|
|
9
|
+
let ProcessThreadMutation = class ProcessThreadMutation {
|
|
10
|
+
/* transactions ... */
|
|
11
|
+
async startProcessThread(id, output, reason, context) {
|
|
12
|
+
return await (0, process_thread_1.start)(id, output, reason, context);
|
|
13
|
+
}
|
|
14
|
+
async abortProcessThread(id, reason, context) {
|
|
15
|
+
return await (0, process_thread_1.abort)({ id, reason }, context);
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
tslib_1.__decorate([
|
|
19
|
+
(0, type_graphql_1.Directive)('@transaction'),
|
|
20
|
+
(0, type_graphql_1.Directive)('@privilege(category: "process", privilege: "mutation", domainOwnerGranted: true)'),
|
|
21
|
+
(0, type_graphql_1.Mutation)(returns => process_thread_2.ProcessThread, { nullable: true, description: 'To start ProcessThread' }),
|
|
22
|
+
tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
|
|
23
|
+
tslib_1.__param(1, (0, type_graphql_1.Arg)('output', type => shell_1.ScalarObject, { nullable: true })),
|
|
24
|
+
tslib_1.__param(2, (0, type_graphql_1.Arg)('reason', { nullable: true })),
|
|
25
|
+
tslib_1.__param(3, (0, type_graphql_1.Ctx)()),
|
|
26
|
+
tslib_1.__metadata("design:type", Function),
|
|
27
|
+
tslib_1.__metadata("design:paramtypes", [String, Object, String, Object]),
|
|
28
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
29
|
+
], ProcessThreadMutation.prototype, "startProcessThread", null);
|
|
30
|
+
tslib_1.__decorate([
|
|
31
|
+
(0, type_graphql_1.Directive)('@transaction'),
|
|
32
|
+
(0, type_graphql_1.Directive)('@privilege(category: "process", privilege: "mutation", domainOwnerGranted: true)'),
|
|
33
|
+
(0, type_graphql_1.Mutation)(returns => process_thread_2.ProcessThread, { description: 'To abort a ProcessThread' }),
|
|
34
|
+
tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
|
|
35
|
+
tslib_1.__param(1, (0, type_graphql_1.Arg)('reason', { nullable: true })),
|
|
36
|
+
tslib_1.__param(2, (0, type_graphql_1.Ctx)()),
|
|
37
|
+
tslib_1.__metadata("design:type", Function),
|
|
38
|
+
tslib_1.__metadata("design:paramtypes", [String, String, Object]),
|
|
39
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
40
|
+
], ProcessThreadMutation.prototype, "abortProcessThread", null);
|
|
41
|
+
ProcessThreadMutation = tslib_1.__decorate([
|
|
42
|
+
(0, type_graphql_1.Resolver)(process_thread_2.ProcessThread)
|
|
43
|
+
], ProcessThreadMutation);
|
|
44
|
+
exports.ProcessThreadMutation = ProcessThreadMutation;
|
|
45
|
+
//# sourceMappingURL=process-thread-mutation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-thread-mutation.js","sourceRoot":"","sources":["../../../server/service/process-thread/process-thread-mutation.ts"],"names":[],"mappings":";;;;AAAA,+CAAsE;AAEtE,iDAA+D;AAE/D,qEAA+D;AAC/D,qDAAgD;AAGzC,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAChC,sBAAsB;IAKhB,AAAN,KAAK,CAAC,kBAAkB,CACX,EAAU,EACoC,MAA8B,EACpD,MAAc,EAC1C,OAAwB;QAE/B,OAAO,MAAM,IAAA,sBAAK,EAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IACjD,CAAC;IAKK,AAAN,KAAK,CAAC,kBAAkB,CACX,EAAU,EACc,MAAc,EAC1C,OAAwB;QAE/B,OAAO,MAAM,IAAA,sBAAK,EAAC,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,CAAA;IAC7C,CAAC;CACF,CAAA;AAnBO;IAHL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,wBAAS,EAAC,kFAAkF,CAAC;IAC7F,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,8BAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,wBAAwB,EAAE,CAAC;IAE5F,mBAAA,IAAA,kBAAG,EAAC,IAAI,CAAC,CAAA;IACT,mBAAA,IAAA,kBAAG,EAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,oBAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IACvD,mBAAA,IAAA,kBAAG,EAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IACjC,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;+DAGP;AAKK;IAHL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,wBAAS,EAAC,kFAAkF,CAAC;IAC7F,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,8BAAa,EAAE,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC;IAE7E,mBAAA,IAAA,kBAAG,EAAC,IAAI,CAAC,CAAA;IACT,mBAAA,IAAA,kBAAG,EAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IACjC,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;+DAGP;AAxBU,qBAAqB;IADjC,IAAA,uBAAQ,EAAC,8BAAa,CAAC;GACX,qBAAqB,CAyBjC;AAzBY,sDAAqB","sourcesContent":["import { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'\n\nimport { ObjectRef, ScalarObject } from '@things-factory/shell'\n\nimport { abort, start } from '../../controllers/process-thread'\nimport { ProcessThread } from './process-thread'\n\n@Resolver(ProcessThread)\nexport class ProcessThreadMutation {\n /* transactions ... */\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"process\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => ProcessThread!, { nullable: true, description: 'To start ProcessThread' })\n async startProcessThread(\n @Arg('id') id: string,\n @Arg('output', type => ScalarObject, { nullable: true }) output: { [key: string]: any },\n @Arg('reason', { nullable: true }) reason: string,\n @Ctx() context: ResolverContext\n ): Promise<ProcessThread> {\n return await start(id, output, reason, context)\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"process\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => ProcessThread, { description: 'To abort a ProcessThread' })\n async abortProcessThread(\n @Arg('id') id: string,\n @Arg('reason', { nullable: true }) reason: string,\n @Ctx() context: ResolverContext\n ): Promise<ProcessThread> {\n return await abort({ id, reason }, context)\n }\n}\n"]}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ProcessThreadQuery = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const type_graphql_1 = require("type-graphql");
|
|
6
|
+
const auth_base_1 = require("@things-factory/auth-base");
|
|
7
|
+
const shell_1 = require("@things-factory/shell");
|
|
8
|
+
const process_instance_1 = require("../process-instance/process-instance");
|
|
9
|
+
const process_thread_1 = require("./process-thread");
|
|
10
|
+
const process_thread_type_1 = require("./process-thread-type");
|
|
11
|
+
let ProcessThreadQuery = class ProcessThreadQuery {
|
|
12
|
+
async processThread(id, context) {
|
|
13
|
+
const { domain } = context.state;
|
|
14
|
+
return await (0, shell_1.getRepository)(process_thread_1.ProcessThread).findOne({
|
|
15
|
+
where: { domain: { id: domain.id }, id }
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
async processThreads(params, context) {
|
|
19
|
+
const { domain } = context.state;
|
|
20
|
+
const queryBuilder = (0, shell_1.getQueryBuilderFromListParams)({
|
|
21
|
+
domain,
|
|
22
|
+
params,
|
|
23
|
+
repository: (0, shell_1.getRepository)(process_thread_1.ProcessThread),
|
|
24
|
+
searchables: ['name', 'description']
|
|
25
|
+
});
|
|
26
|
+
const [items, total] = await queryBuilder.getManyAndCount();
|
|
27
|
+
return { items, total };
|
|
28
|
+
}
|
|
29
|
+
async processInstance(processThread) {
|
|
30
|
+
return await (0, shell_1.getRepository)(process_instance_1.ProcessInstance).findOneBy({ id: processThread.processInstanceId });
|
|
31
|
+
}
|
|
32
|
+
async domain(processThread) {
|
|
33
|
+
return await (0, shell_1.getRepository)(shell_1.Domain).findOneBy({ id: processThread.domainId });
|
|
34
|
+
}
|
|
35
|
+
async updater(processThread) {
|
|
36
|
+
return processThread.updater && (await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id: processThread.updaterId }));
|
|
37
|
+
}
|
|
38
|
+
async creator(processThread) {
|
|
39
|
+
return processThread.creator && (await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id: processThread.creatorId }));
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
tslib_1.__decorate([
|
|
43
|
+
(0, type_graphql_1.Directive)('@privilege(category: "process", privilege: "query", domainOwnerGranted: true)'),
|
|
44
|
+
(0, type_graphql_1.Query)(returns => process_thread_1.ProcessThread, { nullable: true, description: 'To fetch a ProcessThread' }),
|
|
45
|
+
tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
|
|
46
|
+
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
47
|
+
tslib_1.__metadata("design:type", Function),
|
|
48
|
+
tslib_1.__metadata("design:paramtypes", [String, Object]),
|
|
49
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
50
|
+
], ProcessThreadQuery.prototype, "processThread", null);
|
|
51
|
+
tslib_1.__decorate([
|
|
52
|
+
(0, type_graphql_1.Directive)('@privilege(category: "process", privilege: "query", domainOwnerGranted: true)'),
|
|
53
|
+
(0, type_graphql_1.Query)(returns => process_thread_type_1.ProcessThreadList, { description: 'To fetch multiple ProcessThreads' }),
|
|
54
|
+
tslib_1.__param(0, (0, type_graphql_1.Args)()),
|
|
55
|
+
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
56
|
+
tslib_1.__metadata("design:type", Function),
|
|
57
|
+
tslib_1.__metadata("design:paramtypes", [shell_1.ListParam, Object]),
|
|
58
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
59
|
+
], ProcessThreadQuery.prototype, "processThreads", null);
|
|
60
|
+
tslib_1.__decorate([
|
|
61
|
+
(0, type_graphql_1.FieldResolver)(type => process_instance_1.ProcessInstance),
|
|
62
|
+
tslib_1.__param(0, (0, type_graphql_1.Root)()),
|
|
63
|
+
tslib_1.__metadata("design:type", Function),
|
|
64
|
+
tslib_1.__metadata("design:paramtypes", [process_thread_1.ProcessThread]),
|
|
65
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
66
|
+
], ProcessThreadQuery.prototype, "processInstance", null);
|
|
67
|
+
tslib_1.__decorate([
|
|
68
|
+
(0, type_graphql_1.FieldResolver)(type => shell_1.Domain),
|
|
69
|
+
tslib_1.__param(0, (0, type_graphql_1.Root)()),
|
|
70
|
+
tslib_1.__metadata("design:type", Function),
|
|
71
|
+
tslib_1.__metadata("design:paramtypes", [process_thread_1.ProcessThread]),
|
|
72
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
73
|
+
], ProcessThreadQuery.prototype, "domain", null);
|
|
74
|
+
tslib_1.__decorate([
|
|
75
|
+
(0, type_graphql_1.FieldResolver)(type => auth_base_1.User),
|
|
76
|
+
tslib_1.__param(0, (0, type_graphql_1.Root)()),
|
|
77
|
+
tslib_1.__metadata("design:type", Function),
|
|
78
|
+
tslib_1.__metadata("design:paramtypes", [process_thread_1.ProcessThread]),
|
|
79
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
80
|
+
], ProcessThreadQuery.prototype, "updater", null);
|
|
81
|
+
tslib_1.__decorate([
|
|
82
|
+
(0, type_graphql_1.FieldResolver)(type => auth_base_1.User),
|
|
83
|
+
tslib_1.__param(0, (0, type_graphql_1.Root)()),
|
|
84
|
+
tslib_1.__metadata("design:type", Function),
|
|
85
|
+
tslib_1.__metadata("design:paramtypes", [process_thread_1.ProcessThread]),
|
|
86
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
87
|
+
], ProcessThreadQuery.prototype, "creator", null);
|
|
88
|
+
ProcessThreadQuery = tslib_1.__decorate([
|
|
89
|
+
(0, type_graphql_1.Resolver)(process_thread_1.ProcessThread)
|
|
90
|
+
], ProcessThreadQuery);
|
|
91
|
+
exports.ProcessThreadQuery = ProcessThreadQuery;
|
|
92
|
+
//# sourceMappingURL=process-thread-query.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-thread-query.js","sourceRoot":"","sources":["../../../server/service/process-thread/process-thread-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Args, Ctx, Directive, FieldResolver, Query, Resolver, Root } from 'type-graphql'\n\nimport { User } from '@things-factory/auth-base'\nimport { Domain, getQueryBuilderFromListParams, getRepository, ListParam } from '@things-factory/shell'\n\nimport { ProcessInstance } from '../process-instance/process-instance'\nimport { ProcessThread, ProcessThreadStatus } from './process-thread'\nimport { ProcessThreadList } from './process-thread-type'\n\n@Resolver(ProcessThread)\nexport class ProcessThreadQuery {\n @Directive('@privilege(category: \"process\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => ProcessThread!, { nullable: true, description: 'To fetch a ProcessThread' })\n async processThread(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<ProcessThread> {\n const { domain } = context.state\n\n return await getRepository(ProcessThread).findOne({\n where: { domain: { id: domain.id }, id }\n })\n }\n\n @Directive('@privilege(category: \"process\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => ProcessThreadList, { description: 'To fetch multiple ProcessThreads' })\n async processThreads(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<ProcessThreadList> {\n const { domain } = context.state\n\n const queryBuilder = getQueryBuilderFromListParams({\n domain,\n params,\n repository: getRepository(ProcessThread),\n searchables: ['name', 'description']\n })\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @FieldResolver(type => ProcessInstance)\n async processInstance(@Root() processThread: ProcessThread): Promise<ProcessInstance> {\n return await getRepository(ProcessInstance).findOneBy({ id: processThread.processInstanceId })\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() processThread: ProcessThread): Promise<Domain> {\n return await getRepository(Domain).findOneBy({ id: processThread.domainId })\n }\n\n @FieldResolver(type => User)\n async updater(@Root() processThread: ProcessThread): Promise<User> {\n return processThread.updater && (await getRepository(User).findOneBy({ id: processThread.updaterId }))\n }\n\n @FieldResolver(type => User)\n async creator(@Root() processThread: ProcessThread): Promise<User> {\n return processThread.creator && (await getRepository(User).findOneBy({ id: processThread.creatorId }))\n }\n}\n"]}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ProcessThreadSubscription = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const graphql_subscriptions_1 = require("graphql-subscriptions");
|
|
6
|
+
const type_graphql_1 = require("type-graphql");
|
|
7
|
+
const shell_1 = require("@things-factory/shell");
|
|
8
|
+
const process_thread_1 = require("./process-thread");
|
|
9
|
+
let ProcessThreadSubscription = class ProcessThreadSubscription {
|
|
10
|
+
processThread(payload) {
|
|
11
|
+
return payload.processThread;
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
tslib_1.__decorate([
|
|
15
|
+
(0, type_graphql_1.Subscription)({
|
|
16
|
+
subscribe: (_, args, context, info) => {
|
|
17
|
+
var _a;
|
|
18
|
+
const { domain, user } = context.state;
|
|
19
|
+
const subdomain = domain === null || domain === void 0 ? void 0 : domain.subdomain;
|
|
20
|
+
if (!domain) {
|
|
21
|
+
throw new Error('domain required');
|
|
22
|
+
}
|
|
23
|
+
if (!((_a = user.domains) === null || _a === void 0 ? void 0 : _a.find(d => d.subdomain === subdomain)) && !process.superUserGranted(domain, user)) {
|
|
24
|
+
throw new Error(`domain(${subdomain}) is not working for user(${user.email}).`);
|
|
25
|
+
}
|
|
26
|
+
return (0, graphql_subscriptions_1.withFilter)(() => shell_1.pubsub.asyncIterator('process-thread'), async (payload, variables, context, info) => {
|
|
27
|
+
const { processThread } = payload;
|
|
28
|
+
const { domainId } = processThread;
|
|
29
|
+
if (domainId !== (domain === null || domain === void 0 ? void 0 : domain.id)) {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
return processThread.assigneeId === user.id;
|
|
33
|
+
})(_, args, context, info);
|
|
34
|
+
}
|
|
35
|
+
}),
|
|
36
|
+
tslib_1.__param(0, (0, type_graphql_1.Root)()),
|
|
37
|
+
tslib_1.__metadata("design:type", Function),
|
|
38
|
+
tslib_1.__metadata("design:paramtypes", [Object]),
|
|
39
|
+
tslib_1.__metadata("design:returntype", process_thread_1.ProcessThread)
|
|
40
|
+
], ProcessThreadSubscription.prototype, "processThread", null);
|
|
41
|
+
ProcessThreadSubscription = tslib_1.__decorate([
|
|
42
|
+
(0, type_graphql_1.Resolver)(process_thread_1.ProcessThread)
|
|
43
|
+
], ProcessThreadSubscription);
|
|
44
|
+
exports.ProcessThreadSubscription = ProcessThreadSubscription;
|
|
45
|
+
//# sourceMappingURL=process-thread-subscription.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-thread-subscription.js","sourceRoot":"","sources":["../../../server/service/process-thread/process-thread-subscription.ts"],"names":[],"mappings":";;;;AAAA,iEAAkD;AAClD,+CAA2D;AAE3D,iDAA8C;AAE9C,qDAAgD;AAGzC,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IA6BpC,aAAa,CAAS,OAAyC;QAC7D,OAAO,OAAO,CAAC,aAAa,CAAA;IAC9B,CAAC;CACF,CAAA;AA/BC;IAAC,IAAA,2BAAY,EAAC;QACZ,SAAS,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;;YACpC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;YACtC,MAAM,SAAS,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,CAAA;YAEnC,IAAI,CAAC,MAAM,EAAE;gBACX,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;aACnC;YAED,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAA,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;gBAClG,MAAM,IAAI,KAAK,CAAC,UAAU,SAAS,6BAA6B,IAAI,CAAC,KAAK,IAAI,CAAC,CAAA;aAChF;YAED,OAAO,IAAA,kCAAU,EACf,GAAG,EAAE,CAAC,cAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,EAC5C,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;gBAC1C,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAA;gBACjC,MAAM,EAAE,QAAQ,EAAE,GAAG,aAAa,CAAA;gBAElC,IAAI,QAAQ,MAAK,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,EAAE,CAAA,EAAE;oBAC3B,OAAO,KAAK,CAAA;iBACb;gBAED,OAAO,aAAa,CAAC,UAAU,KAAK,IAAI,CAAC,EAAE,CAAA;YAC7C,CAAC,CACF,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;QAC3B,CAAC;KACF,CAAC;IACa,mBAAA,IAAA,mBAAI,GAAE,CAAA;;;4CAA6C,8BAAa;8DAE9E;AA/BU,yBAAyB;IADrC,IAAA,uBAAQ,EAAC,8BAAa,CAAC;GACX,yBAAyB,CAgCrC;AAhCY,8DAAyB","sourcesContent":["import { withFilter } from 'graphql-subscriptions'\nimport { Resolver, Root, Subscription } from 'type-graphql'\n\nimport { pubsub } from '@things-factory/shell'\n\nimport { ProcessThread } from './process-thread'\n\n@Resolver(ProcessThread)\nexport class ProcessThreadSubscription {\n @Subscription({\n subscribe: (_, args, context, info) => {\n const { domain, user } = context.state\n const subdomain = domain?.subdomain\n\n if (!domain) {\n throw new Error('domain required')\n }\n\n if (!user.domains?.find(d => d.subdomain === subdomain) && !process.superUserGranted(domain, user)) {\n throw new Error(`domain(${subdomain}) is not working for user(${user.email}).`)\n }\n\n return withFilter(\n () => pubsub.asyncIterator('process-thread'),\n async (payload, variables, context, info) => {\n const { processThread } = payload\n const { domainId } = processThread\n\n if (domainId !== domain?.id) {\n return false\n }\n\n return processThread.assigneeId === user.id\n }\n )(_, args, context, info)\n }\n })\n processThread(@Root() payload: { processThread: ProcessThread }): ProcessThread {\n return payload.processThread\n }\n}\n"]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ProcessThreadList = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const type_graphql_1 = require("type-graphql");
|
|
6
|
+
const process_thread_1 = require("./process-thread");
|
|
7
|
+
let ProcessThreadList = class ProcessThreadList {
|
|
8
|
+
};
|
|
9
|
+
tslib_1.__decorate([
|
|
10
|
+
(0, type_graphql_1.Field)(type => [process_thread_1.ProcessThread]),
|
|
11
|
+
tslib_1.__metadata("design:type", Array)
|
|
12
|
+
], ProcessThreadList.prototype, "items", void 0);
|
|
13
|
+
tslib_1.__decorate([
|
|
14
|
+
(0, type_graphql_1.Field)(type => type_graphql_1.Int),
|
|
15
|
+
tslib_1.__metadata("design:type", Number)
|
|
16
|
+
], ProcessThreadList.prototype, "total", void 0);
|
|
17
|
+
ProcessThreadList = tslib_1.__decorate([
|
|
18
|
+
(0, type_graphql_1.ObjectType)()
|
|
19
|
+
], ProcessThreadList);
|
|
20
|
+
exports.ProcessThreadList = ProcessThreadList;
|
|
21
|
+
//# sourceMappingURL=process-thread-type.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-thread-type.js","sourceRoot":"","sources":["../../../server/service/process-thread/process-thread-type.ts"],"names":[],"mappings":";;;;AAAA,+CAAoE;AAIpE,qDAAqE;AAI9D,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;CAM7B,CAAA;AALC;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,8BAAa,CAAC,CAAC;;gDACT;AAEtB;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,CAAC;;gDACN;AALF,iBAAiB;IAD7B,IAAA,yBAAU,GAAE;GACA,iBAAiB,CAM7B;AANY,8CAAiB","sourcesContent":["import { Field, ID, InputType, Int, ObjectType } from 'type-graphql'\n\nimport { ScalarObject } from '@things-factory/shell'\n\nimport { ProcessThread, ProcessThreadStatus } from './process-thread'\nimport { User } from '@things-factory/auth-base'\n\n@ObjectType()\nexport class ProcessThreadList {\n @Field(type => [ProcessThread])\n items: ProcessThread[]\n\n @Field(type => Int)\n total: number\n}\n"]}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ProcessThread = exports.ProcessThreadStatus = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const type_graphql_1 = require("type-graphql");
|
|
6
|
+
const typeorm_1 = require("typeorm");
|
|
7
|
+
const auth_base_1 = require("@things-factory/auth-base");
|
|
8
|
+
const shell_1 = require("@things-factory/shell");
|
|
9
|
+
const process_instance_1 = require("../process-instance/process-instance");
|
|
10
|
+
var ProcessThreadStatus;
|
|
11
|
+
(function (ProcessThreadStatus) {
|
|
12
|
+
ProcessThreadStatus["Assigned"] = "assigned";
|
|
13
|
+
ProcessThreadStatus["Started"] = "started";
|
|
14
|
+
ProcessThreadStatus["Delegated"] = "delegated";
|
|
15
|
+
ProcessThreadStatus["Submitted"] = "submitted";
|
|
16
|
+
ProcessThreadStatus["Escalated"] = "escalated";
|
|
17
|
+
ProcessThreadStatus["Rejected"] = "rejected";
|
|
18
|
+
ProcessThreadStatus["Ended"] = "ended";
|
|
19
|
+
ProcessThreadStatus["Aborted"] = "aborted";
|
|
20
|
+
})(ProcessThreadStatus = exports.ProcessThreadStatus || (exports.ProcessThreadStatus = {}));
|
|
21
|
+
(0, type_graphql_1.registerEnumType)(ProcessThreadStatus, {
|
|
22
|
+
name: 'ProcessThreadStatus',
|
|
23
|
+
description: 'state enumeration of a ProcessThread'
|
|
24
|
+
});
|
|
25
|
+
let ProcessThread = class ProcessThread {
|
|
26
|
+
constructor() {
|
|
27
|
+
this.version = 1;
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
tslib_1.__decorate([
|
|
31
|
+
(0, typeorm_1.PrimaryGeneratedColumn)('uuid'),
|
|
32
|
+
(0, type_graphql_1.Field)(type => type_graphql_1.ID),
|
|
33
|
+
tslib_1.__metadata("design:type", String)
|
|
34
|
+
], ProcessThread.prototype, "id", void 0);
|
|
35
|
+
tslib_1.__decorate([
|
|
36
|
+
(0, typeorm_1.ManyToOne)(type => shell_1.Domain),
|
|
37
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
38
|
+
tslib_1.__metadata("design:type", shell_1.Domain)
|
|
39
|
+
], ProcessThread.prototype, "domain", void 0);
|
|
40
|
+
tslib_1.__decorate([
|
|
41
|
+
(0, typeorm_1.RelationId)((processThread) => processThread.domain),
|
|
42
|
+
tslib_1.__metadata("design:type", String)
|
|
43
|
+
], ProcessThread.prototype, "domainId", void 0);
|
|
44
|
+
tslib_1.__decorate([
|
|
45
|
+
(0, typeorm_1.VersionColumn)({ default: 1 }),
|
|
46
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
47
|
+
tslib_1.__metadata("design:type", Number)
|
|
48
|
+
], ProcessThread.prototype, "version", void 0);
|
|
49
|
+
tslib_1.__decorate([
|
|
50
|
+
(0, typeorm_1.ManyToOne)(type => process_instance_1.ProcessInstance, processInstance => processInstance.processThreads),
|
|
51
|
+
(0, type_graphql_1.Field)(type => process_instance_1.ProcessInstance, { nullable: true }),
|
|
52
|
+
tslib_1.__metadata("design:type", process_instance_1.ProcessInstance)
|
|
53
|
+
], ProcessThread.prototype, "processInstance", void 0);
|
|
54
|
+
tslib_1.__decorate([
|
|
55
|
+
(0, typeorm_1.RelationId)((processThread) => processThread.processInstance),
|
|
56
|
+
tslib_1.__metadata("design:type", String)
|
|
57
|
+
], ProcessThread.prototype, "processInstanceId", void 0);
|
|
58
|
+
tslib_1.__decorate([
|
|
59
|
+
(0, typeorm_1.Column)({ nullable: true }),
|
|
60
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
61
|
+
tslib_1.__metadata("design:type", String)
|
|
62
|
+
], ProcessThread.prototype, "state", void 0);
|
|
63
|
+
tslib_1.__decorate([
|
|
64
|
+
(0, typeorm_1.Column)({ nullable: true }),
|
|
65
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
66
|
+
tslib_1.__metadata("design:type", Date)
|
|
67
|
+
], ProcessThread.prototype, "terminatedAt", void 0);
|
|
68
|
+
tslib_1.__decorate([
|
|
69
|
+
(0, typeorm_1.CreateDateColumn)(),
|
|
70
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
71
|
+
tslib_1.__metadata("design:type", Date)
|
|
72
|
+
], ProcessThread.prototype, "createdAt", void 0);
|
|
73
|
+
tslib_1.__decorate([
|
|
74
|
+
(0, typeorm_1.UpdateDateColumn)(),
|
|
75
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
76
|
+
tslib_1.__metadata("design:type", Date)
|
|
77
|
+
], ProcessThread.prototype, "updatedAt", void 0);
|
|
78
|
+
tslib_1.__decorate([
|
|
79
|
+
(0, typeorm_1.ManyToOne)(type => auth_base_1.User, { nullable: true }),
|
|
80
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
81
|
+
tslib_1.__metadata("design:type", auth_base_1.User)
|
|
82
|
+
], ProcessThread.prototype, "creator", void 0);
|
|
83
|
+
tslib_1.__decorate([
|
|
84
|
+
(0, typeorm_1.RelationId)((processThread) => processThread.creator),
|
|
85
|
+
tslib_1.__metadata("design:type", String)
|
|
86
|
+
], ProcessThread.prototype, "creatorId", void 0);
|
|
87
|
+
tslib_1.__decorate([
|
|
88
|
+
(0, typeorm_1.ManyToOne)(type => auth_base_1.User, { nullable: true }),
|
|
89
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
90
|
+
tslib_1.__metadata("design:type", auth_base_1.User)
|
|
91
|
+
], ProcessThread.prototype, "updater", void 0);
|
|
92
|
+
tslib_1.__decorate([
|
|
93
|
+
(0, typeorm_1.RelationId)((processThread) => processThread.updater),
|
|
94
|
+
tslib_1.__metadata("design:type", String)
|
|
95
|
+
], ProcessThread.prototype, "updaterId", void 0);
|
|
96
|
+
ProcessThread = tslib_1.__decorate([
|
|
97
|
+
(0, typeorm_1.Entity)(),
|
|
98
|
+
(0, type_graphql_1.ObjectType)({ description: 'Entity for ProcessThread' })
|
|
99
|
+
], ProcessThread);
|
|
100
|
+
exports.ProcessThread = ProcessThread;
|
|
101
|
+
//# sourceMappingURL=process-thread.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-thread.js","sourceRoot":"","sources":["../../../server/service/process-thread/process-thread.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 OneToMany,\n ManyToOne,\n PrimaryGeneratedColumn,\n RelationId,\n VersionColumn,\n UpdateDateColumn\n} from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { Domain, ScalarObject } from '@things-factory/shell'\n\nimport { ProcessInstance } from '../process-instance/process-instance'\n\nexport enum ProcessThreadStatus {\n Assigned = 'assigned',\n Started = 'started',\n Delegated = 'delegated',\n Submitted = 'submitted',\n Escalated = 'escalated',\n Rejected = 'rejected',\n Ended = 'ended',\n Aborted = 'aborted'\n}\n\nregisterEnumType(ProcessThreadStatus, {\n name: 'ProcessThreadStatus',\n description: 'state enumeration of a ProcessThread'\n})\n\n@Entity()\n@ObjectType({ description: 'Entity for ProcessThread' })\nexport class ProcessThread {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID)\n readonly id: string\n\n @ManyToOne(type => Domain)\n @Field({ nullable: true })\n domain?: Domain\n\n @RelationId((processThread: ProcessThread) => processThread.domain)\n domainId?: string\n\n @VersionColumn({ default: 1 })\n @Field({ nullable: true })\n version?: number = 1\n\n @ManyToOne(type => ProcessInstance, processInstance => processInstance.processThreads)\n @Field(type => ProcessInstance, { nullable: true })\n processInstance?: ProcessInstance\n\n @RelationId((processThread: ProcessThread) => processThread.processInstance)\n processInstanceId?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n state?: ProcessThreadStatus\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n terminatedAt?: 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 creator?: User\n\n @RelationId((processThread: ProcessThread) => processThread.creator)\n creatorId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n updater?: User\n\n @RelationId((processThread: ProcessThread) => processThread.updater)\n updaterId?: string\n}\n"]}
|