@things-factory/worklist 10.1.249 → 10.1.250

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 (51) hide show
  1. package/dist-client/approval-progress.d.ts +11 -2
  2. package/dist-client/approval-progress.js +19 -8
  3. package/dist-client/approval-progress.js.map +1 -1
  4. package/dist-client/pages/activity-approval/activity-approval-page.js +1 -0
  5. package/dist-client/pages/activity-approval/activity-approval-page.js.map +1 -1
  6. package/dist-client/pages/activity-instance/activity-instance-view.js +1 -0
  7. package/dist-client/pages/activity-instance/activity-instance-view.js.map +1 -1
  8. package/dist-client/pages/activity-thread/activity-thread-page.js +1 -0
  9. package/dist-client/pages/activity-thread/activity-thread-page.js.map +1 -1
  10. package/dist-client/pages/activity-thread/activity-thread-view-page.js +1 -0
  11. package/dist-client/pages/activity-thread/activity-thread-view-page.js.map +1 -1
  12. package/dist-client/pages/approval-progress/approval-progress-page.d.ts +46 -0
  13. package/dist-client/pages/approval-progress/approval-progress-page.js +294 -0
  14. package/dist-client/pages/approval-progress/approval-progress-page.js.map +1 -0
  15. package/dist-client/route.d.ts +1 -1
  16. package/dist-client/route.js +3 -0
  17. package/dist-client/route.js.map +1 -1
  18. package/dist-client/tsconfig.tsbuildinfo +1 -1
  19. package/dist-server/controllers/activity-approval/approval-line.d.ts +2 -2
  20. package/dist-server/controllers/activity-approval/approval-line.js +5 -6
  21. package/dist-server/controllers/activity-approval/approval-line.js.map +1 -1
  22. package/dist-server/service/approval-progress/approval-progress-query.d.ts +14 -0
  23. package/dist-server/service/approval-progress/approval-progress-query.js +142 -0
  24. package/dist-server/service/approval-progress/approval-progress-query.js.map +1 -0
  25. package/dist-server/service/approval-progress/approval-progress-rule.d.ts +67 -0
  26. package/dist-server/service/approval-progress/approval-progress-rule.js +102 -0
  27. package/dist-server/service/approval-progress/approval-progress-rule.js.map +1 -0
  28. package/dist-server/service/approval-progress/approval-progress-type.d.ts +44 -0
  29. package/dist-server/service/approval-progress/approval-progress-type.js +172 -0
  30. package/dist-server/service/approval-progress/approval-progress-type.js.map +1 -0
  31. package/dist-server/service/approval-progress/index.d.ts +2 -0
  32. package/dist-server/service/approval-progress/index.js +6 -0
  33. package/dist-server/service/approval-progress/index.js.map +1 -0
  34. package/dist-server/service/approval-progress/waiting-on.d.ts +15 -0
  35. package/dist-server/service/approval-progress/waiting-on.js +40 -0
  36. package/dist-server/service/approval-progress/waiting-on.js.map +1 -0
  37. package/dist-server/service/index.d.ts +2 -1
  38. package/dist-server/service/index.js +7 -2
  39. package/dist-server/service/index.js.map +1 -1
  40. package/dist-server/tsconfig.tsbuildinfo +1 -1
  41. package/package.json +10 -10
  42. package/shared/approval-step.d.ts +21 -0
  43. package/shared/approval-step.js +55 -0
  44. package/tests/approval-progress-db.test.ts +143 -0
  45. package/things-factory.config.js +1 -0
  46. package/translations/en.json +20 -1
  47. package/translations/es.json +20 -1
  48. package/translations/ja.json +20 -1
  49. package/translations/ko.json +20 -1
  50. package/translations/ms.json +20 -1
  51. package/translations/zh.json +20 -1
@@ -0,0 +1,172 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ApprovalProgressList = exports.ApprovalProgressKind = exports.ApprovalProgressStateCount = exports.ApprovalProgress = exports.ApprovalProgressFilter = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const type_graphql_1 = require("type-graphql");
6
+ let ApprovalProgressFilter = class ApprovalProgressFilter {
7
+ };
8
+ exports.ApprovalProgressFilter = ApprovalProgressFilter;
9
+ tslib_1.__decorate([
10
+ (0, type_graphql_1.Field)(type => [String], { nullable: true, description: 'The kinds - activity names (an office door is its activity).' }),
11
+ tslib_1.__metadata("design:type", Array)
12
+ ], ApprovalProgressFilter.prototype, "activityNames", void 0);
13
+ tslib_1.__decorate([
14
+ (0, type_graphql_1.Field)(type => [String], { nullable: true, description: 'The states - PENDING, APPROVED, REJECTED, ABORTED.' }),
15
+ tslib_1.__metadata("design:type", Array)
16
+ ], ApprovalProgressFilter.prototype, "states", void 0);
17
+ tslib_1.__decorate([
18
+ (0, type_graphql_1.Field)(type => [String], { nullable: true, description: "The requester's departments (organization)." }),
19
+ tslib_1.__metadata("design:type", Array)
20
+ ], ApprovalProgressFilter.prototype, "departmentIds", void 0);
21
+ tslib_1.__decorate([
22
+ (0, type_graphql_1.Field)({ nullable: true, description: 'Raised on or after this moment.' }),
23
+ tslib_1.__metadata("design:type", Date)
24
+ ], ApprovalProgressFilter.prototype, "from", void 0);
25
+ tslib_1.__decorate([
26
+ (0, type_graphql_1.Field)({ nullable: true, description: 'Raised before this moment.' }),
27
+ tslib_1.__metadata("design:type", Date)
28
+ ], ApprovalProgressFilter.prototype, "to", void 0);
29
+ tslib_1.__decorate([
30
+ (0, type_graphql_1.Field)({ nullable: true, description: 'Only what still waits past its due time.' }),
31
+ tslib_1.__metadata("design:type", Boolean)
32
+ ], ApprovalProgressFilter.prototype, "overdueOnly", void 0);
33
+ tslib_1.__decorate([
34
+ (0, type_graphql_1.Field)({ nullable: true, description: 'Words in the headline or the requester name.' }),
35
+ tslib_1.__metadata("design:type", String)
36
+ ], ApprovalProgressFilter.prototype, "search", void 0);
37
+ exports.ApprovalProgressFilter = ApprovalProgressFilter = tslib_1.__decorate([
38
+ (0, type_graphql_1.InputType)({ description: 'What the approval progress list shows - every condition is optional.' })
39
+ ], ApprovalProgressFilter);
40
+ let ApprovalProgress = class ApprovalProgress {
41
+ };
42
+ exports.ApprovalProgress = ApprovalProgress;
43
+ tslib_1.__decorate([
44
+ (0, type_graphql_1.Field)(type => type_graphql_1.ID, { description: 'The activity instance.' }),
45
+ tslib_1.__metadata("design:type", String)
46
+ ], ApprovalProgress.prototype, "id", void 0);
47
+ tslib_1.__decorate([
48
+ (0, type_graphql_1.Field)({ description: 'The kind - the activity name.' }),
49
+ tslib_1.__metadata("design:type", String)
50
+ ], ApprovalProgress.prototype, "activityName", void 0);
51
+ tslib_1.__decorate([
52
+ (0, type_graphql_1.Field)({ nullable: true, description: 'The kind as a person reads it - the activity label.' }),
53
+ tslib_1.__metadata("design:type", String)
54
+ ], ApprovalProgress.prototype, "activityLabel", void 0);
55
+ tslib_1.__decorate([
56
+ (0, type_graphql_1.Field)({ nullable: true, description: 'The i18n key the kind label is translated from.' }),
57
+ tslib_1.__metadata("design:type", String)
58
+ ], ApprovalProgress.prototype, "activityLabelTKey", void 0);
59
+ tslib_1.__decorate([
60
+ (0, type_graphql_1.Field)({ description: 'What the approver reads first - the instance name.' }),
61
+ tslib_1.__metadata("design:type", String)
62
+ ], ApprovalProgress.prototype, "headline", void 0);
63
+ tslib_1.__decorate([
64
+ (0, type_graphql_1.Field)({ nullable: true, description: 'Who put it up for approval.' }),
65
+ tslib_1.__metadata("design:type", String)
66
+ ], ApprovalProgress.prototype, "requesterName", void 0);
67
+ tslib_1.__decorate([
68
+ (0, type_graphql_1.Field)({ nullable: true, description: "The requester's department now." }),
69
+ tslib_1.__metadata("design:type", String)
70
+ ], ApprovalProgress.prototype, "departmentName", void 0);
71
+ tslib_1.__decorate([
72
+ (0, type_graphql_1.Field)({ description: 'PENDING, APPROVED, REJECTED or ABORTED.' }),
73
+ tslib_1.__metadata("design:type", String)
74
+ ], ApprovalProgress.prototype, "state", void 0);
75
+ tslib_1.__decorate([
76
+ (0, type_graphql_1.Field)(type => type_graphql_1.Int, { nullable: true, description: 'The deciding step waited on now, from 1.' }),
77
+ tslib_1.__metadata("design:type", Number)
78
+ ], ApprovalProgress.prototype, "step", void 0);
79
+ tslib_1.__decorate([
80
+ (0, type_graphql_1.Field)(type => type_graphql_1.Int, { description: 'How many deciding steps the line has.' }),
81
+ tslib_1.__metadata("design:type", Number)
82
+ ], ApprovalProgress.prototype, "steps", void 0);
83
+ tslib_1.__decorate([
84
+ (0, type_graphql_1.Field)(type => [String], { description: 'Whom the step waited on now waits on - people, and a role as its holders.' }),
85
+ tslib_1.__metadata("design:type", Array)
86
+ ], ApprovalProgress.prototype, "waitingOn", void 0);
87
+ tslib_1.__decorate([
88
+ (0, type_graphql_1.Field)({ nullable: true, description: 'The role the step waited on now is seated by, if any.' }),
89
+ tslib_1.__metadata("design:type", String)
90
+ ], ApprovalProgress.prototype, "waitingRole", void 0);
91
+ tslib_1.__decorate([
92
+ (0, type_graphql_1.Field)({ nullable: true, description: 'Since when the step waited on now has waited.' }),
93
+ tslib_1.__metadata("design:type", Date)
94
+ ], ApprovalProgress.prototype, "waitingSince", void 0);
95
+ tslib_1.__decorate([
96
+ (0, type_graphql_1.Field)({ nullable: true, description: 'When it is due.' }),
97
+ tslib_1.__metadata("design:type", Date)
98
+ ], ApprovalProgress.prototype, "dueAt", void 0);
99
+ tslib_1.__decorate([
100
+ (0, type_graphql_1.Field)({ description: 'Still waiting past its due time.' }),
101
+ tslib_1.__metadata("design:type", Boolean)
102
+ ], ApprovalProgress.prototype, "overdue", void 0);
103
+ tslib_1.__decorate([
104
+ (0, type_graphql_1.Field)({ nullable: true, description: 'When it was first put up for approval.' }),
105
+ tslib_1.__metadata("design:type", Date)
106
+ ], ApprovalProgress.prototype, "raisedAt", void 0);
107
+ tslib_1.__decorate([
108
+ (0, type_graphql_1.Field)({ nullable: true, description: 'When it ended.' }),
109
+ tslib_1.__metadata("design:type", Date)
110
+ ], ApprovalProgress.prototype, "endedAt", void 0);
111
+ exports.ApprovalProgress = ApprovalProgress = tslib_1.__decorate([
112
+ (0, type_graphql_1.ObjectType)({ description: 'One approval case and where it stands.' })
113
+ ], ApprovalProgress);
114
+ let ApprovalProgressStateCount = class ApprovalProgressStateCount {
115
+ };
116
+ exports.ApprovalProgressStateCount = ApprovalProgressStateCount;
117
+ tslib_1.__decorate([
118
+ (0, type_graphql_1.Field)({ description: 'The state.' }),
119
+ tslib_1.__metadata("design:type", String)
120
+ ], ApprovalProgressStateCount.prototype, "state", void 0);
121
+ tslib_1.__decorate([
122
+ (0, type_graphql_1.Field)(type => type_graphql_1.Int, { description: 'How many, under the other conditions.' }),
123
+ tslib_1.__metadata("design:type", Number)
124
+ ], ApprovalProgressStateCount.prototype, "count", void 0);
125
+ exports.ApprovalProgressStateCount = ApprovalProgressStateCount = tslib_1.__decorate([
126
+ (0, type_graphql_1.ObjectType)({ description: 'How many approvals stand in one state.' })
127
+ ], ApprovalProgressStateCount);
128
+ let ApprovalProgressKind = class ApprovalProgressKind {
129
+ };
130
+ exports.ApprovalProgressKind = ApprovalProgressKind;
131
+ tslib_1.__decorate([
132
+ (0, type_graphql_1.Field)({ description: 'The activity name.' }),
133
+ tslib_1.__metadata("design:type", String)
134
+ ], ApprovalProgressKind.prototype, "name", void 0);
135
+ tslib_1.__decorate([
136
+ (0, type_graphql_1.Field)({ description: 'The activity label.' }),
137
+ tslib_1.__metadata("design:type", String)
138
+ ], ApprovalProgressKind.prototype, "label", void 0);
139
+ tslib_1.__decorate([
140
+ (0, type_graphql_1.Field)({ description: 'The i18n key the label is translated from.' }),
141
+ tslib_1.__metadata("design:type", String)
142
+ ], ApprovalProgressKind.prototype, "labelTKey", void 0);
143
+ exports.ApprovalProgressKind = ApprovalProgressKind = tslib_1.__decorate([
144
+ (0, type_graphql_1.ObjectType)({ description: 'A kind of approval that has a case in this domain.' })
145
+ ], ApprovalProgressKind);
146
+ let ApprovalProgressList = class ApprovalProgressList {
147
+ };
148
+ exports.ApprovalProgressList = ApprovalProgressList;
149
+ tslib_1.__decorate([
150
+ (0, type_graphql_1.Field)(type => [ApprovalProgress], { description: 'The page asked for.' }),
151
+ tslib_1.__metadata("design:type", Array)
152
+ ], ApprovalProgressList.prototype, "items", void 0);
153
+ tslib_1.__decorate([
154
+ (0, type_graphql_1.Field)(type => [ApprovalProgressKind], { description: 'The kinds with a case here, whatever the filter.' }),
155
+ tslib_1.__metadata("design:type", Array)
156
+ ], ApprovalProgressList.prototype, "kinds", void 0);
157
+ tslib_1.__decorate([
158
+ (0, type_graphql_1.Field)(type => type_graphql_1.Int, { description: 'How many pass the filter.' }),
159
+ tslib_1.__metadata("design:type", Number)
160
+ ], ApprovalProgressList.prototype, "total", void 0);
161
+ tslib_1.__decorate([
162
+ (0, type_graphql_1.Field)(type => [ApprovalProgressStateCount], { description: 'How many stand in each state, under the other conditions.' }),
163
+ tslib_1.__metadata("design:type", Array)
164
+ ], ApprovalProgressList.prototype, "counts", void 0);
165
+ tslib_1.__decorate([
166
+ (0, type_graphql_1.Field)(type => type_graphql_1.Int, { description: 'How many still wait past their due time, under the other conditions.' }),
167
+ tslib_1.__metadata("design:type", Number)
168
+ ], ApprovalProgressList.prototype, "overdue", void 0);
169
+ exports.ApprovalProgressList = ApprovalProgressList = tslib_1.__decorate([
170
+ (0, type_graphql_1.ObjectType)({ description: 'The approvals of a domain and where each stands.' })
171
+ ], ApprovalProgressList);
172
+ //# sourceMappingURL=approval-progress-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"approval-progress-type.js","sourceRoot":"","sources":["../../../server/service/approval-progress/approval-progress-type.ts"],"names":[],"mappings":"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","sourcesContent":["import { Field, ID, InputType, Int, ObjectType } from 'type-graphql'\n\n@InputType({ description: 'What the approval progress list shows - every condition is optional.' })\nexport class ApprovalProgressFilter {\n @Field(type => [String], { nullable: true, description: 'The kinds - activity names (an office door is its activity).' })\n activityNames?: string[]\n\n @Field(type => [String], { nullable: true, description: 'The states - PENDING, APPROVED, REJECTED, ABORTED.' })\n states?: string[]\n\n @Field(type => [String], { nullable: true, description: \"The requester's departments (organization).\" })\n departmentIds?: string[]\n\n @Field({ nullable: true, description: 'Raised on or after this moment.' })\n from?: Date\n\n @Field({ nullable: true, description: 'Raised before this moment.' })\n to?: Date\n\n @Field({ nullable: true, description: 'Only what still waits past its due time.' })\n overdueOnly?: boolean\n\n @Field({ nullable: true, description: 'Words in the headline or the requester name.' })\n search?: string\n}\n\n@ObjectType({ description: 'One approval case and where it stands.' })\nexport class ApprovalProgress {\n @Field(type => ID, { description: 'The activity instance.' })\n id: string\n\n @Field({ description: 'The kind - the activity name.' })\n activityName: string\n\n @Field({ nullable: true, description: 'The kind as a person reads it - the activity label.' })\n activityLabel?: string\n\n @Field({ nullable: true, description: 'The i18n key the kind label is translated from.' })\n activityLabelTKey?: string\n\n @Field({ description: 'What the approver reads first - the instance name.' })\n headline: string\n\n @Field({ nullable: true, description: 'Who put it up for approval.' })\n requesterName?: string\n\n @Field({ nullable: true, description: \"The requester's department now.\" })\n departmentName?: string\n\n @Field({ description: 'PENDING, APPROVED, REJECTED or ABORTED.' })\n state: string\n\n @Field(type => Int, { nullable: true, description: 'The deciding step waited on now, from 1.' })\n step?: number\n\n @Field(type => Int, { description: 'How many deciding steps the line has.' })\n steps: number\n\n @Field(type => [String], { description: 'Whom the step waited on now waits on - people, and a role as its holders.' })\n waitingOn: string[]\n\n @Field({ nullable: true, description: 'The role the step waited on now is seated by, if any.' })\n waitingRole?: string\n\n @Field({ nullable: true, description: 'Since when the step waited on now has waited.' })\n waitingSince?: Date\n\n @Field({ nullable: true, description: 'When it is due.' })\n dueAt?: Date\n\n @Field({ description: 'Still waiting past its due time.' })\n overdue: boolean\n\n @Field({ nullable: true, description: 'When it was first put up for approval.' })\n raisedAt?: Date\n\n @Field({ nullable: true, description: 'When it ended.' })\n endedAt?: Date\n}\n\n@ObjectType({ description: 'How many approvals stand in one state.' })\nexport class ApprovalProgressStateCount {\n @Field({ description: 'The state.' })\n state: string\n\n @Field(type => Int, { description: 'How many, under the other conditions.' })\n count: number\n}\n\n@ObjectType({ description: 'A kind of approval that has a case in this domain.' })\nexport class ApprovalProgressKind {\n @Field({ description: 'The activity name.' })\n name: string\n\n @Field({ description: 'The activity label.' })\n label: string\n\n @Field({ description: 'The i18n key the label is translated from.' })\n labelTKey: string\n}\n\n@ObjectType({ description: 'The approvals of a domain and where each stands.' })\nexport class ApprovalProgressList {\n @Field(type => [ApprovalProgress], { description: 'The page asked for.' })\n items: ApprovalProgress[]\n\n @Field(type => [ApprovalProgressKind], { description: 'The kinds with a case here, whatever the filter.' })\n kinds: ApprovalProgressKind[]\n\n @Field(type => Int, { description: 'How many pass the filter.' })\n total: number\n\n @Field(type => [ApprovalProgressStateCount], { description: 'How many stand in each state, under the other conditions.' })\n counts: ApprovalProgressStateCount[]\n\n @Field(type => Int, { description: 'How many still wait past their due time, under the other conditions.' })\n overdue: number\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import { ApprovalProgressQuery } from './approval-progress-query.js';
2
+ export declare const resolvers: (typeof ApprovalProgressQuery)[];
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolvers = void 0;
4
+ const approval_progress_query_js_1 = require("./approval-progress-query.js");
5
+ exports.resolvers = [approval_progress_query_js_1.ApprovalProgressQuery];
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/service/approval-progress/index.ts"],"names":[],"mappings":";;;AAAA,6EAAoE;AAEvD,QAAA,SAAS,GAAG,CAAC,kDAAqB,CAAC,CAAA","sourcesContent":["import { ApprovalProgressQuery } from './approval-progress-query.js'\n\nexport const resolvers = [ApprovalProgressQuery]\n"]}
@@ -0,0 +1,15 @@
1
+ import { EntityManager } from 'typeorm';
2
+ import { ProgressApprovalRow } from './approval-progress-rule.js';
3
+ /**
4
+ * Whom the step waited on now waits on, as names: a person's seat names that person, a role's seat names everyone holding
5
+ * the role (ADR-0183 decision 2). The rows are the step's own (`progressOf(...).waiting`).
6
+ */
7
+ export declare function namesWaitedOn(manager: EntityManager, rows: ProgressApprovalRow[]): Promise<{
8
+ names: string[];
9
+ roleName?: string;
10
+ }>;
11
+ /**
12
+ * Whom a case waits on now, by its activity instance — the names a screen puts beside a waiting request (Office's
13
+ * approval doors). Empty when nothing waits.
14
+ */
15
+ export declare function waitingOn(manager: EntityManager, instanceId: string): Promise<string[]>;
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.namesWaitedOn = namesWaitedOn;
4
+ exports.waitingOn = waitingOn;
5
+ const typeorm_1 = require("typeorm");
6
+ const auth_base_1 = require("@things-factory/auth-base");
7
+ const approval_step_js_1 = require("../../../shared/approval-step.js");
8
+ const activity_approval_js_1 = require("../activity-approval/activity-approval.js");
9
+ /**
10
+ * Whom the step waited on now waits on, as names: a person's seat names that person, a role's seat names everyone holding
11
+ * the role (ADR-0183 decision 2). The rows are the step's own (`progressOf(...).waiting`).
12
+ */
13
+ async function namesWaitedOn(manager, rows) {
14
+ const userIds = rows.map(row => row.approverId).filter(Boolean);
15
+ const roleIds = rows.filter(row => !row.approverId && row.approverRoleId).map(row => row.approverRoleId);
16
+ const people = userIds.length ? await manager.getRepository(auth_base_1.User).find({ where: { id: (0, typeorm_1.In)(userIds) } }) : [];
17
+ const holders = roleIds.length
18
+ ? await manager.getRepository(auth_base_1.User).createQueryBuilder('u').innerJoin('u.roles', 'r', 'r.id IN (:...roleIds)', { roleIds }).getMany()
19
+ : [];
20
+ const roles = roleIds.length ? await manager.getRepository(auth_base_1.Role).find({ where: { id: (0, typeorm_1.In)(roleIds) } }) : [];
21
+ return {
22
+ names: [...new Map([...people, ...holders].map(one => [one.id, one.name])).values()],
23
+ roleName: roles.map(role => role.name).join(', ') || undefined
24
+ };
25
+ }
26
+ /**
27
+ * Whom a case waits on now, by its activity instance — the names a screen puts beside a waiting request (Office's
28
+ * approval doors). Empty when nothing waits.
29
+ */
30
+ async function waitingOn(manager, instanceId) {
31
+ const rows = await manager
32
+ .getRepository(activity_approval_js_1.ActivityApproval)
33
+ .createQueryBuilder('ap')
34
+ .innerJoin('ap.activityThread', 'at')
35
+ .innerJoin('at.activityInstance', 'ai')
36
+ .where('ai.id = :instanceId', { instanceId })
37
+ .getMany();
38
+ return (await namesWaitedOn(manager, (0, approval_step_js_1.currentStepRows)(rows))).names;
39
+ }
40
+ //# sourceMappingURL=waiting-on.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waiting-on.js","sourceRoot":"","sources":["../../../server/service/approval-progress/waiting-on.ts"],"names":[],"mappings":";;AAYA,sCAcC;AAMD,8BAUC;AA1CD,qCAA2C;AAE3C,yDAAsD;AAEtD,uEAAkE;AAClE,oFAA4E;AAG5E;;;GAGG;AACI,KAAK,UAAU,aAAa,CAAC,OAAsB,EAAE,IAA2B;IACrF,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAa,CAAA;IAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,cAAe,CAAa,CAAA;IAErH,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,aAAa,CAAC,gBAAI,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,IAAA,YAAE,EAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC3G,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM;QAC5B,CAAC,CAAC,MAAM,OAAO,CAAC,aAAa,CAAC,gBAAI,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,EAAE,uBAAuB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;QACrI,CAAC,CAAC,EAAE,CAAA;IACN,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,aAAa,CAAC,gBAAI,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,IAAA,YAAE,EAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAE1G,OAAO;QACL,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QACpF,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,SAAS;KAC/D,CAAA;AACH,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,SAAS,CAAC,OAAsB,EAAE,UAAkB;IACxE,MAAM,IAAI,GAAG,MAAM,OAAO;SACvB,aAAa,CAAC,uCAAgB,CAAC;SAC/B,kBAAkB,CAAC,IAAI,CAAC;SACxB,SAAS,CAAC,mBAAmB,EAAE,IAAI,CAAC;SACpC,SAAS,CAAC,qBAAqB,EAAE,IAAI,CAAC;SACtC,KAAK,CAAC,qBAAqB,EAAE,EAAE,UAAU,EAAE,CAAC;SAC5C,OAAO,EAAE,CAAA;IAEZ,OAAO,CAAC,MAAM,aAAa,CAAC,OAAO,EAAE,IAAA,kCAAe,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;AACpE,CAAC","sourcesContent":["import { EntityManager, In } from 'typeorm'\n\nimport { Role, User } from '@things-factory/auth-base'\n\nimport { currentStepRows } from '../../../shared/approval-step.js'\nimport { ActivityApproval } from '../activity-approval/activity-approval.js'\nimport { ProgressApprovalRow } from './approval-progress-rule.js'\n\n/**\n * Whom the step waited on now waits on, as names: a person's seat names that person, a role's seat names everyone holding\n * the role (ADR-0183 decision 2). The rows are the step's own (`progressOf(...).waiting`).\n */\nexport async function namesWaitedOn(manager: EntityManager, rows: ProgressApprovalRow[]): Promise<{ names: string[]; roleName?: string }> {\n const userIds = rows.map(row => row.approverId).filter(Boolean) as string[]\n const roleIds = rows.filter(row => !row.approverId && row.approverRoleId).map(row => row.approverRoleId!) as string[]\n\n const people = userIds.length ? await manager.getRepository(User).find({ where: { id: In(userIds) } }) : []\n const holders = roleIds.length\n ? await manager.getRepository(User).createQueryBuilder('u').innerJoin('u.roles', 'r', 'r.id IN (:...roleIds)', { roleIds }).getMany()\n : []\n const roles = roleIds.length ? await manager.getRepository(Role).find({ where: { id: In(roleIds) } }) : []\n\n return {\n names: [...new Map([...people, ...holders].map(one => [one.id, one.name])).values()],\n roleName: roles.map(role => role.name).join(', ') || undefined\n }\n}\n\n/**\n * Whom a case waits on now, by its activity instance — the names a screen puts beside a waiting request (Office's\n * approval doors). Empty when nothing waits.\n */\nexport async function waitingOn(manager: EntityManager, instanceId: string): Promise<string[]> {\n const rows = await manager\n .getRepository(ActivityApproval)\n .createQueryBuilder('ap')\n .innerJoin('ap.activityThread', 'at')\n .innerJoin('at.activityInstance', 'ai')\n .where('ai.id = :instanceId', { instanceId })\n .getMany()\n\n return (await namesWaitedOn(manager, currentStepRows(rows))).names\n}\n"]}
@@ -16,8 +16,9 @@ export * from './work-door/work-door-not-used.js';
16
16
  export * from './work-door/work-door-journal.js';
17
17
  export * from './work-door/work-door-journal-service.js';
18
18
  export * from './work-door/work-door-service.js';
19
+ export { waitingOn } from './approval-progress/waiting-on.js';
19
20
  export declare const entities: (typeof import("./activity/activity.js").Activity | typeof import("./activity-approval/activity-approval.js").ActivityApproval | typeof import("./activity-thread/activity-thread.js").ActivityThread | typeof import("./activity-instance/activity-instance.js").ActivityInstance | typeof import("./installable-activity/installable-activity.js").InstallableActivity | typeof import("./activity-template/activity-template.js").ActivityTemplate | typeof import("./activity-summary/activity-summary.js").ActivitySummary | typeof import("./activity/activity-history.js").ActivityHistory | typeof import("./activity-instance/activity-instance-history.js").ActivityInstanceHistory | typeof import("./activity-template/activity-template-history.js").ActivityTemplateHistory | typeof import("./activity-thread/activity-thread-history.js").ActivityThreadHistory | typeof import("./work-door/work-door-not-used.js").WorkDoorNotUsed | typeof import("./work-door/work-door-journal.js").WorkDoorJournal)[];
20
21
  export declare const subscribers: (typeof import("./activity-approval/event-subscriber.js").ActivityApprovalSubscriber | typeof import("./activity/event-subscriber.js").ActivityHistoryEntitySubscriber | typeof import("./activity/declaration-guard-subscriber.js").ActivityDeclarationGuardSubscriber | typeof import("./activity-instance/event-subscriber.js").ActivityInstanceSubscriber | typeof import("./activity-instance/event-subscriber.js").ActivityInstanceHistoryEntitySubscriber | typeof import("./activity-thread/event-subscriber.js").ActivityThreadSubscriber | typeof import("./activity-thread/event-subscriber.js").ActivityThreadHistoryEntitySubscriber)[];
21
22
  export declare const schema: {
22
- resolverClasses: (typeof import("./activity-stats/activity-stats-query.js").ActivityStatsQuery | typeof import("./activity-approval/activity-approval-query.js").ActivityApprovalQuery | typeof import("./activity-approval/activity-approval-mutation.js").ActivityApprovalMutation | typeof import("./activity-approval/activity-approval-subscription.js").ActivityApprovalSubscription | typeof import("./activity/activity-mutation.js").ActivityMutation | typeof import("./activity/activity-query.js").ActivityQuery | typeof import("./activity-instance/activity-instance-mutation.js").ActivityInstanceMutation | typeof import("./activity-instance/activity-instance-query.js").ActivityInstanceQuery | typeof import("./activity-instance/activity-instance-subscription.js").ActivityInstanceSubscription | typeof import("./activity-template/activity-template-mutation.js").ActivityTemplateMutation | typeof import("./activity-template/activity-template-query.js").ActivityTemplateQuery | typeof import("./activity-thread/activity-thread-mutation.js").ActivityThreadMutation | typeof import("./activity-thread/activity-thread-query.js").ActivityThreadQuery | typeof import("./activity-thread/activity-thread-history-query.js").ActivityThreadHistoryQuery | typeof import("./activity-thread/activity-thread-subscription.js").ActivityThreadSubscription | typeof import("./installable-activity/installable-activity-query.js").InstallableActivityQuery | typeof import("./installable-activity/installable-activity-mutation.js").InstallableActivityMutation | typeof import("./activity-summary/activity-summary-query.js").ActivitySummaryQuery | typeof import("./activity-summary/person-open-work.js").PersonOpenWorkQuery | typeof import("./work-door/work-door-resolver.js").WorkDoorResolver)[];
23
+ resolverClasses: (typeof import("./activity-stats/activity-stats-query.js").ActivityStatsQuery | typeof import("./activity-approval/activity-approval-query.js").ActivityApprovalQuery | typeof import("./activity-approval/activity-approval-mutation.js").ActivityApprovalMutation | typeof import("./activity-approval/activity-approval-subscription.js").ActivityApprovalSubscription | typeof import("./activity/activity-mutation.js").ActivityMutation | typeof import("./activity/activity-query.js").ActivityQuery | typeof import("./activity-instance/activity-instance-mutation.js").ActivityInstanceMutation | typeof import("./activity-instance/activity-instance-query.js").ActivityInstanceQuery | typeof import("./activity-instance/activity-instance-subscription.js").ActivityInstanceSubscription | typeof import("./activity-template/activity-template-mutation.js").ActivityTemplateMutation | typeof import("./activity-template/activity-template-query.js").ActivityTemplateQuery | typeof import("./activity-thread/activity-thread-mutation.js").ActivityThreadMutation | typeof import("./activity-thread/activity-thread-query.js").ActivityThreadQuery | typeof import("./activity-thread/activity-thread-history-query.js").ActivityThreadHistoryQuery | typeof import("./activity-thread/activity-thread-subscription.js").ActivityThreadSubscription | typeof import("./installable-activity/installable-activity-query.js").InstallableActivityQuery | typeof import("./installable-activity/installable-activity-mutation.js").InstallableActivityMutation | typeof import("./activity-summary/activity-summary-query.js").ActivitySummaryQuery | typeof import("./activity-summary/person-open-work.js").PersonOpenWorkQuery | typeof import("./work-door/work-door-resolver.js").WorkDoorResolver | typeof import("./approval-progress/approval-progress-query.js").ApprovalProgressQuery)[];
23
24
  };
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.schema = exports.subscribers = exports.entities = void 0;
3
+ exports.schema = exports.subscribers = exports.entities = exports.waitingOn = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  /* EXPORT ENTITY TYPES */
6
6
  tslib_1.__exportStar(require("./activity-approval/activity-approval.js"), exports);
@@ -20,6 +20,7 @@ const index_js_6 = require("./activity-thread/index.js");
20
20
  const index_js_7 = require("./installable-activity/index.js");
21
21
  const index_js_8 = require("./activity-summary/index.js");
22
22
  const index_js_9 = require("./work-door/index.js");
23
+ const index_js_10 = require("./approval-progress/index.js");
23
24
  /*
24
25
  * 업무 문의 판정과 선언은 **앱이 부른다** — 등록(`registerWorkDoors`) · 갈래(`passWorkDoor`) · 결재선
25
26
  * 판정이 여기로 나가야 앱이 그것을 쓸 수 있다. 엔티티와 리졸버만 등록하고 이 줄을 빠뜨리면 모듈은
@@ -40,6 +41,9 @@ tslib_1.__exportStar(require("./work-door/work-door-not-used.js"), exports);
40
41
  tslib_1.__exportStar(require("./work-door/work-door-journal.js"), exports);
41
42
  tslib_1.__exportStar(require("./work-door/work-door-journal-service.js"), exports);
42
43
  tslib_1.__exportStar(require("./work-door/work-door-service.js"), exports);
44
+ /* Whom a case waits on now - Office's approval doors name them beside a waiting request (ADR-0183). */
45
+ var waiting_on_js_1 = require("./approval-progress/waiting-on.js");
46
+ Object.defineProperty(exports, "waitingOn", { enumerable: true, get: function () { return waiting_on_js_1.waitingOn; } });
43
47
  exports.entities = [
44
48
  /* ENTITIES */
45
49
  ...index_js_2.entities,
@@ -69,7 +73,8 @@ exports.schema = {
69
73
  ...index_js_6.resolvers,
70
74
  ...index_js_7.resolvers,
71
75
  ...index_js_8.resolvers,
72
- ...index_js_9.resolvers
76
+ ...index_js_9.resolvers,
77
+ ...index_js_10.resolvers
73
78
  ]
74
79
  };
75
80
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/service/index.ts"],"names":[],"mappings":";;;;AAAA,yBAAyB;AACzB,mFAAwD;AACxD,+EAAoD;AACpD,mFAAwD;AACxD,mFAAwD;AACxD,iEAAsC;AACtC,yFAA8D;AAC9D,iFAAsD;AAEtD,mCAAmC;AACnC,wDAA+E;AAC/E,2DAIqC;AACrC,kDAI4B;AAC5B,2DAIqC;AACrC,2DAGqC;AACrC,yDAImC;AACnC,8DAGwC;AACxC,0DAAwH;AACxH,mDAAmG;AAEnG;;;;;;;;GAQG;AACH,+EAAoD;AACpD,yEAA8C;AAC9C,wEAA6C;AAC7C,gFAAqD;AACrD,yEAA8C;AAC9C,mEAAwC;AACxC,wEAA6C;AAC7C,4EAAiD;AACjD,2EAAgD;AAChD,mFAAwD;AACxD,2EAAgD;AAEnC,QAAA,QAAQ,GAAG;IACtB,cAAc;IACd,GAAG,mBAAwB;IAC3B,GAAG,mBAAgB;IACnB,GAAG,mBAAwB;IAC3B,GAAG,mBAAwB;IAC3B,GAAG,mBAAsB;IACzB,GAAG,mBAA2B;IAC9B,GAAG,mBAAuB;IAC1B,GAAG,mBAAgB;CACpB,CAAA;AAEY,QAAA,WAAW,GAAG;IACzB,iBAAiB;IACjB,GAAG,sBAA2B;IAC9B,GAAG,sBAA2B;IAC9B,GAAG,sBAAmB;IACtB,GAAG,sBAAyB;CAC7B,CAAA;AAEY,QAAA,MAAM,GAAG;IACpB,eAAe,EAAE;QACf,sBAAsB;QACtB,GAAG,oBAAsB;QACzB,GAAG,oBAAyB;QAC5B,GAAG,oBAAiB;QACpB,GAAG,oBAAyB;QAC5B,GAAG,oBAAyB;QAC5B,GAAG,oBAAuB;QAC1B,GAAG,oBAA4B;QAC/B,GAAG,oBAAwB;QAC3B,GAAG,oBAAiB;KACrB;CACF,CAAA","sourcesContent":["/* EXPORT ENTITY TYPES */\nexport * from './activity-approval/activity-approval.js'\nexport * from './activity-thread/activity-thread.js'\nexport * from './activity-template/activity-template.js'\nexport * from './activity-instance/activity-instance.js'\nexport * from './activity/activity.js'\nexport * from './installable-activity/installable-activity.js'\nexport * from './activity-summary/activity-summary.js'\n\n/* IMPORT ENTITIES AND RESOLVERS */\nimport { resolvers as ActivityStatsResolvers } from './activity-stats/index.js'\nimport {\n entities as ActivityApprovalEntities,\n resolvers as ActivityApprovalResolvers,\n subscribers as ActivityApprovalSubscribers\n} from './activity-approval/index.js'\nimport {\n entities as ActivityEntities,\n resolvers as ActivityResolvers,\n subscribers as ActivitySubscribers\n} from './activity/index.js'\nimport {\n entities as ActivityInstanceEntities,\n resolvers as ActivityInstanceResolvers,\n subscribers as ActivityInstanceSubscribers\n} from './activity-instance/index.js'\nimport {\n entities as ActivityTemplateEntities,\n resolvers as ActivityTemplateResolvers\n} from './activity-template/index.js'\nimport {\n entities as ActivityThreadEntities,\n resolvers as ActivityThreadResolvers,\n subscribers as ActivityThreadSubscribers\n} from './activity-thread/index.js'\nimport {\n entities as InstallableActivityEntities,\n resolvers as InstallableActivityResolvers\n} from './installable-activity/index.js'\nimport { entities as ActivitySummaryEntities, resolvers as ActivitySummaryResolvers } from './activity-summary/index.js'\nimport { entities as WorkDoorEntities, resolvers as WorkDoorResolvers } from './work-door/index.js'\n\n/*\n * 업무 문의 판정과 선언은 **앱이 부른다** — 등록(`registerWorkDoors`) · 갈래(`passWorkDoor`) · 결재선\n * 판정이 여기로 나가야 앱이 그것을 쓸 수 있다. 엔티티와 리졸버만 등록하고 이 줄을 빠뜨리면 모듈은\n * 멀쩡히 서고 앱만 「그런 export 가 없다」로 멈춘다.\n *\n * **묶음의 `index` 를 통째로 내보내지 않는다.** 그 파일은 `entities` · `resolvers` 라는 이름을 갖고\n * 있고, 이 파일도 같은 이름을 갖는다. `export *` 로 섞으면 그 이름들이 조용히 가려지거나 빠진다 —\n * 오류는 안 나고 서버가 반쯤 선다. 그래서 낼 것을 파일마다 적는다.\n */\nexport * from './work-door/work-door-declaration.js'\nexport * from './work-door/work-door-event.js'\nexport * from './work-door/pass-work-door.js'\nexport * from './work-door/approval-line-standing.js'\nexport * from './work-door/activity-lookup.js'\nexport * from './work-door/work-door.js'\nexport * from './work-door/work-door-type.js'\nexport * from './work-door/work-door-not-used.js'\nexport * from './work-door/work-door-journal.js'\nexport * from './work-door/work-door-journal-service.js'\nexport * from './work-door/work-door-service.js'\n\nexport const entities = [\n /* ENTITIES */\n ...ActivityApprovalEntities,\n ...ActivityEntities,\n ...ActivityInstanceEntities,\n ...ActivityTemplateEntities,\n ...ActivityThreadEntities,\n ...InstallableActivityEntities,\n ...ActivitySummaryEntities,\n ...WorkDoorEntities\n]\n\nexport const subscribers = [\n /* SUBSCRIBERS */\n ...ActivityApprovalSubscribers,\n ...ActivityInstanceSubscribers,\n ...ActivitySubscribers,\n ...ActivityThreadSubscribers\n]\n\nexport const schema = {\n resolverClasses: [\n /* RESOLVER CLASSES */\n ...ActivityStatsResolvers,\n ...ActivityApprovalResolvers,\n ...ActivityResolvers,\n ...ActivityInstanceResolvers,\n ...ActivityTemplateResolvers,\n ...ActivityThreadResolvers,\n ...InstallableActivityResolvers,\n ...ActivitySummaryResolvers,\n ...WorkDoorResolvers\n ]\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/service/index.ts"],"names":[],"mappings":";;;;AAAA,yBAAyB;AACzB,mFAAwD;AACxD,+EAAoD;AACpD,mFAAwD;AACxD,mFAAwD;AACxD,iEAAsC;AACtC,yFAA8D;AAC9D,iFAAsD;AAEtD,mCAAmC;AACnC,wDAA+E;AAC/E,2DAIqC;AACrC,kDAI4B;AAC5B,2DAIqC;AACrC,2DAGqC;AACrC,yDAImC;AACnC,8DAGwC;AACxC,0DAAwH;AACxH,mDAAmG;AACnG,4DAAqF;AAErF;;;;;;;;GAQG;AACH,+EAAoD;AACpD,yEAA8C;AAC9C,wEAA6C;AAC7C,gFAAqD;AACrD,yEAA8C;AAC9C,mEAAwC;AACxC,wEAA6C;AAC7C,4EAAiD;AACjD,2EAAgD;AAChD,mFAAwD;AACxD,2EAAgD;AAChD,uGAAuG;AACvG,mEAA6D;AAApD,0GAAA,SAAS,OAAA;AAEL,QAAA,QAAQ,GAAG;IACtB,cAAc;IACd,GAAG,mBAAwB;IAC3B,GAAG,mBAAgB;IACnB,GAAG,mBAAwB;IAC3B,GAAG,mBAAwB;IAC3B,GAAG,mBAAsB;IACzB,GAAG,mBAA2B;IAC9B,GAAG,mBAAuB;IAC1B,GAAG,mBAAgB;CACpB,CAAA;AAEY,QAAA,WAAW,GAAG;IACzB,iBAAiB;IACjB,GAAG,sBAA2B;IAC9B,GAAG,sBAA2B;IAC9B,GAAG,sBAAmB;IACtB,GAAG,sBAAyB;CAC7B,CAAA;AAEY,QAAA,MAAM,GAAG;IACpB,eAAe,EAAE;QACf,sBAAsB;QACtB,GAAG,oBAAsB;QACzB,GAAG,oBAAyB;QAC5B,GAAG,oBAAiB;QACpB,GAAG,oBAAyB;QAC5B,GAAG,oBAAyB;QAC5B,GAAG,oBAAuB;QAC1B,GAAG,oBAA4B;QAC/B,GAAG,oBAAwB;QAC3B,GAAG,oBAAiB;QACpB,GAAG,qBAAyB;KAC7B;CACF,CAAA","sourcesContent":["/* EXPORT ENTITY TYPES */\nexport * from './activity-approval/activity-approval.js'\nexport * from './activity-thread/activity-thread.js'\nexport * from './activity-template/activity-template.js'\nexport * from './activity-instance/activity-instance.js'\nexport * from './activity/activity.js'\nexport * from './installable-activity/installable-activity.js'\nexport * from './activity-summary/activity-summary.js'\n\n/* IMPORT ENTITIES AND RESOLVERS */\nimport { resolvers as ActivityStatsResolvers } from './activity-stats/index.js'\nimport {\n entities as ActivityApprovalEntities,\n resolvers as ActivityApprovalResolvers,\n subscribers as ActivityApprovalSubscribers\n} from './activity-approval/index.js'\nimport {\n entities as ActivityEntities,\n resolvers as ActivityResolvers,\n subscribers as ActivitySubscribers\n} from './activity/index.js'\nimport {\n entities as ActivityInstanceEntities,\n resolvers as ActivityInstanceResolvers,\n subscribers as ActivityInstanceSubscribers\n} from './activity-instance/index.js'\nimport {\n entities as ActivityTemplateEntities,\n resolvers as ActivityTemplateResolvers\n} from './activity-template/index.js'\nimport {\n entities as ActivityThreadEntities,\n resolvers as ActivityThreadResolvers,\n subscribers as ActivityThreadSubscribers\n} from './activity-thread/index.js'\nimport {\n entities as InstallableActivityEntities,\n resolvers as InstallableActivityResolvers\n} from './installable-activity/index.js'\nimport { entities as ActivitySummaryEntities, resolvers as ActivitySummaryResolvers } from './activity-summary/index.js'\nimport { entities as WorkDoorEntities, resolvers as WorkDoorResolvers } from './work-door/index.js'\nimport { resolvers as ApprovalProgressResolvers } from './approval-progress/index.js'\n\n/*\n * 업무 문의 판정과 선언은 **앱이 부른다** — 등록(`registerWorkDoors`) · 갈래(`passWorkDoor`) · 결재선\n * 판정이 여기로 나가야 앱이 그것을 쓸 수 있다. 엔티티와 리졸버만 등록하고 이 줄을 빠뜨리면 모듈은\n * 멀쩡히 서고 앱만 「그런 export 가 없다」로 멈춘다.\n *\n * **묶음의 `index` 를 통째로 내보내지 않는다.** 그 파일은 `entities` · `resolvers` 라는 이름을 갖고\n * 있고, 이 파일도 같은 이름을 갖는다. `export *` 로 섞으면 그 이름들이 조용히 가려지거나 빠진다 —\n * 오류는 안 나고 서버가 반쯤 선다. 그래서 낼 것을 파일마다 적는다.\n */\nexport * from './work-door/work-door-declaration.js'\nexport * from './work-door/work-door-event.js'\nexport * from './work-door/pass-work-door.js'\nexport * from './work-door/approval-line-standing.js'\nexport * from './work-door/activity-lookup.js'\nexport * from './work-door/work-door.js'\nexport * from './work-door/work-door-type.js'\nexport * from './work-door/work-door-not-used.js'\nexport * from './work-door/work-door-journal.js'\nexport * from './work-door/work-door-journal-service.js'\nexport * from './work-door/work-door-service.js'\n/* Whom a case waits on now - Office's approval doors name them beside a waiting request (ADR-0183). */\nexport { waitingOn } from './approval-progress/waiting-on.js'\n\nexport const entities = [\n /* ENTITIES */\n ...ActivityApprovalEntities,\n ...ActivityEntities,\n ...ActivityInstanceEntities,\n ...ActivityTemplateEntities,\n ...ActivityThreadEntities,\n ...InstallableActivityEntities,\n ...ActivitySummaryEntities,\n ...WorkDoorEntities\n]\n\nexport const subscribers = [\n /* SUBSCRIBERS */\n ...ActivityApprovalSubscribers,\n ...ActivityInstanceSubscribers,\n ...ActivitySubscribers,\n ...ActivityThreadSubscribers\n]\n\nexport const schema = {\n resolverClasses: [\n /* RESOLVER CLASSES */\n ...ActivityStatsResolvers,\n ...ActivityApprovalResolvers,\n ...ActivityResolvers,\n ...ActivityInstanceResolvers,\n ...ActivityTemplateResolvers,\n ...ActivityThreadResolvers,\n ...InstallableActivityResolvers,\n ...ActivitySummaryResolvers,\n ...WorkDoorResolvers,\n ...ApprovalProgressResolvers\n ]\n}\n"]}