@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.
Files changed (212) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/assets/images/hatiolab-logo.png +0 -0
  3. package/client/actions/main.ts +1 -0
  4. package/client/bootstrap.ts +8 -0
  5. package/client/index.ts +1 -0
  6. package/client/pages/main.ts +25 -0
  7. package/client/pages/process/process-importer.ts +97 -0
  8. package/client/pages/process/process-list-page.ts +348 -0
  9. package/client/pages/process-instance/process-instance-importer.ts +97 -0
  10. package/client/pages/process-instance/process-instance-list-page.ts +348 -0
  11. package/client/pages/process-thread/process-thread-importer.ts +97 -0
  12. package/client/pages/process-thread/process-thread-list-page.ts +348 -0
  13. package/client/reducers/main.ts +17 -0
  14. package/client/route.ts +19 -0
  15. package/client/tsconfig.json +11 -0
  16. package/dist-client/actions/main.d.ts +1 -0
  17. package/dist-client/actions/main.js +2 -0
  18. package/dist-client/actions/main.js.map +1 -0
  19. package/dist-client/bootstrap.d.ts +1 -0
  20. package/dist-client/bootstrap.js +8 -0
  21. package/dist-client/bootstrap.js.map +1 -0
  22. package/dist-client/index.d.ts +1 -0
  23. package/dist-client/index.js +2 -0
  24. package/dist-client/index.js.map +1 -0
  25. package/dist-client/pages/main.d.ts +1 -0
  26. package/dist-client/pages/main.js +27 -0
  27. package/dist-client/pages/main.js.map +1 -0
  28. package/dist-client/pages/process/process-importer.d.ts +22 -0
  29. package/dist-client/pages/process/process-importer.js +100 -0
  30. package/dist-client/pages/process/process-importer.js.map +1 -0
  31. package/dist-client/pages/process/process-list-page.d.ts +62 -0
  32. package/dist-client/pages/process/process-list-page.js +326 -0
  33. package/dist-client/pages/process/process-list-page.js.map +1 -0
  34. package/dist-client/pages/process-instance/process-instance-importer.d.ts +22 -0
  35. package/dist-client/pages/process-instance/process-instance-importer.js +100 -0
  36. package/dist-client/pages/process-instance/process-instance-importer.js.map +1 -0
  37. package/dist-client/pages/process-instance/process-instance-list-page.d.ts +62 -0
  38. package/dist-client/pages/process-instance/process-instance-list-page.js +326 -0
  39. package/dist-client/pages/process-instance/process-instance-list-page.js.map +1 -0
  40. package/dist-client/pages/process-thread/process-thread-importer.d.ts +22 -0
  41. package/dist-client/pages/process-thread/process-thread-importer.js +100 -0
  42. package/dist-client/pages/process-thread/process-thread-importer.js.map +1 -0
  43. package/dist-client/pages/process-thread/process-thread-list-page.d.ts +62 -0
  44. package/dist-client/pages/process-thread/process-thread-list-page.js +326 -0
  45. package/dist-client/pages/process-thread/process-thread-list-page.js.map +1 -0
  46. package/dist-client/reducers/main.d.ts +6 -0
  47. package/dist-client/reducers/main.js +14 -0
  48. package/dist-client/reducers/main.js.map +1 -0
  49. package/dist-client/route.d.ts +1 -0
  50. package/dist-client/route.js +17 -0
  51. package/dist-client/route.js.map +1 -0
  52. package/dist-client/tsconfig.tsbuildinfo +1 -0
  53. package/dist-server/controllers/common.js +70 -0
  54. package/dist-server/controllers/common.js.map +1 -0
  55. package/dist-server/controllers/index.js +1 -0
  56. package/dist-server/controllers/index.js.map +1 -0
  57. package/dist-server/controllers/process-instance/abort.js +54 -0
  58. package/dist-server/controllers/process-instance/abort.js.map +1 -0
  59. package/dist-server/controllers/process-instance/assign.js +41 -0
  60. package/dist-server/controllers/process-instance/assign.js.map +1 -0
  61. package/dist-server/controllers/process-instance/draft.js +74 -0
  62. package/dist-server/controllers/process-instance/draft.js.map +1 -0
  63. package/dist-server/controllers/process-instance/end.js +54 -0
  64. package/dist-server/controllers/process-instance/end.js.map +1 -0
  65. package/dist-server/controllers/process-instance/index.js +6 -0
  66. package/dist-server/controllers/process-instance/index.js.map +1 -0
  67. package/dist-server/controllers/process-instance/issue.js +105 -0
  68. package/dist-server/controllers/process-instance/issue.js.map +1 -0
  69. package/dist-server/controllers/process-instance/pick.js +33 -0
  70. package/dist-server/controllers/process-instance/pick.js.map +1 -0
  71. package/dist-server/controllers/process-thread/_abort.js +11 -0
  72. package/dist-server/controllers/process-thread/_abort.js.map +1 -0
  73. package/dist-server/controllers/process-thread/abort.js +36 -0
  74. package/dist-server/controllers/process-thread/abort.js.map +1 -0
  75. package/dist-server/controllers/process-thread/delegate.js +36 -0
  76. package/dist-server/controllers/process-thread/delegate.js.map +1 -0
  77. package/dist-server/controllers/process-thread/end.js +35 -0
  78. package/dist-server/controllers/process-thread/end.js.map +1 -0
  79. package/dist-server/controllers/process-thread/index.js +7 -0
  80. package/dist-server/controllers/process-thread/index.js.map +1 -0
  81. package/dist-server/controllers/process-thread/restart.js +36 -0
  82. package/dist-server/controllers/process-thread/restart.js.map +1 -0
  83. package/dist-server/controllers/process-thread/save.js +38 -0
  84. package/dist-server/controllers/process-thread/save.js.map +1 -0
  85. package/dist-server/controllers/process-thread/start.js +32 -0
  86. package/dist-server/controllers/process-thread/start.js.map +1 -0
  87. package/dist-server/controllers/process-thread/submit.js +37 -0
  88. package/dist-server/controllers/process-thread/submit.js.map +1 -0
  89. package/dist-server/index.js +7 -0
  90. package/dist-server/index.js.map +1 -0
  91. package/dist-server/middlewares/index.js +8 -0
  92. package/dist-server/middlewares/index.js.map +1 -0
  93. package/dist-server/migrations/index.js +12 -0
  94. package/dist-server/migrations/index.js.map +1 -0
  95. package/dist-server/routes.js +25 -0
  96. package/dist-server/routes.js.map +1 -0
  97. package/dist-server/service/index.js +33 -0
  98. package/dist-server/service/index.js.map +1 -0
  99. package/dist-server/service/process/event-subscriber.js +21 -0
  100. package/dist-server/service/process/event-subscriber.js.map +1 -0
  101. package/dist-server/service/process/index.js +12 -0
  102. package/dist-server/service/process/index.js.map +1 -0
  103. package/dist-server/service/process/process-history.js +113 -0
  104. package/dist-server/service/process/process-history.js.map +1 -0
  105. package/dist-server/service/process/process-model-type.js +138 -0
  106. package/dist-server/service/process/process-model-type.js.map +1 -0
  107. package/dist-server/service/process/process-mutation.js +179 -0
  108. package/dist-server/service/process/process-mutation.js.map +1 -0
  109. package/dist-server/service/process/process-query.js +160 -0
  110. package/dist-server/service/process/process-query.js.map +1 -0
  111. package/dist-server/service/process/process-search-key-item-type.js +28 -0
  112. package/dist-server/service/process/process-search-key-item-type.js.map +1 -0
  113. package/dist-server/service/process/process-type.js +91 -0
  114. package/dist-server/service/process/process-type.js.map +1 -0
  115. package/dist-server/service/process/process.js +112 -0
  116. package/dist-server/service/process/process.js.map +1 -0
  117. package/dist-server/service/process-instance/event-subscriber.js +43 -0
  118. package/dist-server/service/process-instance/event-subscriber.js.map +1 -0
  119. package/dist-server/service/process-instance/index.js +13 -0
  120. package/dist-server/service/process-instance/index.js.map +1 -0
  121. package/dist-server/service/process-instance/process-instance-history.js +173 -0
  122. package/dist-server/service/process-instance/process-instance-history.js.map +1 -0
  123. package/dist-server/service/process-instance/process-instance-mutation.js +44 -0
  124. package/dist-server/service/process-instance/process-instance-mutation.js.map +1 -0
  125. package/dist-server/service/process-instance/process-instance-query.js +176 -0
  126. package/dist-server/service/process-instance/process-instance-query.js.map +1 -0
  127. package/dist-server/service/process-instance/process-instance-subscription.js +54 -0
  128. package/dist-server/service/process-instance/process-instance-subscription.js.map +1 -0
  129. package/dist-server/service/process-instance/process-instance-type.js +103 -0
  130. package/dist-server/service/process-instance/process-instance-type.js.map +1 -0
  131. package/dist-server/service/process-instance/process-instance.js +177 -0
  132. package/dist-server/service/process-instance/process-instance.js.map +1 -0
  133. package/dist-server/service/process-stats/index.js +6 -0
  134. package/dist-server/service/process-stats/index.js.map +1 -0
  135. package/dist-server/service/process-stats/process-stats-query.js +61 -0
  136. package/dist-server/service/process-stats/process-stats-query.js.map +1 -0
  137. package/dist-server/service/process-stats/process-stats-type.js +43 -0
  138. package/dist-server/service/process-stats/process-stats-type.js.map +1 -0
  139. package/dist-server/service/process-summary/index.js +8 -0
  140. package/dist-server/service/process-summary/index.js.map +1 -0
  141. package/dist-server/service/process-summary/process-summary-query.js +109 -0
  142. package/dist-server/service/process-summary/process-summary-query.js.map +1 -0
  143. package/dist-server/service/process-summary/process-summary.js +28 -0
  144. package/dist-server/service/process-summary/process-summary.js.map +1 -0
  145. package/dist-server/service/process-thread/event-subscriber.js +31 -0
  146. package/dist-server/service/process-thread/event-subscriber.js.map +1 -0
  147. package/dist-server/service/process-thread/index.js +12 -0
  148. package/dist-server/service/process-thread/index.js.map +1 -0
  149. package/dist-server/service/process-thread/process-thread-history.js +194 -0
  150. package/dist-server/service/process-thread/process-thread-history.js.map +1 -0
  151. package/dist-server/service/process-thread/process-thread-mutation.js +45 -0
  152. package/dist-server/service/process-thread/process-thread-mutation.js.map +1 -0
  153. package/dist-server/service/process-thread/process-thread-query.js +92 -0
  154. package/dist-server/service/process-thread/process-thread-query.js.map +1 -0
  155. package/dist-server/service/process-thread/process-thread-subscription.js +45 -0
  156. package/dist-server/service/process-thread/process-thread-subscription.js.map +1 -0
  157. package/dist-server/service/process-thread/process-thread-type.js +21 -0
  158. package/dist-server/service/process-thread/process-thread-type.js.map +1 -0
  159. package/dist-server/service/process-thread/process-thread.js +101 -0
  160. package/dist-server/service/process-thread/process-thread.js.map +1 -0
  161. package/dist-server/tsconfig.tsbuildinfo +1 -0
  162. package/helps/process/process-instance.md +160 -0
  163. package/helps/process/process-thread.md +160 -0
  164. package/helps/process/process.md +160 -0
  165. package/package.json +44 -0
  166. package/server/controllers/common.ts +90 -0
  167. package/server/controllers/index.ts +0 -0
  168. package/server/controllers/process-instance/abort.ts +75 -0
  169. package/server/controllers/process-instance/end.ts +74 -0
  170. package/server/controllers/process-instance/index.ts +2 -0
  171. package/server/controllers/process-thread/_abort.ts +20 -0
  172. package/server/controllers/process-thread/abort.ts +48 -0
  173. package/server/controllers/process-thread/end.ts +54 -0
  174. package/server/controllers/process-thread/index.ts +3 -0
  175. package/server/controllers/process-thread/start.ts +49 -0
  176. package/server/index.ts +4 -0
  177. package/server/middlewares/index.ts +3 -0
  178. package/server/migrations/index.ts +9 -0
  179. package/server/routes.ts +28 -0
  180. package/server/service/index.ts +32 -0
  181. package/server/service/process/event-subscriber.ts +17 -0
  182. package/server/service/process/index.ts +9 -0
  183. package/server/service/process/process-history.ts +102 -0
  184. package/server/service/process/process-mutation.ts +210 -0
  185. package/server/service/process/process-query.ts +117 -0
  186. package/server/service/process/process-search-key-item-type.ts +16 -0
  187. package/server/service/process/process-type.ts +65 -0
  188. package/server/service/process/process.ts +97 -0
  189. package/server/service/process-instance/event-subscriber.ts +44 -0
  190. package/server/service/process-instance/index.ts +10 -0
  191. package/server/service/process-instance/process-instance-history.ts +148 -0
  192. package/server/service/process-instance/process-instance-mutation.ts +33 -0
  193. package/server/service/process-instance/process-instance-query.ts +138 -0
  194. package/server/service/process-instance/process-instance-subscription.ts +52 -0
  195. package/server/service/process-instance/process-instance-type.ts +71 -0
  196. package/server/service/process-instance/process-instance.ts +147 -0
  197. package/server/service/process-stats/index.ts +3 -0
  198. package/server/service/process-stats/process-stats-query.ts +57 -0
  199. package/server/service/process-stats/process-stats-type.ts +31 -0
  200. package/server/service/process-thread/event-subscriber.ts +31 -0
  201. package/server/service/process-thread/index.ts +9 -0
  202. package/server/service/process-thread/process-thread-mutation.ts +34 -0
  203. package/server/service/process-thread/process-thread-query.ts +58 -0
  204. package/server/service/process-thread/process-thread-subscription.ts +41 -0
  205. package/server/service/process-thread/process-thread-type.ts +15 -0
  206. package/server/service/process-thread/process-thread.ts +90 -0
  207. package/server/tsconfig.json +10 -0
  208. package/things-factory.config.js +13 -0
  209. package/translations/en.json +1 -0
  210. package/translations/ko.json +1 -0
  211. package/translations/ms.json +1 -0
  212. 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"]}