@things-factory/worklist 10.1.202 → 10.1.203
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-client/pages/activity/activity-list-page.d.ts +3 -0
- package/dist-client/pages/activity/activity-list-page.js +25 -13
- package/dist-client/pages/activity/activity-list-page.js.map +1 -1
- package/dist-client/pages/activity/activity-partial-view.js +1 -1
- package/dist-client/pages/activity/activity-partial-view.js.map +1 -1
- package/dist-client/pages/activity/assignee-roles-cell.d.ts +32 -0
- package/dist-client/pages/activity/assignee-roles-cell.js +26 -0
- package/dist-client/pages/activity/assignee-roles-cell.js.map +1 -0
- package/dist-client/pages/activity-catalog/activity-catalog-page.js +1 -1
- package/dist-client/pages/activity-catalog/activity-catalog-page.js.map +1 -1
- package/dist-client/pages/work-door/door-sentence.d.ts +1 -1
- package/dist-client/pages/work-door/door-sentence.js +2 -2
- package/dist-client/pages/work-door/door-sentence.js.map +1 -1
- package/dist-client/tsconfig.tsbuildinfo +1 -1
- package/dist-client/types/activity-instance-type.d.ts +2 -2
- package/dist-client/types/activity-instance-type.js.map +1 -1
- package/dist-client/types/activity-instance.d.ts +1 -1
- package/dist-client/types/activity-instance.js.map +1 -1
- package/dist-client/types/activity.d.ts +1 -1
- package/dist-client/types/activity.js.map +1 -1
- package/dist-server/controllers/activity-approval/resolve-judgeable-seats.d.ts +2 -2
- package/dist-server/controllers/activity-approval/resolve-judgeable-seats.js +2 -2
- package/dist-server/controllers/activity-approval/resolve-judgeable-seats.js.map +1 -1
- package/dist-server/controllers/activity-instance/abort.js +1 -1
- package/dist-server/controllers/activity-instance/abort.js.map +1 -1
- package/dist-server/controllers/activity-instance/assign.d.ts +2 -1
- package/dist-server/controllers/activity-instance/assign.js +104 -2
- package/dist-server/controllers/activity-instance/assign.js.map +1 -1
- package/dist-server/controllers/activity-instance/assignee-input.d.ts +25 -0
- package/dist-server/controllers/activity-instance/assignee-input.js +28 -0
- package/dist-server/controllers/activity-instance/assignee-input.js.map +1 -0
- package/dist-server/controllers/activity-instance/draft.js +7 -2
- package/dist-server/controllers/activity-instance/draft.js.map +1 -1
- package/dist-server/controllers/activity-instance/end.js +1 -1
- package/dist-server/controllers/activity-instance/end.js.map +1 -1
- package/dist-server/controllers/activity-instance/entitlement.d.ts +1 -1
- package/dist-server/controllers/activity-instance/entitlement.js +7 -5
- package/dist-server/controllers/activity-instance/entitlement.js.map +1 -1
- package/dist-server/controllers/activity-instance/issue.js +28 -7
- package/dist-server/controllers/activity-instance/issue.js.map +1 -1
- package/dist-server/controllers/activity-instance/pick.js +22 -3
- package/dist-server/controllers/activity-instance/pick.js.map +1 -1
- package/dist-server/controllers/activity-read/assert-may-read.js +2 -1
- package/dist-server/controllers/activity-read/assert-may-read.js.map +1 -1
- package/dist-server/controllers/activity-read/participates.d.ts +2 -2
- package/dist-server/controllers/activity-read/participates.js +2 -2
- package/dist-server/controllers/activity-read/participates.js.map +1 -1
- package/dist-server/controllers/activity-thread/check-authority.js +22 -4
- package/dist-server/controllers/activity-thread/check-authority.js.map +1 -1
- package/dist-server/controllers/common.js +17 -12
- package/dist-server/controllers/common.js.map +1 -1
- package/dist-server/service/activity/activity-history.d.ts +1 -2
- package/dist-server/service/activity/activity-history.js +4 -8
- package/dist-server/service/activity/activity-history.js.map +1 -1
- package/dist-server/service/activity/activity-mutation.js +39 -8
- package/dist-server/service/activity/activity-mutation.js.map +1 -1
- package/dist-server/service/activity/activity-query.d.ts +1 -1
- package/dist-server/service/activity/activity-query.js +9 -9
- package/dist-server/service/activity/activity-query.js.map +1 -1
- package/dist-server/service/activity/activity-type.d.ts +2 -2
- package/dist-server/service/activity/activity-type.js +12 -6
- package/dist-server/service/activity/activity-type.js.map +1 -1
- package/dist-server/service/activity/activity.d.ts +2 -2
- package/dist-server/service/activity/activity.js +15 -7
- package/dist-server/service/activity/activity.js.map +1 -1
- package/dist-server/service/activity/event-subscriber.js.map +1 -1
- package/dist-server/service/activity-instance/activity-instance-history.d.ts +1 -2
- package/dist-server/service/activity-instance/activity-instance-history.js +4 -8
- package/dist-server/service/activity-instance/activity-instance-history.js.map +1 -1
- package/dist-server/service/activity-instance/activity-instance-mutation.d.ts +1 -1
- package/dist-server/service/activity-instance/activity-instance-mutation.js +10 -5
- package/dist-server/service/activity-instance/activity-instance-mutation.js.map +1 -1
- package/dist-server/service/activity-instance/activity-instance-query.d.ts +1 -2
- package/dist-server/service/activity-instance/activity-instance-query.js +16 -25
- package/dist-server/service/activity-instance/activity-instance-query.js.map +1 -1
- package/dist-server/service/activity-instance/activity-instance-type.d.ts +2 -2
- package/dist-server/service/activity-instance/activity-instance-type.js +12 -6
- package/dist-server/service/activity-instance/activity-instance-type.js.map +1 -1
- package/dist-server/service/activity-instance/activity-instance.d.ts +2 -2
- package/dist-server/service/activity-instance/activity-instance.js +15 -7
- package/dist-server/service/activity-instance/activity-instance.js.map +1 -1
- package/dist-server/service/activity-instance/assignee-pool.d.ts +59 -0
- package/dist-server/service/activity-instance/assignee-pool.js +99 -0
- package/dist-server/service/activity-instance/assignee-pool.js.map +1 -0
- package/dist-server/service/activity-instance/event-subscriber.d.ts +9 -1
- package/dist-server/service/activity-instance/event-subscriber.js +20 -4
- package/dist-server/service/activity-instance/event-subscriber.js.map +1 -1
- package/dist-server/service/activity-summary/activity-summary-query.js +3 -3
- package/dist-server/service/activity-summary/activity-summary-query.js.map +1 -1
- package/dist-server/service/activity-thread/my-open-threads.d.ts +1 -1
- package/dist-server/service/activity-thread/my-open-threads.js +4 -3
- package/dist-server/service/activity-thread/my-open-threads.js.map +1 -1
- package/dist-server/service/subscription/subscription-filters.d.ts +3 -2
- package/dist-server/service/subscription/subscription-filters.js +6 -3
- package/dist-server/service/subscription/subscription-filters.js.map +1 -1
- package/dist-server/service/work-door/work-door-service.js +9 -6
- package/dist-server/service/work-door/work-door-service.js.map +1 -1
- package/dist-server/service/work-door/work-door-type.d.ts +1 -1
- package/dist-server/service/work-door/work-door-type.js +4 -4
- package/dist-server/service/work-door/work-door-type.js.map +1 -1
- package/dist-server/service/work-door/work-door.d.ts +3 -3
- package/dist-server/service/work-door/work-door.js +2 -2
- package/dist-server/service/work-door/work-door.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +9 -9
- package/tests/assign-role-pool.test.ts +508 -0
- package/tests/assignee-pool-history.test.ts +81 -0
- package/tests/may-read-case.test.ts +3 -2
- package/tests/org-member-domain.test.ts +10 -4
- package/tests/pick-race.pg.test.ts +2 -2
- package/tests/published-shape.test.ts +2 -2
- package/tests/role-pool-race.pg.test.ts +182 -0
- package/tests/work-door.test.ts +3 -3
- package/translations/en.json +5 -0
- package/translations/es.json +5 -0
- package/translations/ja.json +5 -0
- package/translations/ko.json +5 -0
- package/translations/ms.json +5 -0
- package/translations/zh.json +5 -0
|
@@ -70,9 +70,12 @@ tslib_1.__decorate([
|
|
|
70
70
|
tslib_1.__metadata("design:type", shell_1.ObjectRef)
|
|
71
71
|
], NewActivity.prototype, "issuerRole", void 0);
|
|
72
72
|
tslib_1.__decorate([
|
|
73
|
-
(0, type_graphql_1.Field)(type => shell_1.ObjectRef, {
|
|
74
|
-
|
|
75
|
-
|
|
73
|
+
(0, type_graphql_1.Field)(type => [shell_1.ObjectRef], {
|
|
74
|
+
nullable: true,
|
|
75
|
+
description: 'Roles whose holders may pick up a case of this activity - anyone holding any one of them.'
|
|
76
|
+
}),
|
|
77
|
+
tslib_1.__metadata("design:type", Array)
|
|
78
|
+
], NewActivity.prototype, "assigneeRoles", void 0);
|
|
76
79
|
tslib_1.__decorate([
|
|
77
80
|
(0, type_graphql_1.Field)(type => shell_1.ObjectRef, { nullable: true }),
|
|
78
81
|
tslib_1.__metadata("design:type", shell_1.ObjectRef)
|
|
@@ -192,9 +195,12 @@ tslib_1.__decorate([
|
|
|
192
195
|
tslib_1.__metadata("design:type", shell_1.ObjectRef)
|
|
193
196
|
], ActivityPatch.prototype, "issuerRole", void 0);
|
|
194
197
|
tslib_1.__decorate([
|
|
195
|
-
(0, type_graphql_1.Field)(type => shell_1.ObjectRef, {
|
|
196
|
-
|
|
197
|
-
|
|
198
|
+
(0, type_graphql_1.Field)(type => [shell_1.ObjectRef], {
|
|
199
|
+
nullable: true,
|
|
200
|
+
description: 'Roles whose holders may pick up a case of this activity - anyone holding any one of them.'
|
|
201
|
+
}),
|
|
202
|
+
tslib_1.__metadata("design:type", Array)
|
|
203
|
+
], ActivityPatch.prototype, "assigneeRoles", void 0);
|
|
198
204
|
tslib_1.__decorate([
|
|
199
205
|
(0, type_graphql_1.Field)(type => shell_1.ObjectRef, { nullable: true }),
|
|
200
206
|
tslib_1.__metadata("design:type", shell_1.ObjectRef)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activity-type.js","sourceRoot":"","sources":["../../../server/service/activity/activity-type.ts"],"names":[],"mappings":"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","sourcesContent":["import type { FileUpload } from 'graphql-upload/GraphQLUpload.js'\nimport GraphQLUpload from 'graphql-upload/GraphQLUpload.js'\nimport { Field, ID, InputType, Int, ObjectType } from 'type-graphql'\n\nimport { ObjectRef, ScalarObject } from '@things-factory/shell'\nimport { ApprovalLineItem } from '@things-factory/organization'\n\nimport {\n Activity,\n ActivityStartingType,\n ActivityStatus,\n ActivityType,\n ActivityUIType,\n AssigneeItem,\n MultipleInstanceType\n} from './activity.js'\nimport { ActivityModelItem } from './activity-model-type.js'\nimport { ActivitySearchKeyItem } from './activity-search-key-item-type.js'\nimport { ActivityDecisionKeyItem } from './activity-decision-key-item-type.js'\n\n@InputType()\nexport class NewActivity {\n @Field()\n name: string\n\n @Field({ nullable: true })\n description?: string\n\n @Field({ nullable: true })\n activityType?: ActivityType\n\n @Field(type => ScalarObject, { nullable: true })\n searchKeys?: ActivitySearchKeyItem[]\n\n @Field(type => ScalarObject, { nullable: true })\n decisionKeys?: ActivityDecisionKeyItem[]\n\n @Field({ nullable: true })\n state?: ActivityStatus\n\n @Field(type => ScalarObject, { nullable: true })\n model?: ActivityModelItem[]\n\n @Field({ nullable: true })\n priority?: number\n\n @Field({ nullable: true })\n startingType?: ActivityStartingType\n\n @Field({ nullable: true })\n multiple?: MultipleInstanceType\n\n @Field({ nullable: true })\n schedule?: string\n\n @Field({ nullable: true })\n timezone?: string\n\n @Field({ nullable: true })\n scheduleId?: string\n\n @Field({ nullable: true })\n standardTime?: number\n\n @Field(type => ObjectRef, { nullable: true })\n issuerRole?: ObjectRef\n\n @Field(type => ObjectRef, { nullable: true })\n assigneeRole?: ObjectRef\n\n @Field(type => ObjectRef, { nullable: true })\n supervisoryRole?: ObjectRef\n\n @Field(type => ScalarObject, { nullable: true })\n assignees?: AssigneeItem[]\n\n @Field(type => ScalarObject, { nullable: true })\n approvalLine?: ApprovalLineItem[]\n\n /**\n * 반려하면 끝인가 — 참이면 되살릴 수 없다.\n *\n * 되돌릴 수 없는 판정을 다루는 업무(부적합 처분·트윈 조치)는 반려되는 순간 대상이 닫힌다. 그때 결재를\n * 되살리면 사람은 승인할 것이 있다고 보는데 승인에 효력이 없다.\n */\n @Field({ nullable: true, description: 'true when a rejection closes the case for good — it cannot be restarted' })\n rejectionIsFinal?: boolean\n\n @Field({ nullable: true })\n uiType?: ActivityUIType\n\n @Field({ nullable: true })\n uiSource?: string\n\n @Field({ nullable: true })\n viewType?: ActivityUIType\n\n @Field({ nullable: true })\n viewSource?: string\n\n @Field({ nullable: true })\n reportType?: ActivityUIType\n\n @Field({ nullable: true })\n reportSource?: string\n\n @Field({ nullable: true })\n active?: boolean\n\n @Field(type => GraphQLUpload, { nullable: true })\n thumbnail?: FileUpload\n}\n\n@InputType()\nexport class ActivityPatch {\n @Field(type => ID, { nullable: true })\n id?: string\n\n @Field({ nullable: true })\n name?: string\n\n @Field({ nullable: true })\n description?: string\n\n @Field({ nullable: true })\n activityType?: ActivityType\n\n @Field(type => ScalarObject, { nullable: true })\n searchKeys?: ActivitySearchKeyItem[]\n\n @Field(type => ScalarObject, { nullable: true })\n decisionKeys?: ActivityDecisionKeyItem[]\n\n @Field({ nullable: true })\n state?: ActivityStatus\n\n @Field(type => ScalarObject, { nullable: true })\n model?: ActivityModelItem[]\n\n @Field({ nullable: true })\n priority?: number\n\n @Field({ nullable: true })\n startingType?: ActivityStartingType\n\n @Field({ nullable: true })\n multiple?: MultipleInstanceType\n\n @Field({ nullable: true })\n schedule?: string\n\n @Field({ nullable: true })\n timezone?: string\n\n @Field({ nullable: true })\n scheduleId?: string\n\n @Field({ nullable: true })\n standardTime?: number\n\n @Field(type => ObjectRef, { nullable: true })\n issuerRole?: ObjectRef\n\n @Field(type => ObjectRef, { nullable: true })\n assigneeRole?: ObjectRef\n\n @Field(type => ObjectRef, { nullable: true })\n supervisoryRole?: ObjectRef\n\n @Field(type => ScalarObject, { nullable: true })\n assignees?: AssigneeItem[]\n\n @Field(type => ScalarObject, { nullable: true })\n approvalLine?: ApprovalLineItem[]\n\n /**\n * 반려하면 끝인가 — 참이면 되살릴 수 없다.\n *\n * 되돌릴 수 없는 판정을 다루는 업무(부적합 처분·트윈 조치)는 반려되는 순간 대상이 닫힌다. 그때 결재를\n * 되살리면 사람은 승인할 것이 있다고 보는데 승인에 효력이 없다.\n */\n @Field({ nullable: true, description: 'true when a rejection closes the case for good — it cannot be restarted' })\n rejectionIsFinal?: boolean\n\n @Field({ nullable: true })\n uiType?: ActivityUIType\n\n @Field({ nullable: true })\n uiSource?: string\n\n @Field({ nullable: true })\n viewType?: ActivityUIType\n\n @Field({ nullable: true })\n viewSource?: string\n\n @Field({ nullable: true })\n reportType?: ActivityUIType\n\n @Field({ nullable: true })\n reportSource?: string\n\n @Field(type => GraphQLUpload, { nullable: true })\n thumbnail?: FileUpload\n\n @Field({ nullable: true })\n cuFlag?: string\n}\n\n@ObjectType()\nexport class ActivityList {\n @Field(type => [Activity])\n items: Activity[]\n\n @Field(type => Int)\n total: number\n}\n"]}
|
|
1
|
+
{"version":3,"file":"activity-type.js","sourceRoot":"","sources":["../../../server/service/activity/activity-type.ts"],"names":[],"mappings":"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","sourcesContent":["import type { FileUpload } from 'graphql-upload/GraphQLUpload.js'\nimport GraphQLUpload from 'graphql-upload/GraphQLUpload.js'\nimport { Field, ID, InputType, Int, ObjectType } from 'type-graphql'\n\nimport { ObjectRef, ScalarObject } from '@things-factory/shell'\nimport { ApprovalLineItem } from '@things-factory/organization'\n\nimport {\n Activity,\n ActivityStartingType,\n ActivityStatus,\n ActivityType,\n ActivityUIType,\n AssigneeItem,\n MultipleInstanceType\n} from './activity.js'\nimport { ActivityModelItem } from './activity-model-type.js'\nimport { ActivitySearchKeyItem } from './activity-search-key-item-type.js'\nimport { ActivityDecisionKeyItem } from './activity-decision-key-item-type.js'\n\n@InputType()\nexport class NewActivity {\n @Field()\n name: string\n\n @Field({ nullable: true })\n description?: string\n\n @Field({ nullable: true })\n activityType?: ActivityType\n\n @Field(type => ScalarObject, { nullable: true })\n searchKeys?: ActivitySearchKeyItem[]\n\n @Field(type => ScalarObject, { nullable: true })\n decisionKeys?: ActivityDecisionKeyItem[]\n\n @Field({ nullable: true })\n state?: ActivityStatus\n\n @Field(type => ScalarObject, { nullable: true })\n model?: ActivityModelItem[]\n\n @Field({ nullable: true })\n priority?: number\n\n @Field({ nullable: true })\n startingType?: ActivityStartingType\n\n @Field({ nullable: true })\n multiple?: MultipleInstanceType\n\n @Field({ nullable: true })\n schedule?: string\n\n @Field({ nullable: true })\n timezone?: string\n\n @Field({ nullable: true })\n scheduleId?: string\n\n @Field({ nullable: true })\n standardTime?: number\n\n @Field(type => ObjectRef, { nullable: true })\n issuerRole?: ObjectRef\n\n @Field(type => [ObjectRef], {\n nullable: true,\n description: 'Roles whose holders may pick up a case of this activity - anyone holding any one of them.'\n })\n assigneeRoles?: ObjectRef[]\n\n @Field(type => ObjectRef, { nullable: true })\n supervisoryRole?: ObjectRef\n\n @Field(type => ScalarObject, { nullable: true })\n assignees?: AssigneeItem[]\n\n @Field(type => ScalarObject, { nullable: true })\n approvalLine?: ApprovalLineItem[]\n\n /**\n * 반려하면 끝인가 — 참이면 되살릴 수 없다.\n *\n * 되돌릴 수 없는 판정을 다루는 업무(부적합 처분·트윈 조치)는 반려되는 순간 대상이 닫힌다. 그때 결재를\n * 되살리면 사람은 승인할 것이 있다고 보는데 승인에 효력이 없다.\n */\n @Field({ nullable: true, description: 'true when a rejection closes the case for good — it cannot be restarted' })\n rejectionIsFinal?: boolean\n\n @Field({ nullable: true })\n uiType?: ActivityUIType\n\n @Field({ nullable: true })\n uiSource?: string\n\n @Field({ nullable: true })\n viewType?: ActivityUIType\n\n @Field({ nullable: true })\n viewSource?: string\n\n @Field({ nullable: true })\n reportType?: ActivityUIType\n\n @Field({ nullable: true })\n reportSource?: string\n\n @Field({ nullable: true })\n active?: boolean\n\n @Field(type => GraphQLUpload, { nullable: true })\n thumbnail?: FileUpload\n}\n\n@InputType()\nexport class ActivityPatch {\n @Field(type => ID, { nullable: true })\n id?: string\n\n @Field({ nullable: true })\n name?: string\n\n @Field({ nullable: true })\n description?: string\n\n @Field({ nullable: true })\n activityType?: ActivityType\n\n @Field(type => ScalarObject, { nullable: true })\n searchKeys?: ActivitySearchKeyItem[]\n\n @Field(type => ScalarObject, { nullable: true })\n decisionKeys?: ActivityDecisionKeyItem[]\n\n @Field({ nullable: true })\n state?: ActivityStatus\n\n @Field(type => ScalarObject, { nullable: true })\n model?: ActivityModelItem[]\n\n @Field({ nullable: true })\n priority?: number\n\n @Field({ nullable: true })\n startingType?: ActivityStartingType\n\n @Field({ nullable: true })\n multiple?: MultipleInstanceType\n\n @Field({ nullable: true })\n schedule?: string\n\n @Field({ nullable: true })\n timezone?: string\n\n @Field({ nullable: true })\n scheduleId?: string\n\n @Field({ nullable: true })\n standardTime?: number\n\n @Field(type => ObjectRef, { nullable: true })\n issuerRole?: ObjectRef\n\n @Field(type => [ObjectRef], {\n nullable: true,\n description: 'Roles whose holders may pick up a case of this activity - anyone holding any one of them.'\n })\n assigneeRoles?: ObjectRef[]\n\n @Field(type => ObjectRef, { nullable: true })\n supervisoryRole?: ObjectRef\n\n @Field(type => ScalarObject, { nullable: true })\n assignees?: AssigneeItem[]\n\n @Field(type => ScalarObject, { nullable: true })\n approvalLine?: ApprovalLineItem[]\n\n /**\n * 반려하면 끝인가 — 참이면 되살릴 수 없다.\n *\n * 되돌릴 수 없는 판정을 다루는 업무(부적합 처분·트윈 조치)는 반려되는 순간 대상이 닫힌다. 그때 결재를\n * 되살리면 사람은 승인할 것이 있다고 보는데 승인에 효력이 없다.\n */\n @Field({ nullable: true, description: 'true when a rejection closes the case for good — it cannot be restarted' })\n rejectionIsFinal?: boolean\n\n @Field({ nullable: true })\n uiType?: ActivityUIType\n\n @Field({ nullable: true })\n uiSource?: string\n\n @Field({ nullable: true })\n viewType?: ActivityUIType\n\n @Field({ nullable: true })\n viewSource?: string\n\n @Field({ nullable: true })\n reportType?: ActivityUIType\n\n @Field({ nullable: true })\n reportSource?: string\n\n @Field(type => GraphQLUpload, { nullable: true })\n thumbnail?: FileUpload\n\n @Field({ nullable: true })\n cuFlag?: string\n}\n\n@ObjectType()\nexport class ActivityList {\n @Field(type => [Activity])\n items: Activity[]\n\n @Field(type => Int)\n total: number\n}\n"]}
|
|
@@ -93,8 +93,8 @@ export declare class Activity {
|
|
|
93
93
|
standardTime?: number;
|
|
94
94
|
issuerRole?: Role;
|
|
95
95
|
issuerRoleId?: string;
|
|
96
|
-
|
|
97
|
-
|
|
96
|
+
assigneeRoles?: Role[];
|
|
97
|
+
assigneeRoleIds?: string[];
|
|
98
98
|
supervisoryRole?: Role;
|
|
99
99
|
supervisoryRoleId?: string;
|
|
100
100
|
assignees?: AssigneeItem[];
|
|
@@ -205,14 +205,22 @@ tslib_1.__decorate([
|
|
|
205
205
|
tslib_1.__metadata("design:type", String)
|
|
206
206
|
], Activity.prototype, "issuerRoleId", void 0);
|
|
207
207
|
tslib_1.__decorate([
|
|
208
|
-
(0, typeorm_1.
|
|
209
|
-
(0,
|
|
210
|
-
|
|
211
|
-
|
|
208
|
+
(0, typeorm_1.ManyToMany)(type => auth_base_1.Role),
|
|
209
|
+
(0, typeorm_1.JoinTable)({
|
|
210
|
+
name: 'activities_assignee_roles',
|
|
211
|
+
joinColumn: { name: 'activities_id', referencedColumnName: 'id' },
|
|
212
|
+
inverseJoinColumn: { name: 'roles_id', referencedColumnName: 'id' }
|
|
213
|
+
}),
|
|
214
|
+
(0, type_graphql_1.Field)(type => [auth_base_1.Role], {
|
|
215
|
+
nullable: true,
|
|
216
|
+
description: 'Roles whose holders may pick up a case of this activity - anyone holding any one of them.'
|
|
217
|
+
}),
|
|
218
|
+
tslib_1.__metadata("design:type", Array)
|
|
219
|
+
], Activity.prototype, "assigneeRoles", void 0);
|
|
212
220
|
tslib_1.__decorate([
|
|
213
|
-
(0, typeorm_1.RelationId)((activity) => activity.
|
|
214
|
-
tslib_1.__metadata("design:type",
|
|
215
|
-
], Activity.prototype, "
|
|
221
|
+
(0, typeorm_1.RelationId)((activity) => activity.assigneeRoles),
|
|
222
|
+
tslib_1.__metadata("design:type", Array)
|
|
223
|
+
], Activity.prototype, "assigneeRoleIds", void 0);
|
|
216
224
|
tslib_1.__decorate([
|
|
217
225
|
(0, typeorm_1.ManyToOne)(type => auth_base_1.Role, { nullable: true }),
|
|
218
226
|
(0, type_graphql_1.Field)(type => auth_base_1.Role, { nullable: true, description: 'The final authority on a given activity.' }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activity.js","sourceRoot":"","sources":["../../../server/service/activity/activity.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 ManyToOne,\n PrimaryGeneratedColumn,\n RelationId,\n UpdateDateColumn,\n VersionColumn\n} from 'typeorm'\n\nimport { Role, User } from '@things-factory/auth-base'\nimport { Domain } from '@things-factory/shell'\nimport { OrgMemberTargetType, OrgMemberTarget, ApprovalLineItem } from '@things-factory/organization'\n\nimport { ActivityModelItem } from './activity-model-type.js'\nimport { ActivitySearchKeyItem } from './activity-search-key-item-type.js'\nimport { ActivityDecisionKeyItem } from './activity-decision-key-item-type.js'\n\nexport enum ActivityStatus {\n Draft = 'draft',\n Released = 'released',\n Deprecated = 'deprecated'\n}\n\nregisterEnumType(ActivityStatus, {\n name: 'ActivityStatus',\n description: 'state enumeration of a activity'\n})\n\nexport enum ActivityStartingType {\n None = '',\n Post = 'post',\n Issue = 'issue'\n}\n\nregisterEnumType(ActivityStartingType, {\n name: 'ActivityStartingType',\n description: 'whether the purpose of starting the activity is to issue or post'\n})\n\nexport enum ActivityType {\n Task = 'task',\n Service = 'service',\n Send = 'send',\n Receive = 'receive',\n User = 'user',\n Manual = 'manual',\n BusinessRule = 'business-rule',\n Script = 'script',\n Subprocess = 'sub-process',\n Call = 'call'\n}\n\nregisterEnumType(ActivityType, {\n name: 'ActivityType',\n description: 'type enumeration of a activity based on BPMN 2.0'\n})\n\nexport enum MultipleInstanceType {\n Single = 'single',\n Parallel = 'parallel',\n Sequential = 'sequential'\n}\n\nregisterEnumType(MultipleInstanceType, {\n name: 'MultipleInstanceType',\n description: 'type enumeration of a multiple instance property based on BPMN 2.0'\n})\n\nexport enum ActivityUIType {\n Generated = 'generated',\n Template = 'template',\n Board = 'board',\n CustomElement = 'custom-element',\n Page = 'page',\n External = 'external'\n}\n\nregisterEnumType(ActivityUIType, {\n name: 'ActivityUIType',\n description: 'user-interface type enumeration of a activity'\n})\n\n@ObjectType()\nexport class AssigneeItem {\n @Field(type => OrgMemberTargetType, { nullable: true })\n type?: OrgMemberTargetType\n\n @Field({ nullable: true })\n value?: string\n\n @Field(type => OrgMemberTarget, { nullable: true })\n assignee?: OrgMemberTarget\n}\n\n@Entity()\n@Index('ix_activity_0', (activity: Activity) => [activity.domain, activity.name], { unique: true })\n@Index('ix_activity_1', (activity: Activity) => [activity.domain, activity.state, activity.priority], { unique: false })\n@ObjectType({ description: 'Entity for Activity' })\nexport class Activity {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID)\n readonly id: string\n\n @VersionColumn({ default: 1 })\n @Field({ nullable: true })\n version?: number = 1\n\n @ManyToOne(type => Domain)\n @Field(type => Domain, { nullable: true })\n domain?: Domain\n\n @RelationId((activity: Activity) => activity.domain)\n domainId?: string\n\n @Column()\n @Field({ nullable: true })\n name?: string\n\n /**\n * The display name a person reads. `name` is the callback key and renaming it breaks callbacks.\n *\n * ── Why this is a column ──────────────────────────────────────────────────\n * It was declared on InstallableActivity only, and installActivity spread the template onto this\n * row, so a field with no column here was dropped and the save reported success. The result was\n * that 「부적합 처분 승인」 reached exactly one screen — the catalog, which reads the template\n * registry directly — while every screen that reads this row showed the instance name and the\n * instance description instead. The activity's own name appeared nowhere on the approval screen.\n */\n @Column({ nullable: true })\n @Field({ nullable: true, description: 'Display name for a person. `name` is the callback key.' })\n label?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n description?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true, description: 'BPMN 2.0 task type' })\n activityType?: ActivityType\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n state?: ActivityStatus\n\n @Column('simple-json', { nullable: true })\n @Field(type => [ActivitySearchKeyItem], { nullable: true })\n searchKeys?: ActivitySearchKeyItem[]\n\n /**\n * What an approver reads, and the part each value plays.\n *\n * The approval screen has one frame for every activity — ribbon, content, timeline, comment — and\n * the content is drawn by whichever of the six ui types the activity names. Five of the six point\n * at something built by hand; the sixth, `generated`, draws the model as a list of name and value\n * pairs. A list of pairs answers \"what are the values\" and not \"what happens if I approve\", which\n * is the only question this screen exists for, so every activity that needed the second answer\n * left `generated` and shipped a custom element. plant wrote four of them and all four laid out\n * the same five slots in the same order.\n *\n * Declaring the slots lets `generated` draw a decision. It also reaches the activity with no\n * screen at all: the twin actuation approval, whose ten values arrive as a flat list today and\n * whose approval is the one that actually moves equipment.\n *\n * Empty means nobody has declared it, and `generated` falls back to the model as before.\n */\n @Column('simple-json', { nullable: true })\n @Field(type => [ActivityDecisionKeyItem], {\n nullable: true,\n description: 'Which input values an approver judges by, and the part each one plays'\n })\n decisionKeys?: ActivityDecisionKeyItem[]\n\n @Column('simple-json', { nullable: true })\n @Field(type => [ActivityModelItem], { nullable: true })\n model?: ActivityModelItem[]\n\n @Column({ nullable: true, default: 1 })\n @Field({ nullable: true })\n priority?: number = 1\n\n @Column({ nullable: true })\n @Field({ nullable: true, description: 'Whether the purpose of starting the activity is to issue or post' })\n startingType?: ActivityStartingType\n\n @Column({ nullable: true })\n @Field({\n nullable: true,\n description:\n 'Parallel or sequential are properties as a multi-instance activity, otherwise it means a single instance.'\n })\n multiple?: MultipleInstanceType\n\n @Column({ nullable: true })\n @Field({ nullable: true, description: 'Autostart schedule in crontab format' })\n schedule?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true, description: 'ID of the autostart schedule registered in the schedule service' })\n scheduleId?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true, description: 'Time zone to which automatic scheduling is applied' })\n timezone?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true, description: 'Standard time for this activity to be performed' })\n standardTime?: number\n\n @ManyToOne(type => Role, { nullable: true })\n @Field(type => Role, { nullable: true })\n issuerRole?: Role\n\n @RelationId((activity: Activity) => activity.issuerRole)\n issuerRoleId?: string\n\n @ManyToOne(type => Role, { nullable: true })\n @Field(type => Role, { nullable: true, description: 'Roles eligible to pick up activity from the activity bank.' })\n assigneeRole?: Role\n\n @RelationId((activity: Activity) => activity.assigneeRole)\n assigneeRoleId?: string\n\n @ManyToOne(type => Role, { nullable: true })\n @Field(type => Role, { nullable: true, description: 'The final authority on a given activity.' })\n supervisoryRole?: Role\n\n @RelationId((activity: Activity) => activity.supervisoryRole)\n supervisoryRoleId?: string\n\n @Column('simple-json', { nullable: true })\n @Field(type => [AssigneeItem], { nullable: true, description: 'Who to resolve for the activity.' })\n assignees?: AssigneeItem[]\n\n @Column('simple-json', { nullable: true })\n @Field(type => [ApprovalLineItem], {\n nullable: true,\n description: 'Approval line for handling the activity.'\n })\n approvalLine?: ApprovalLineItem[]\n\n /**\n * **반려하면 끝인가.**\n *\n * ── 왜 이 축이 필요한가 ──────────────────────────────────────────────────\n * 반려된 스레드는 `restartActivityThread` 로 되살릴 수 있고, 그러면 다음 차수의 결재가 새로 선다.\n * 휴가 신청처럼 **고쳐서 다시 내는** 업무에는 그것이 맞다.\n *\n * 그런데 되돌릴 수 없는 판정을 다루는 업무가 있다 — 부적합 처분, 트윈 조치. 그런 것은 반려되는\n * 순간 대상이 닫힌다. 그 뒤에 결재를 되살리면 **사람은 승인할 것이 있다고 보는데 승인에 효력이\n * 없다.** 승인해도 아무 일이 일어나지 않고 오류도 안 난다.\n *\n * 참이면 되살리지 못한다. 다시 하려면 새로 낸다.\n *\n * ── 기본값은 거짓이다 ────────────────────────────────────────────────────\n * 지금 있는 업무들은 되살릴 수 있는 것을 전제로 만들어졌다. 기본을 참으로 두면 그 업무들의 거동이\n * 말없이 바뀐다.\n */\n @Column({ type: 'boolean', nullable: true, default: false })\n @Field({ nullable: true, description: 'true when a rejection closes the case for good — it cannot be restarted' })\n rejectionIsFinal?: boolean\n\n @Column({ nullable: true })\n @Field({ nullable: true, description: 'The type of UI to be shown when a task is performed' })\n uiType?: ActivityUIType\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n uiSource?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true, description: 'The type of view to be shown when a task is approved' })\n viewType?: ActivityUIType\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n viewSource?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true, description: 'The type of report to be shown when a task is approved' })\n reportType?: ActivityUIType\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n reportSource?: string\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(type => User, { nullable: true, description: 'User assigned to the client application' })\n client?: User\n\n @RelationId((activity: Activity) => activity.client)\n clientId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true })\n creator?: User\n\n @RelationId((activity: Activity) => activity.creator)\n creatorId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true })\n updater?: User\n\n @RelationId((activity: Activity) => activity.updater)\n updaterId?: string\n\n @Field(type => String, { nullable: true })\n thumbnail?: string\n}\n"]}
|
|
1
|
+
{"version":3,"file":"activity.js","sourceRoot":"","sources":["../../../server/service/activity/activity.ts"],"names":[],"mappings":";;;;AAAA,+CAAsE;AACtE,qCAYgB;AAEhB,yDAAsD;AACtD,iDAA8C;AAC9C,+DAAqG;AAErG,qEAA4D;AAC5D,yFAA0E;AAC1E,6FAA8E;AAE9E,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,iCAAe,CAAA;IACf,uCAAqB,CAAA;IACrB,2CAAyB,CAAA;AAC3B,CAAC,EAJW,cAAc,8BAAd,cAAc,QAIzB;AAED,IAAA,+BAAgB,EAAC,cAAc,EAAE;IAC/B,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,iCAAiC;CAC/C,CAAC,CAAA;AAEF,IAAY,oBAIX;AAJD,WAAY,oBAAoB;IAC9B,iCAAS,CAAA;IACT,qCAAa,CAAA;IACb,uCAAe,CAAA;AACjB,CAAC,EAJW,oBAAoB,oCAApB,oBAAoB,QAI/B;AAED,IAAA,+BAAgB,EAAC,oBAAoB,EAAE;IACrC,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EAAE,kEAAkE;CAChF,CAAC,CAAA;AAEF,IAAY,YAWX;AAXD,WAAY,YAAY;IACtB,6BAAa,CAAA;IACb,mCAAmB,CAAA;IACnB,6BAAa,CAAA;IACb,mCAAmB,CAAA;IACnB,6BAAa,CAAA;IACb,iCAAiB,CAAA;IACjB,8CAA8B,CAAA;IAC9B,iCAAiB,CAAA;IACjB,0CAA0B,CAAA;IAC1B,6BAAa,CAAA;AACf,CAAC,EAXW,YAAY,4BAAZ,YAAY,QAWvB;AAED,IAAA,+BAAgB,EAAC,YAAY,EAAE;IAC7B,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,kDAAkD;CAChE,CAAC,CAAA;AAEF,IAAY,oBAIX;AAJD,WAAY,oBAAoB;IAC9B,yCAAiB,CAAA;IACjB,6CAAqB,CAAA;IACrB,iDAAyB,CAAA;AAC3B,CAAC,EAJW,oBAAoB,oCAApB,oBAAoB,QAI/B;AAED,IAAA,+BAAgB,EAAC,oBAAoB,EAAE;IACrC,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EAAE,oEAAoE;CAClF,CAAC,CAAA;AAEF,IAAY,cAOX;AAPD,WAAY,cAAc;IACxB,yCAAuB,CAAA;IACvB,uCAAqB,CAAA;IACrB,iCAAe,CAAA;IACf,kDAAgC,CAAA;IAChC,+BAAa,CAAA;IACb,uCAAqB,CAAA;AACvB,CAAC,EAPW,cAAc,8BAAd,cAAc,QAOzB;AAED,IAAA,+BAAgB,EAAC,cAAc,EAAE;IAC/B,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,+CAA+C;CAC7D,CAAC,CAAA;AAGK,IAAM,YAAY,GAAlB,MAAM,YAAY;CASxB,CAAA;AATY,oCAAY;AAEvB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kCAAmB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;0CAC7B;AAG1B;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2CACZ;AAGd;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,8BAAe,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACxC,8BAAe;8CAAA;uBARf,YAAY;IADxB,IAAA,yBAAU,GAAE;GACA,YAAY,CASxB;AAMM,IAAM,QAAQ,GAAd,MAAM,QAAQ;IAAd;QAOL,YAAO,GAAY,CAAC,CAAA;QAyEpB,aAAQ,GAAY,CAAC,CAAA;IAsJvB,CAAC;CAAA,CAAA;AAtOY,4BAAQ;AAGV;IAFR,IAAA,gCAAsB,EAAC,MAAM,CAAC;IAC9B,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,CAAC;;oCACC;AAInB;IAFC,IAAA,uBAAa,EAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IAC7B,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yCACN;AAIpB;IAFC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,cAAM,CAAC;IACzB,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,cAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACjC,cAAM;wCAAA;AAGf;IADC,IAAA,oBAAU,EAAC,CAAC,QAAkB,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;;0CACnC;AAIjB;IAFC,IAAA,gBAAM,GAAE;IACR,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sCACb;AAcb;IAFC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC1B,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,wDAAwD,EAAE,CAAC;;uCACnF;AAId;IAFC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC1B,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CACN;AAIpB;IAFC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC1B,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC;;8CAClC;AAI3B;IAFC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC1B,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uCACJ;AAItB;IAFC,IAAA,gBAAM,EAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACzC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,wDAAqB,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;4CACvB;AAwBpC;IALC,IAAA,gBAAM,EAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACzC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,4DAAuB,CAAC,EAAE;QACxC,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,uEAAuE;KACrF,CAAC;;8CACsC;AAIxC;IAFC,IAAA,gBAAM,EAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACzC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,0CAAiB,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uCAC5B;AAI3B;IAFC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACtC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;0CACL;AAIrB;IAFC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC1B,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,kEAAkE,EAAE,CAAC;;8CACxE;AAQnC;IANC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC1B,IAAA,oBAAK,EAAC;QACL,QAAQ,EAAE,IAAI;QACd,WAAW,EACT,2GAA2G;KAC9G,CAAC;;0CAC6B;AAI/B;IAFC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC1B,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,sCAAsC,EAAE,CAAC;;0CAC9D;AAIjB;IAFC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC1B,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,iEAAiE,EAAE,CAAC;;4CACvF;AAInB;IAFC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC1B,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,oDAAoD,EAAE,CAAC;;0CAC5E;AAIjB;IAFC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC1B,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,iDAAiD,EAAE,CAAC;;8CACrE;AAIrB;IAFC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC3C,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCAC3B,gBAAI;4CAAA;AAGjB;IADC,IAAA,oBAAU,EAAC,CAAC,QAAkB,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;;8CACnC;AAgBrB;IAVC,IAAA,oBAAU,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,CAAC;IACxB,IAAA,mBAAS,EAAC;QACT,IAAI,EAAE,2BAA2B;QACjC,UAAU,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,oBAAoB,EAAE,IAAI,EAAE;QACjE,iBAAiB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,oBAAoB,EAAE,IAAI,EAAE;KACpE,CAAC;IACD,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,gBAAI,CAAC,EAAE;QACrB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,2FAA2F;KACzG,CAAC;;+CACoB;AAGtB;IADC,IAAA,oBAAU,EAAC,CAAC,QAAkB,EAAE,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;;iDACjC;AAI1B;IAFC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC3C,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,0CAA0C,EAAE,CAAC;sCAC/E,gBAAI;iDAAA;AAGtB;IADC,IAAA,oBAAU,EAAC,CAAC,QAAkB,EAAE,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;;mDACnC;AAI1B;IAFC,IAAA,gBAAM,EAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACzC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,kCAAkC,EAAE,CAAC;;2CACzE;AAO1B;IALC,IAAA,gBAAM,EAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACzC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,+BAAgB,CAAC,EAAE;QACjC,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,0CAA0C;KACxD,CAAC;;8CAC+B;AAqBjC;IAFC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC3D,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,yEAAyE,EAAE,CAAC;;kDACxF;AAI1B;IAFC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC1B,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,qDAAqD,EAAE,CAAC;;wCACvE;AAIvB;IAFC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC1B,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;0CACT;AAIjB;IAFC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC1B,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,sDAAsD,EAAE,CAAC;;0CACtE;AAIzB;IAFC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC1B,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;4CACP;AAInB;IAFC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC1B,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,wDAAwD,EAAE,CAAC;;4CACtE;AAI3B;IAFC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC1B,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8CACL;AAIrB;IAFC,IAAA,0BAAgB,GAAE;IAClB,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACd,IAAI;2CAAA;AAIhB;IAFC,IAAA,0BAAgB,GAAE;IAClB,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACd,IAAI;2CAAA;AAIhB;IAFC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC3C,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,yCAAyC,EAAE,CAAC;sCACvF,gBAAI;wCAAA;AAGb;IADC,IAAA,oBAAU,EAAC,CAAC,QAAkB,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;;0CACnC;AAIjB;IAFC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC3C,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCAC9B,gBAAI;yCAAA;AAGd;IADC,IAAA,oBAAU,EAAC,CAAC,QAAkB,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;;2CACnC;AAIlB;IAFC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC3C,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCAC9B,gBAAI;yCAAA;AAGd;IADC,IAAA,oBAAU,EAAC,CAAC,QAAkB,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;;2CACnC;AAGlB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2CACxB;mBArOP,QAAQ;IAJpB,IAAA,gBAAM,GAAE;IACR,IAAA,eAAK,EAAC,eAAe,EAAE,CAAC,QAAkB,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAClG,IAAA,eAAK,EAAC,eAAe,EAAE,CAAC,QAAkB,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IACvH,IAAA,yBAAU,EAAC,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC;GACtC,QAAQ,CAsOpB","sourcesContent":["import { Field, ID, ObjectType, registerEnumType } from 'type-graphql'\nimport {\n Column,\n CreateDateColumn,\n Entity,\n Index,\n JoinTable,\n ManyToMany,\n ManyToOne,\n PrimaryGeneratedColumn,\n RelationId,\n UpdateDateColumn,\n VersionColumn\n} from 'typeorm'\n\nimport { Role, User } from '@things-factory/auth-base'\nimport { Domain } from '@things-factory/shell'\nimport { OrgMemberTargetType, OrgMemberTarget, ApprovalLineItem } from '@things-factory/organization'\n\nimport { ActivityModelItem } from './activity-model-type.js'\nimport { ActivitySearchKeyItem } from './activity-search-key-item-type.js'\nimport { ActivityDecisionKeyItem } from './activity-decision-key-item-type.js'\n\nexport enum ActivityStatus {\n Draft = 'draft',\n Released = 'released',\n Deprecated = 'deprecated'\n}\n\nregisterEnumType(ActivityStatus, {\n name: 'ActivityStatus',\n description: 'state enumeration of a activity'\n})\n\nexport enum ActivityStartingType {\n None = '',\n Post = 'post',\n Issue = 'issue'\n}\n\nregisterEnumType(ActivityStartingType, {\n name: 'ActivityStartingType',\n description: 'whether the purpose of starting the activity is to issue or post'\n})\n\nexport enum ActivityType {\n Task = 'task',\n Service = 'service',\n Send = 'send',\n Receive = 'receive',\n User = 'user',\n Manual = 'manual',\n BusinessRule = 'business-rule',\n Script = 'script',\n Subprocess = 'sub-process',\n Call = 'call'\n}\n\nregisterEnumType(ActivityType, {\n name: 'ActivityType',\n description: 'type enumeration of a activity based on BPMN 2.0'\n})\n\nexport enum MultipleInstanceType {\n Single = 'single',\n Parallel = 'parallel',\n Sequential = 'sequential'\n}\n\nregisterEnumType(MultipleInstanceType, {\n name: 'MultipleInstanceType',\n description: 'type enumeration of a multiple instance property based on BPMN 2.0'\n})\n\nexport enum ActivityUIType {\n Generated = 'generated',\n Template = 'template',\n Board = 'board',\n CustomElement = 'custom-element',\n Page = 'page',\n External = 'external'\n}\n\nregisterEnumType(ActivityUIType, {\n name: 'ActivityUIType',\n description: 'user-interface type enumeration of a activity'\n})\n\n@ObjectType()\nexport class AssigneeItem {\n @Field(type => OrgMemberTargetType, { nullable: true })\n type?: OrgMemberTargetType\n\n @Field({ nullable: true })\n value?: string\n\n @Field(type => OrgMemberTarget, { nullable: true })\n assignee?: OrgMemberTarget\n}\n\n@Entity()\n@Index('ix_activity_0', (activity: Activity) => [activity.domain, activity.name], { unique: true })\n@Index('ix_activity_1', (activity: Activity) => [activity.domain, activity.state, activity.priority], { unique: false })\n@ObjectType({ description: 'Entity for Activity' })\nexport class Activity {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID)\n readonly id: string\n\n @VersionColumn({ default: 1 })\n @Field({ nullable: true })\n version?: number = 1\n\n @ManyToOne(type => Domain)\n @Field(type => Domain, { nullable: true })\n domain?: Domain\n\n @RelationId((activity: Activity) => activity.domain)\n domainId?: string\n\n @Column()\n @Field({ nullable: true })\n name?: string\n\n /**\n * The display name a person reads. `name` is the callback key and renaming it breaks callbacks.\n *\n * ── Why this is a column ──────────────────────────────────────────────────\n * It was declared on InstallableActivity only, and installActivity spread the template onto this\n * row, so a field with no column here was dropped and the save reported success. The result was\n * that 「부적합 처분 승인」 reached exactly one screen — the catalog, which reads the template\n * registry directly — while every screen that reads this row showed the instance name and the\n * instance description instead. The activity's own name appeared nowhere on the approval screen.\n */\n @Column({ nullable: true })\n @Field({ nullable: true, description: 'Display name for a person. `name` is the callback key.' })\n label?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n description?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true, description: 'BPMN 2.0 task type' })\n activityType?: ActivityType\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n state?: ActivityStatus\n\n @Column('simple-json', { nullable: true })\n @Field(type => [ActivitySearchKeyItem], { nullable: true })\n searchKeys?: ActivitySearchKeyItem[]\n\n /**\n * What an approver reads, and the part each value plays.\n *\n * The approval screen has one frame for every activity — ribbon, content, timeline, comment — and\n * the content is drawn by whichever of the six ui types the activity names. Five of the six point\n * at something built by hand; the sixth, `generated`, draws the model as a list of name and value\n * pairs. A list of pairs answers \"what are the values\" and not \"what happens if I approve\", which\n * is the only question this screen exists for, so every activity that needed the second answer\n * left `generated` and shipped a custom element. plant wrote four of them and all four laid out\n * the same five slots in the same order.\n *\n * Declaring the slots lets `generated` draw a decision. It also reaches the activity with no\n * screen at all: the twin actuation approval, whose ten values arrive as a flat list today and\n * whose approval is the one that actually moves equipment.\n *\n * Empty means nobody has declared it, and `generated` falls back to the model as before.\n */\n @Column('simple-json', { nullable: true })\n @Field(type => [ActivityDecisionKeyItem], {\n nullable: true,\n description: 'Which input values an approver judges by, and the part each one plays'\n })\n decisionKeys?: ActivityDecisionKeyItem[]\n\n @Column('simple-json', { nullable: true })\n @Field(type => [ActivityModelItem], { nullable: true })\n model?: ActivityModelItem[]\n\n @Column({ nullable: true, default: 1 })\n @Field({ nullable: true })\n priority?: number = 1\n\n @Column({ nullable: true })\n @Field({ nullable: true, description: 'Whether the purpose of starting the activity is to issue or post' })\n startingType?: ActivityStartingType\n\n @Column({ nullable: true })\n @Field({\n nullable: true,\n description:\n 'Parallel or sequential are properties as a multi-instance activity, otherwise it means a single instance.'\n })\n multiple?: MultipleInstanceType\n\n @Column({ nullable: true })\n @Field({ nullable: true, description: 'Autostart schedule in crontab format' })\n schedule?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true, description: 'ID of the autostart schedule registered in the schedule service' })\n scheduleId?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true, description: 'Time zone to which automatic scheduling is applied' })\n timezone?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true, description: 'Standard time for this activity to be performed' })\n standardTime?: number\n\n @ManyToOne(type => Role, { nullable: true })\n @Field(type => Role, { nullable: true })\n issuerRole?: Role\n\n @RelationId((activity: Activity) => activity.issuerRole)\n issuerRoleId?: string\n\n /*\n * The pool: anyone holding any one of these roles may pick a case of this activity (ADR-0091 decision 9,\n * user 2026-10-20 - one task can be done from several roles). Empty is no pool.\n */\n @ManyToMany(type => Role)\n @JoinTable({\n name: 'activities_assignee_roles',\n joinColumn: { name: 'activities_id', referencedColumnName: 'id' },\n inverseJoinColumn: { name: 'roles_id', referencedColumnName: 'id' }\n })\n @Field(type => [Role], {\n nullable: true,\n description: 'Roles whose holders may pick up a case of this activity - anyone holding any one of them.'\n })\n assigneeRoles?: Role[]\n\n @RelationId((activity: Activity) => activity.assigneeRoles)\n assigneeRoleIds?: string[]\n\n @ManyToOne(type => Role, { nullable: true })\n @Field(type => Role, { nullable: true, description: 'The final authority on a given activity.' })\n supervisoryRole?: Role\n\n @RelationId((activity: Activity) => activity.supervisoryRole)\n supervisoryRoleId?: string\n\n @Column('simple-json', { nullable: true })\n @Field(type => [AssigneeItem], { nullable: true, description: 'Who to resolve for the activity.' })\n assignees?: AssigneeItem[]\n\n @Column('simple-json', { nullable: true })\n @Field(type => [ApprovalLineItem], {\n nullable: true,\n description: 'Approval line for handling the activity.'\n })\n approvalLine?: ApprovalLineItem[]\n\n /**\n * **반려하면 끝인가.**\n *\n * ── 왜 이 축이 필요한가 ──────────────────────────────────────────────────\n * 반려된 스레드는 `restartActivityThread` 로 되살릴 수 있고, 그러면 다음 차수의 결재가 새로 선다.\n * 휴가 신청처럼 **고쳐서 다시 내는** 업무에는 그것이 맞다.\n *\n * 그런데 되돌릴 수 없는 판정을 다루는 업무가 있다 — 부적합 처분, 트윈 조치. 그런 것은 반려되는\n * 순간 대상이 닫힌다. 그 뒤에 결재를 되살리면 **사람은 승인할 것이 있다고 보는데 승인에 효력이\n * 없다.** 승인해도 아무 일이 일어나지 않고 오류도 안 난다.\n *\n * 참이면 되살리지 못한다. 다시 하려면 새로 낸다.\n *\n * ── 기본값은 거짓이다 ────────────────────────────────────────────────────\n * 지금 있는 업무들은 되살릴 수 있는 것을 전제로 만들어졌다. 기본을 참으로 두면 그 업무들의 거동이\n * 말없이 바뀐다.\n */\n @Column({ type: 'boolean', nullable: true, default: false })\n @Field({ nullable: true, description: 'true when a rejection closes the case for good — it cannot be restarted' })\n rejectionIsFinal?: boolean\n\n @Column({ nullable: true })\n @Field({ nullable: true, description: 'The type of UI to be shown when a task is performed' })\n uiType?: ActivityUIType\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n uiSource?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true, description: 'The type of view to be shown when a task is approved' })\n viewType?: ActivityUIType\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n viewSource?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true, description: 'The type of report to be shown when a task is approved' })\n reportType?: ActivityUIType\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n reportSource?: string\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(type => User, { nullable: true, description: 'User assigned to the client application' })\n client?: User\n\n @RelationId((activity: Activity) => activity.client)\n clientId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true })\n creator?: User\n\n @RelationId((activity: Activity) => activity.creator)\n creatorId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true })\n updater?: User\n\n @RelationId((activity: Activity) => activity.updater)\n updaterId?: string\n\n @Field(type => String, { nullable: true })\n thumbnail?: string\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-subscriber.js","sourceRoot":"","sources":["../../../server/service/activity/event-subscriber.ts"],"names":[],"mappings":";;;;AAAA,qCAAyC;AAEzC,8DAAkE;AAElE,+CAAwC;AACxC,+DAAuD;AAGhD,IAAM,+BAA+B,GAArC,MAAM,+BAAgC,SAAQ,yCAAkD;IACrG,IAAW,MAAM;QACf,OAAO,sBAAQ,CAAA;IACjB,CAAC;IAED,IAAW,aAAa;QACtB,OAAO,qCAAe,CAAA;IACxB,CAAC;
|
|
1
|
+
{"version":3,"file":"event-subscriber.js","sourceRoot":"","sources":["../../../server/service/activity/event-subscriber.ts"],"names":[],"mappings":";;;;AAAA,qCAAyC;AAEzC,8DAAkE;AAElE,+CAAwC;AACxC,+DAAuD;AAGhD,IAAM,+BAA+B,GAArC,MAAM,+BAAgC,SAAQ,yCAAkD;IACrG,IAAW,MAAM;QACf,OAAO,sBAAQ,CAAA;IACjB,CAAC;IAED,IAAW,aAAa;QACtB,OAAO,qCAAe,CAAA;IACxB,CAAC;CAEF,CAAA;AATY,0EAA+B;0CAA/B,+BAA+B;IAD3C,IAAA,yBAAe,GAAE;GACL,+BAA+B,CAS3C","sourcesContent":["import { EventSubscriber } from 'typeorm'\n\nimport { HistoryEntitySubscriber } from '@operato/typeorm-history'\n\nimport { Activity } from './activity.js'\nimport { ActivityHistory } from './activity-history.js'\n\n@EventSubscriber()\nexport class ActivityHistoryEntitySubscriber extends HistoryEntitySubscriber<Activity, ActivityHistory> {\n public get entity() {\n return Activity\n }\n\n public get historyEntity() {\n return ActivityHistory\n }\n\n}\n"]}
|
|
@@ -32,8 +32,7 @@ export declare class ActivityInstanceHistory implements HistoryEntityInterface<A
|
|
|
32
32
|
[key: string]: any;
|
|
33
33
|
};
|
|
34
34
|
refBy?: string;
|
|
35
|
-
|
|
36
|
-
assigneeRoleId?: string;
|
|
35
|
+
assigneeRoleIds?: string[];
|
|
37
36
|
supervisoryRole?: Role;
|
|
38
37
|
supervisoryRoleId?: string;
|
|
39
38
|
dueAt?: Date;
|
|
@@ -152,14 +152,10 @@ tslib_1.__decorate([
|
|
|
152
152
|
tslib_1.__metadata("design:type", String)
|
|
153
153
|
], ActivityInstanceHistory.prototype, "refBy", void 0);
|
|
154
154
|
tslib_1.__decorate([
|
|
155
|
-
(0, typeorm_1.
|
|
156
|
-
(0, type_graphql_1.Field)(type =>
|
|
157
|
-
tslib_1.__metadata("design:type",
|
|
158
|
-
], ActivityInstanceHistory.prototype, "
|
|
159
|
-
tslib_1.__decorate([
|
|
160
|
-
(0, typeorm_1.RelationId)((activityInstance) => activityInstance.assigneeRole),
|
|
161
|
-
tslib_1.__metadata("design:type", String)
|
|
162
|
-
], ActivityInstanceHistory.prototype, "assigneeRoleId", void 0);
|
|
155
|
+
(0, typeorm_1.Column)('simple-json', { nullable: true }),
|
|
156
|
+
(0, type_graphql_1.Field)(type => [String], { nullable: true, description: 'Ids of the assignee roles at this version.' }),
|
|
157
|
+
tslib_1.__metadata("design:type", Array)
|
|
158
|
+
], ActivityInstanceHistory.prototype, "assigneeRoleIds", void 0);
|
|
163
159
|
tslib_1.__decorate([
|
|
164
160
|
(0, typeorm_1.ManyToOne)(type => auth_base_1.Role, { nullable: true }),
|
|
165
161
|
(0, type_graphql_1.Field)(type => auth_base_1.Role, { nullable: true }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activity-instance-history.js","sourceRoot":"","sources":["../../../server/service/activity-instance/activity-instance-history.ts"],"names":[],"mappings":"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","sourcesContent":["import { Field, ID, Int, ObjectType } from 'type-graphql'\nimport { Column, Entity, Index, ManyToOne, PrimaryGeneratedColumn, RelationId } from 'typeorm'\n\nimport {\n HistoryActionColumn,\n HistoryActionType,\n HistoryEntityInterface,\n HistoryOriginalIdColumn\n} from '@operato/typeorm-history'\nimport { Role, User } from '@things-factory/auth-base'\nimport { config } from '@things-factory/env'\nimport { Domain, ScalarObject } from '@things-factory/shell'\nimport { ApprovalLineItem } from '@things-factory/organization'\n\nimport { ActivityType, ActivityUIType } from '../activity/activity.js'\nimport { ActivityInstance, ActivityInstanceStatus } from './activity-instance.js'\n\nconst ORMCONFIG = config.get('ormconfig', {})\nconst DATABASE_TYPE = ORMCONFIG.type\n\n@Entity()\n@Index(\n 'ix_activity_instance_history_0',\n (activityInstanceHistory: ActivityInstanceHistory) => [\n activityInstanceHistory.originalId,\n activityInstanceHistory.version\n ],\n {\n unique: true\n }\n)\n@Index(\n 'ix_activity_instance_history_1',\n (activityInstanceHistory: ActivityInstanceHistory) => [\n activityInstanceHistory.domain,\n activityInstanceHistory.originalId,\n activityInstanceHistory.version\n ],\n { unique: true }\n)\n@ObjectType({ description: 'History Entity of ActivityInstance' })\nexport class ActivityInstanceHistory implements HistoryEntityInterface<ActivityInstance> {\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(type => Domain)\n domain?: Domain\n\n @RelationId((activityInstance: ActivityInstance) => activityInstance.domain)\n domainId?: string\n\n @Column()\n @Field({ nullable: true })\n name?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n description?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n activityType?: ActivityType\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n adhocType?: string\n\n @Column({ nullable: true, default: '' })\n @Field({ nullable: true })\n key01?: string = ''\n\n @Column({ nullable: true, default: '' })\n @Field({ nullable: true })\n key02?: string = ''\n\n @Column({ nullable: true, default: '' })\n @Field({ nullable: true })\n key03?: string = ''\n\n @Column({ nullable: true, default: '' })\n @Field({ nullable: true })\n key04?: string = ''\n\n @Column({ nullable: true, default: '' })\n @Field({ nullable: true })\n key05?: string = ''\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n uiType?: ActivityUIType\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n uiSource?: string\n\n @Column({ nullable: true, default: 1 })\n @Field({ nullable: true })\n priority?: number = 1\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n state?: ActivityInstanceStatus\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n reason?: string\n\n @Column({ nullable: true })\n @Field(type => Int, { nullable: true })\n threadsMin?: number\n\n @Column({ nullable: true })\n @Field(type => Int, { nullable: true })\n threadsMax?: number\n\n @Column('simple-json', { nullable: true })\n @Field(type => ScalarObject, { nullable: true })\n input?: { [key: string]: any }\n\n @Column('simple-json', { nullable: true })\n @Field(type => ScalarObject, { nullable: true })\n output?: { [key: string]: any }\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n refBy?: string\n\n @ManyToOne(type => Role, { nullable: true })\n @Field(type => Role, { nullable: true })\n assigneeRole?: Role\n\n @RelationId((activityInstance: ActivityInstance) => activityInstance.assigneeRole)\n assigneeRoleId?: string\n\n @ManyToOne(type => Role, { nullable: true })\n @Field(type => Role, { nullable: true })\n supervisoryRole?: Role\n\n @RelationId((activityInstance: ActivityInstance) => activityInstance.supervisoryRole)\n supervisoryRoleId?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n dueAt?: Date\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n transaction?: string\n\n @Column('simple-json', { nullable: true })\n @Field(type => [ApprovalLineItem], { nullable: true })\n approvalLine?: ApprovalLineItem[]\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n createdAt?: Date\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n updatedAt?: Date\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n issuedAt?: 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 @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true })\n creator?: User\n\n @RelationId((activityInstance: ActivityInstance) => activityInstance.creator)\n creatorId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true })\n updater?: User\n\n @RelationId((activityInstance: ActivityInstance) => activityInstance.updater)\n updaterId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n issuer?: User\n\n @RelationId((activityInstance: ActivityInstance) => activityInstance.issuer)\n issuerId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n starter?: User\n\n @RelationId((activityInstance: ActivityInstance) => activityInstance.starter)\n starterId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n terminator?: User\n\n @RelationId((activityInstance: ActivityInstance) => activityInstance.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 : DATABASE_TYPE == 'mssql'\n ? 'nvarchar'\n : 'varchar',\n enum:\n DATABASE_TYPE == 'postgres' || DATABASE_TYPE == 'mysql' || DATABASE_TYPE == 'mariadb'\n ? HistoryActionType\n : undefined,\n length: DATABASE_TYPE == 'postgres' || DATABASE_TYPE == 'mysql' || DATABASE_TYPE == 'mariadb' ? undefined : 10\n })\n public action!: HistoryActionType\n\n isDelegatable(): boolean {\n switch (this.state) {\n case ActivityInstanceStatus.Issued:\n case ActivityInstanceStatus.Assigned:\n return true\n default:\n return false\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"activity-instance-history.js","sourceRoot":"","sources":["../../../server/service/activity-instance/activity-instance-history.ts"],"names":[],"mappings":"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","sourcesContent":["import { Field, ID, Int, ObjectType } from 'type-graphql'\nimport { Column, Entity, Index, ManyToOne, PrimaryGeneratedColumn, RelationId } from 'typeorm'\n\nimport {\n HistoryActionColumn,\n HistoryActionType,\n HistoryEntityInterface,\n HistoryOriginalIdColumn\n} from '@operato/typeorm-history'\nimport { Role, User } from '@things-factory/auth-base'\nimport { config } from '@things-factory/env'\nimport { Domain, ScalarObject } from '@things-factory/shell'\nimport { ApprovalLineItem } from '@things-factory/organization'\n\nimport { ActivityType, ActivityUIType } from '../activity/activity.js'\nimport { ActivityInstance, ActivityInstanceStatus } from './activity-instance.js'\n\nconst ORMCONFIG = config.get('ormconfig', {})\nconst DATABASE_TYPE = ORMCONFIG.type\n\n@Entity()\n@Index(\n 'ix_activity_instance_history_0',\n (activityInstanceHistory: ActivityInstanceHistory) => [\n activityInstanceHistory.originalId,\n activityInstanceHistory.version\n ],\n {\n unique: true\n }\n)\n@Index(\n 'ix_activity_instance_history_1',\n (activityInstanceHistory: ActivityInstanceHistory) => [\n activityInstanceHistory.domain,\n activityInstanceHistory.originalId,\n activityInstanceHistory.version\n ],\n { unique: true }\n)\n@ObjectType({ description: 'History Entity of ActivityInstance' })\nexport class ActivityInstanceHistory implements HistoryEntityInterface<ActivityInstance> {\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(type => Domain)\n domain?: Domain\n\n @RelationId((activityInstance: ActivityInstance) => activityInstance.domain)\n domainId?: string\n\n @Column()\n @Field({ nullable: true })\n name?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n description?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n activityType?: ActivityType\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n adhocType?: string\n\n @Column({ nullable: true, default: '' })\n @Field({ nullable: true })\n key01?: string = ''\n\n @Column({ nullable: true, default: '' })\n @Field({ nullable: true })\n key02?: string = ''\n\n @Column({ nullable: true, default: '' })\n @Field({ nullable: true })\n key03?: string = ''\n\n @Column({ nullable: true, default: '' })\n @Field({ nullable: true })\n key04?: string = ''\n\n @Column({ nullable: true, default: '' })\n @Field({ nullable: true })\n key05?: string = ''\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n uiType?: ActivityUIType\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n uiSource?: string\n\n @Column({ nullable: true, default: 1 })\n @Field({ nullable: true })\n priority?: number = 1\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n state?: ActivityInstanceStatus\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n reason?: string\n\n @Column({ nullable: true })\n @Field(type => Int, { nullable: true })\n threadsMin?: number\n\n @Column({ nullable: true })\n @Field(type => Int, { nullable: true })\n threadsMax?: number\n\n @Column('simple-json', { nullable: true })\n @Field(type => ScalarObject, { nullable: true })\n input?: { [key: string]: any }\n\n @Column('simple-json', { nullable: true })\n @Field(type => ScalarObject, { nullable: true })\n output?: { [key: string]: any }\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n refBy?: string\n\n /* The pool as it stood - the ids, copied by name from the case's assigneeRoleIds. */\n @Column('simple-json', { nullable: true })\n @Field(type => [String], { nullable: true, description: 'Ids of the assignee roles at this version.' })\n assigneeRoleIds?: string[]\n\n @ManyToOne(type => Role, { nullable: true })\n @Field(type => Role, { nullable: true })\n supervisoryRole?: Role\n\n @RelationId((activityInstance: ActivityInstance) => activityInstance.supervisoryRole)\n supervisoryRoleId?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n dueAt?: Date\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n transaction?: string\n\n @Column('simple-json', { nullable: true })\n @Field(type => [ApprovalLineItem], { nullable: true })\n approvalLine?: ApprovalLineItem[]\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n createdAt?: Date\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n updatedAt?: Date\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n issuedAt?: 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 @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true })\n creator?: User\n\n @RelationId((activityInstance: ActivityInstance) => activityInstance.creator)\n creatorId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true })\n updater?: User\n\n @RelationId((activityInstance: ActivityInstance) => activityInstance.updater)\n updaterId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n issuer?: User\n\n @RelationId((activityInstance: ActivityInstance) => activityInstance.issuer)\n issuerId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n starter?: User\n\n @RelationId((activityInstance: ActivityInstance) => activityInstance.starter)\n starterId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n terminator?: User\n\n @RelationId((activityInstance: ActivityInstance) => activityInstance.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 : DATABASE_TYPE == 'mssql'\n ? 'nvarchar'\n : 'varchar',\n enum:\n DATABASE_TYPE == 'postgres' || DATABASE_TYPE == 'mysql' || DATABASE_TYPE == 'mariadb'\n ? HistoryActionType\n : undefined,\n length: DATABASE_TYPE == 'postgres' || DATABASE_TYPE == 'mysql' || DATABASE_TYPE == 'mariadb' ? undefined : 10\n })\n public action!: HistoryActionType\n\n isDelegatable(): boolean {\n switch (this.state) {\n case ActivityInstanceStatus.Issued:\n case ActivityInstanceStatus.Assigned:\n return true\n default:\n return false\n }\n }\n}\n"]}
|
|
@@ -7,7 +7,7 @@ export declare class ActivityInstanceMutation {
|
|
|
7
7
|
draftActivityInstance(activityInstance: ActivityInstanceDraft, context: ResolverContext): Promise<ActivityInstance>;
|
|
8
8
|
issueActivityInstance(activityInstance: ActivityInstanceIssue, context: ResolverContext): Promise<ActivityInstance>;
|
|
9
9
|
pickActivityInstance(id: string, context: ResolverContext): Promise<ActivityThread>;
|
|
10
|
-
assignActivityInstance(id: string, assignees: string[], reason: string, dueAt: Date, context: ResolverContext): Promise<ActivityInstance>;
|
|
10
|
+
assignActivityInstance(id: string, assignees: string[], assigneeRoles: string[], reason: string, dueAt: Date, context: ResolverContext): Promise<ActivityInstance>;
|
|
11
11
|
endActivityInstance(id: string, output: {
|
|
12
12
|
[key: string]: any;
|
|
13
13
|
}, reason: string, context: ResolverContext): Promise<ActivityInstance>;
|
|
@@ -51,10 +51,11 @@ let ActivityInstanceMutation = class ActivityInstanceMutation {
|
|
|
51
51
|
async pickActivityInstance(id, context) {
|
|
52
52
|
return await (0, index_js_1.pick)(id, context);
|
|
53
53
|
}
|
|
54
|
-
async assignActivityInstance(id, assignees, reason, dueAt, context) {
|
|
54
|
+
async assignActivityInstance(id, assignees, assigneeRoles, reason, dueAt, context) {
|
|
55
55
|
return await (0, index_js_1.assign)({
|
|
56
56
|
id,
|
|
57
57
|
assignees,
|
|
58
|
+
assigneeRoles,
|
|
58
59
|
reason,
|
|
59
60
|
dueAt
|
|
60
61
|
}, context);
|
|
@@ -134,11 +135,15 @@ tslib_1.__decorate([
|
|
|
134
135
|
(0, type_graphql_1.Mutation)(returns => activity_instance_js_1.ActivityInstance, { description: 'To assign a ActivityInstance' }),
|
|
135
136
|
tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
|
|
136
137
|
tslib_1.__param(1, (0, type_graphql_1.Arg)('assignees', type => [String], { nullable: true, description: 'Email of assignee users' })),
|
|
137
|
-
tslib_1.__param(2, (0, type_graphql_1.Arg)('
|
|
138
|
-
|
|
139
|
-
|
|
138
|
+
tslib_1.__param(2, (0, type_graphql_1.Arg)('assigneeRoles', type => [String], {
|
|
139
|
+
nullable: true,
|
|
140
|
+
description: 'Ids of the roles to put the activity instance in the pool of: whoever holds any one of them and picks it first holds it. Only while the instance is issued and nobody holds it; not together with assignees.'
|
|
141
|
+
})),
|
|
142
|
+
tslib_1.__param(3, (0, type_graphql_1.Arg)('reason', { nullable: true })),
|
|
143
|
+
tslib_1.__param(4, (0, type_graphql_1.Arg)('dueAt', { nullable: true })),
|
|
144
|
+
tslib_1.__param(5, (0, type_graphql_1.Ctx)()),
|
|
140
145
|
tslib_1.__metadata("design:type", Function),
|
|
141
|
-
tslib_1.__metadata("design:paramtypes", [String, Array, String, Date, Object]),
|
|
146
|
+
tslib_1.__metadata("design:paramtypes", [String, Array, Array, String, Date, Object]),
|
|
142
147
|
tslib_1.__metadata("design:returntype", Promise)
|
|
143
148
|
], ActivityInstanceMutation.prototype, "assignActivityInstance", null);
|
|
144
149
|
tslib_1.__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activity-instance-mutation.js","sourceRoot":"","sources":["../../../server/service/activity-instance/activity-instance-mutation.ts"],"names":[],"mappings":";;;;AAAA,+CAAsE;AAGtE,iDAAoD;AAEpD,2EAAqG;AACrG,2FAAmF;AACnF,8EAAsE;AACtE,iEAAiF;AACjF,2EAA0F;AAGnF,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IACnC;;;OAGG;IAGG,AAAN,KAAK,CAAC,2BAA2B,CAAY,EAAU,EAAS,OAAwB;QACtF,OAAO,MAAM,IAAA,+BAAY,EAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IACxC,CAAC;IAKK,AAAN,KAAK,CAAC,4BAA4B,CACF,GAAa,EACpC,OAAwB;QAE/B,mGAAmG;QACnG,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;YACrB,MAAM,IAAA,+BAAY,EAAC,EAAE,EAAE,OAAO,CAAC,CAAA;QACjC,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IAGG,AAAN,KAAK,CAAC,qBAAqB,CACA,gBAAuC,EACzD,OAAwB;QAE/B,OAAO,MAAM,IAAA,gBAAK,EAAC,gBAAgB,EAAE,OAAO,CAAC,CAAA;IAC/C,CAAC;IAIK,AAAN,KAAK,CAAC,qBAAqB,CACA,gBAAuC,EACzD,OAAwB;QAE/B,OAAO,MAAM,IAAA,gBAAK,EAAC,gBAAgB,EAAE,OAAO,CAAC,CAAA;IAC/C,CAAC;IAQK,AAAN,KAAK,CAAC,oBAAoB,CAAY,EAAU,EAAS,OAAwB;QAC/E,OAAO,MAAM,IAAA,eAAI,EAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IAChC,CAAC;IAKK,AAAN,KAAK,CAAC,sBAAsB,CACf,EAAU,EAC2E,SAAmB,EAChF,MAAc,EACf,KAAW,EACtC,OAAwB;QAE/B,OAAO,MAAM,IAAA,iBAAM,EACjB;YACE,EAAE;YACF,SAAS;YACT,MAAM;YACN,KAAK;SACN,EACD,OAAO,CACR,CAAA;IACH,CAAC;IAKK,AAAN,KAAK,CAAC,mBAAmB,CACZ,EAAU,EACoC,MAA8B,EACpD,MAAc,EAC1C,OAAwB;QAE/B,OAAO,MAAM,IAAA,cAAG,EAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,CAAA;IACnD,CAAC;IAKK,AAAN,KAAK,CAAC,qBAAqB,CACd,EAAU,EACc,MAAc,EAC1C,OAAwB;QAE/B,OAAO,MAAM,IAAA,gBAAK,EAAC,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,CAAA;IAC7C,CAAC;IAKK,AAAN,KAAK,CAAC,sBAAsB,CACI,GAAa,EACpC,OAAwB;QAE/B,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,MAAM,IAAA,gBAAK,EAAC,EAAE,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,EAAE,OAAO,CAAC,CAAA;YACzD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;gBAChE,OAAO,KAAK,CAAA;YACd,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;CACF,CAAA;AAtIY,4DAAwB;AAO7B;IAFL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,4CAA4C,EAAE,CAAC;IACzD,mBAAA,IAAA,kBAAG,EAAC,IAAI,CAAC,CAAA;IAAc,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;2EAE9D;AAKK;IAHL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,wBAAS,EAAC,4FAA4F,CAAC;IACvG,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,sDAAsD,EAAE,CAAC;IAEnG,mBAAA,IAAA,kBAAG,EAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;IAC5B,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;4EAQP;AAsBK;IAFL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,uCAAgB,EAAE,EAAE,WAAW,EAAE,oCAAoC,EAAE,CAAC;IAE1F,mBAAA,IAAA,kBAAG,EAAC,kBAAkB,CAAC,CAAA;IACvB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;6CADqC,iDAAqB;;qEAIjE;AAIK;IAFL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,uCAAgB,EAAE,EAAE,WAAW,EAAE,oCAAoC,EAAE,CAAC;IAE1F,mBAAA,IAAA,kBAAG,EAAC,kBAAkB,CAAC,CAAA;IACvB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;6CADqC,iDAAqB;;qEAIjE;AAQK;IANL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,mCAAe,EAAE;QACpC,QAAQ,EAAE,IAAI;QACd,WAAW,EACT,mHAAmH;KACtH,CAAC;IAC0B,mBAAA,IAAA,kBAAG,EAAC,IAAI,CAAC,CAAA;IAAc,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;oEAEvD;AAKK;IAHL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,wBAAS,EAAC,4FAA4F,CAAC;IACvG,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,uCAAgB,EAAE,EAAE,WAAW,EAAE,8BAA8B,EAAE,CAAC;IAEpF,mBAAA,IAAA,kBAAG,EAAC,IAAI,CAAC,CAAA;IACT,mBAAA,IAAA,kBAAG,EAAC,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,yBAAyB,EAAE,CAAC,CAAA;IAC9F,mBAAA,IAAA,kBAAG,EAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IACjC,mBAAA,IAAA,kBAAG,EAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IAChC,mBAAA,IAAA,kBAAG,GAAE,CAAA;;oEADmC,IAAI;;sEAY9C;AAKK;IAHL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,wBAAS,EAAC,4FAA4F,CAAC;IACvG,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,uCAAgB,EAAE,EAAE,WAAW,EAAE,2BAA2B,EAAE,CAAC;IAEjF,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;;;;mEAGP;AAKK;IAHL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,wBAAS,EAAC,4FAA4F,CAAC;IACvG,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,uCAAgB,EAAE,EAAE,WAAW,EAAE,6BAA6B,EAAE,CAAC;IAEnF,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;;;;qEAGP;AAKK;IAHL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,wBAAS,EAAC,4FAA4F,CAAC;IACvG,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,qCAAqC,EAAE,CAAC;IAElF,mBAAA,IAAA,kBAAG,EAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;IAC5B,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;sEAYP;mCArIU,wBAAwB;IADpC,IAAA,uBAAQ,EAAC,uCAAgB,CAAC;GACd,wBAAwB,CAsIpC","sourcesContent":["import { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'\nimport { In } from 'typeorm'\n\nimport { ScalarObject } from '@things-factory/shell'\n\nimport { abort, assign, draft, end, pick, issue } from '../../controllers/activity-instance/index.js'\nimport { discardDraft } from '../../controllers/activity-instance/discard-draft.js'\nimport { ActivityThread } from '../activity-thread/activity-thread.js'\nimport { ActivityInstance, ActivityInstanceStatus } from './activity-instance.js'\nimport { ActivityInstanceIssue, ActivityInstanceDraft } from './activity-instance-type.js'\n\n@Resolver(ActivityInstance)\nexport class ActivityInstanceMutation {\n /*\n * Whoever wrote the draft may throw it away - the entitlement is checked in the body, as for draft\n * and issue below (ruling 2026-09-24). § controllers/activity-instance/discard-draft.ts\n */\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete Activity Instance of draft state' })\n async deleteDraftActivityInstance(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {\n return await discardDraft(id, context)\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"activity-instance\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => Boolean, { description: 'To delete multiple Activity Instances of draft state' })\n async deleteDraftActivityInstances(\n @Arg('ids', type => [String]) ids: string[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n /* The same steps as one draft, for each - so no child row is left and an issued one is refused. */\n for (const id of ids) {\n await discardDraft(id, context)\n }\n\n return true\n }\n\n /*\n * 이 셋(draft · issue · pick)에는 `@privilege` 를 안 단다 — **일부러다.**\n *\n * 그 권한(`activity-instance:mutation` + domainOwnerGranted)은 **관리 권한**이다. 「내게 온\n * 일을 집는다」에 그것을 요구하면 현장 작업자 전원에게 남의 일을 재배정하고 중단시킬 권한을\n * 함께 줘야 한다. 그래서 문을 범주로 막지 않는다.\n *\n * 게이트 있음 남의 일에 손대는 것 · 되돌릴 수 없는 것 assign · end · abort · 초안 여러 건 지우기\n * (초안 한 건 버리기는 2026-09-24 판정으로 쓴 사람에게 열었다 — 몸통이 entitlement 로 막는다)\n * 게이트 없음 자기 일을 하는 것 draft · issue · pick\n *\n * 대신 **건별 자격**을 본다(`controllers/activity-instance/entitlement.ts`) — 남의 초안은 못\n * 고치고 못 내보내며, 역할이 걸린 업무는 그 역할을 가진 사람만 집는다.\n *\n * 2025-04-10(`74acc61f6d`)에 나머지 여섯에 게이트를 달면서 이 셋만 주석으로 남겼는데, **그\n * 이유가 어디에도 안 적혀 있어서** 읽는 사람이 「일부러」와 「빠뜨림」을 구별할 수 없었다.\n * 주석 처리된 줄은 지운다 — 죽은 줄이 남아 있는 한 다음 사람이 또 같은 것을 묻는다.\n */\n @Directive('@transaction')\n @Mutation(returns => ActivityInstance, { description: 'To draft standard ActivityInstance' })\n async draftActivityInstance(\n @Arg('activityInstance') activityInstance: ActivityInstanceDraft,\n @Ctx() context: ResolverContext\n ): Promise<ActivityInstance> {\n return await draft(activityInstance, context)\n }\n\n @Directive('@transaction')\n @Mutation(returns => ActivityInstance, { description: 'To issue standard ActivityInstance' })\n async issueActivityInstance(\n @Arg('activityInstance') activityInstance: ActivityInstanceIssue,\n @Ctx() context: ResolverContext\n ): Promise<ActivityInstance> {\n return await issue(activityInstance, context)\n }\n\n @Directive('@transaction')\n @Mutation(returns => ActivityThread!, {\n nullable: true,\n description:\n 'To pick an activity ActivityInstance voluntarily. [cautions] This resolver will return a assigned ActivityThread.'\n })\n async pickActivityInstance(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<ActivityThread> {\n return await pick(id, context)\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"activity-instance\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => ActivityInstance, { description: 'To assign a ActivityInstance' })\n async assignActivityInstance(\n @Arg('id') id: string,\n @Arg('assignees', type => [String], { nullable: true, description: 'Email of assignee users' }) assignees: string[],\n @Arg('reason', { nullable: true }) reason: string,\n @Arg('dueAt', { nullable: true }) dueAt: Date,\n @Ctx() context: ResolverContext\n ): Promise<ActivityInstance> {\n return await assign(\n {\n id,\n assignees,\n reason,\n dueAt\n },\n context\n )\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"activity-instance\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => ActivityInstance, { description: 'To end a ActivityInstance' })\n async endActivityInstance(\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<ActivityInstance> {\n return await end({ id, output, reason }, context)\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"activity-instance\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => ActivityInstance, { description: 'To abort a ActivityInstance' })\n async abortActivityInstance(\n @Arg('id') id: string,\n @Arg('reason', { nullable: true }) reason: string,\n @Ctx() context: ResolverContext\n ): Promise<ActivityInstance> {\n return await abort({ id, reason }, context)\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"activity-instance\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => Boolean, { description: 'To abort multiple ActivityInstances' })\n async abortActivityInstances(\n @Arg('ids', type => [String]) ids: string[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n for (const id of ids) {\n try {\n await abort({ id, reason: 'Aborted by user' }, context)\n } catch (error) {\n console.error(`Failed to abort activity instance ${id}:`, error)\n return false\n }\n }\n\n return true\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"activity-instance-mutation.js","sourceRoot":"","sources":["../../../server/service/activity-instance/activity-instance-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'\nimport { In } from 'typeorm'\n\nimport { ScalarObject } from '@things-factory/shell'\n\nimport { abort, assign, draft, end, pick, issue } from '../../controllers/activity-instance/index.js'\nimport { discardDraft } from '../../controllers/activity-instance/discard-draft.js'\nimport { ActivityThread } from '../activity-thread/activity-thread.js'\nimport { ActivityInstance, ActivityInstanceStatus } from './activity-instance.js'\nimport { ActivityInstanceIssue, ActivityInstanceDraft } from './activity-instance-type.js'\n\n@Resolver(ActivityInstance)\nexport class ActivityInstanceMutation {\n /*\n * Whoever wrote the draft may throw it away - the entitlement is checked in the body, as for draft\n * and issue below (ruling 2026-09-24). § controllers/activity-instance/discard-draft.ts\n */\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete Activity Instance of draft state' })\n async deleteDraftActivityInstance(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {\n return await discardDraft(id, context)\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"activity-instance\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => Boolean, { description: 'To delete multiple Activity Instances of draft state' })\n async deleteDraftActivityInstances(\n @Arg('ids', type => [String]) ids: string[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n /* The same steps as one draft, for each - so no child row is left and an issued one is refused. */\n for (const id of ids) {\n await discardDraft(id, context)\n }\n\n return true\n }\n\n /*\n * 이 셋(draft · issue · pick)에는 `@privilege` 를 안 단다 — **일부러다.**\n *\n * 그 권한(`activity-instance:mutation` + domainOwnerGranted)은 **관리 권한**이다. 「내게 온\n * 일을 집는다」에 그것을 요구하면 현장 작업자 전원에게 남의 일을 재배정하고 중단시킬 권한을\n * 함께 줘야 한다. 그래서 문을 범주로 막지 않는다.\n *\n * 게이트 있음 남의 일에 손대는 것 · 되돌릴 수 없는 것 assign · end · abort · 초안 여러 건 지우기\n * (초안 한 건 버리기는 2026-09-24 판정으로 쓴 사람에게 열었다 — 몸통이 entitlement 로 막는다)\n * 게이트 없음 자기 일을 하는 것 draft · issue · pick\n *\n * 대신 **건별 자격**을 본다(`controllers/activity-instance/entitlement.ts`) — 남의 초안은 못\n * 고치고 못 내보내며, 역할이 걸린 업무는 그 역할을 가진 사람만 집는다.\n *\n * 2025-04-10(`74acc61f6d`)에 나머지 여섯에 게이트를 달면서 이 셋만 주석으로 남겼는데, **그\n * 이유가 어디에도 안 적혀 있어서** 읽는 사람이 「일부러」와 「빠뜨림」을 구별할 수 없었다.\n * 주석 처리된 줄은 지운다 — 죽은 줄이 남아 있는 한 다음 사람이 또 같은 것을 묻는다.\n */\n @Directive('@transaction')\n @Mutation(returns => ActivityInstance, { description: 'To draft standard ActivityInstance' })\n async draftActivityInstance(\n @Arg('activityInstance') activityInstance: ActivityInstanceDraft,\n @Ctx() context: ResolverContext\n ): Promise<ActivityInstance> {\n return await draft(activityInstance, context)\n }\n\n @Directive('@transaction')\n @Mutation(returns => ActivityInstance, { description: 'To issue standard ActivityInstance' })\n async issueActivityInstance(\n @Arg('activityInstance') activityInstance: ActivityInstanceIssue,\n @Ctx() context: ResolverContext\n ): Promise<ActivityInstance> {\n return await issue(activityInstance, context)\n }\n\n @Directive('@transaction')\n @Mutation(returns => ActivityThread!, {\n nullable: true,\n description:\n 'To pick an activity ActivityInstance voluntarily. [cautions] This resolver will return a assigned ActivityThread.'\n })\n async pickActivityInstance(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<ActivityThread> {\n return await pick(id, context)\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"activity-instance\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => ActivityInstance, { description: 'To assign a ActivityInstance' })\n async assignActivityInstance(\n @Arg('id') id: string,\n @Arg('assignees', type => [String], { nullable: true, description: 'Email of assignee users' }) assignees: string[],\n @Arg('assigneeRoles', type => [String], {\n nullable: true,\n description:\n 'Ids of the roles to put the activity instance in the pool of: whoever holds any one of them and picks it first holds it. Only while the instance is issued and nobody holds it; not together with assignees.'\n })\n assigneeRoles: string[],\n @Arg('reason', { nullable: true }) reason: string,\n @Arg('dueAt', { nullable: true }) dueAt: Date,\n @Ctx() context: ResolverContext\n ): Promise<ActivityInstance> {\n return await assign(\n {\n id,\n assignees,\n assigneeRoles,\n reason,\n dueAt\n },\n context\n )\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"activity-instance\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => ActivityInstance, { description: 'To end a ActivityInstance' })\n async endActivityInstance(\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<ActivityInstance> {\n return await end({ id, output, reason }, context)\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"activity-instance\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => ActivityInstance, { description: 'To abort a ActivityInstance' })\n async abortActivityInstance(\n @Arg('id') id: string,\n @Arg('reason', { nullable: true }) reason: string,\n @Ctx() context: ResolverContext\n ): Promise<ActivityInstance> {\n return await abort({ id, reason }, context)\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"activity-instance\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => Boolean, { description: 'To abort multiple ActivityInstances' })\n async abortActivityInstances(\n @Arg('ids', type => [String]) ids: string[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n for (const id of ids) {\n try {\n await abort({ id, reason: 'Aborted by user' }, context)\n } catch (error) {\n console.error(`Failed to abort activity instance ${id}:`, error)\n return false\n }\n }\n\n return true\n }\n}\n"]}
|
|
@@ -14,8 +14,7 @@ export declare class ActivityInstanceQuery {
|
|
|
14
14
|
draftList(params: ListParam, context: ResolverContext): Promise<ActivityInstanceList>;
|
|
15
15
|
activity(activityInstance: ActivityInstance): Promise<Activity>;
|
|
16
16
|
activityThreads(activityInstance: ActivityInstance, context: ResolverContext): Promise<ActivityThread[]>;
|
|
17
|
-
|
|
18
|
-
assigneeRole(activityInstance: ActivityInstance): Promise<Role>;
|
|
17
|
+
assigneeRoles(activityInstance: ActivityInstance): Promise<Role[]>;
|
|
19
18
|
assignees(activityInstance: ActivityInstance, context: ResolverContext): Promise<AssigneeItem[]>;
|
|
20
19
|
approvalLine(activityInstance: ActivityInstance, context: ResolverContext): Promise<ApprovalLineItem[]>;
|
|
21
20
|
supervisoryRole(activityInstance: ActivityInstance): Promise<Role>;
|
|
@@ -11,6 +11,7 @@ const approval_line_seats_js_1 = require("../activity/approval-line-seats.js");
|
|
|
11
11
|
const activity_thread_js_1 = require("../activity-thread/activity-thread.js");
|
|
12
12
|
const activity_js_1 = require("../activity/activity.js");
|
|
13
13
|
const activity_instance_js_1 = require("./activity-instance.js");
|
|
14
|
+
const assignee_pool_js_1 = require("./assignee-pool.js");
|
|
14
15
|
const draft_list_states_js_1 = require("./draft-list-states.js");
|
|
15
16
|
const activity_instance_type_js_1 = require("./activity-instance-type.js");
|
|
16
17
|
const assert_may_read_js_1 = require("../../controllers/activity-read/assert-may-read.js");
|
|
@@ -69,8 +70,7 @@ let ActivityInstanceQuery = class ActivityInstanceQuery {
|
|
|
69
70
|
var { domain, user } = context.state;
|
|
70
71
|
/*
|
|
71
72
|
activity-instance 중에서 아직 created 상태이면서,
|
|
72
|
-
activity-instance의
|
|
73
|
-
assigneeRole이 지정되었으면 그 Role에 내가 해당된 경우이면서,
|
|
73
|
+
activity-instance 의 assigneeRoles 중 하나라도 내가 가진 경우이면서,
|
|
74
74
|
나는 아직 해당 activity-instance의 thread를 할당받지 않은 경우에 해당하는
|
|
75
75
|
activity-instance 리스트를 모두 가져오는 쿼리이다.
|
|
76
76
|
*/
|
|
@@ -93,7 +93,7 @@ let ActivityInstanceQuery = class ActivityInstanceQuery {
|
|
|
93
93
|
.andWhere('ai.state IN (:...status)', {
|
|
94
94
|
status: [activity_instance_js_1.ActivityInstanceStatus.Issued, activity_instance_js_1.ActivityInstanceStatus.Unassigned]
|
|
95
95
|
})
|
|
96
|
-
.andWhere('ai
|
|
96
|
+
.andWhere((0, assignee_pool_js_1.inPoolOf)('ai'), { roles })
|
|
97
97
|
.andWhere('threads.id IS NULL') /* 이미 내가 할당된 경우는 제외한다. */
|
|
98
98
|
.getManyAndCount();
|
|
99
99
|
return { items, total };
|
|
@@ -152,19 +152,17 @@ let ActivityInstanceQuery = class ActivityInstanceQuery {
|
|
|
152
152
|
activityInstance: { id: activityInstance.id }
|
|
153
153
|
});
|
|
154
154
|
}
|
|
155
|
-
async
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
(activityInstance.
|
|
165
|
-
|
|
166
|
-
id: activityInstance.assigneeRoleId
|
|
167
|
-
}))));
|
|
155
|
+
async assigneeRoles(activityInstance) {
|
|
156
|
+
if (activityInstance.assigneeRoles)
|
|
157
|
+
return activityInstance.assigneeRoles;
|
|
158
|
+
const ids = (0, assignee_pool_js_1.poolIdsOf)(activityInstance);
|
|
159
|
+
if (activityInstance.assigneeRoleIds && !ids.length)
|
|
160
|
+
return [];
|
|
161
|
+
return await (0, shell_1.getRepository)(activity_instance_js_1.ActivityInstance)
|
|
162
|
+
.createQueryBuilder()
|
|
163
|
+
.relation(activity_instance_js_1.ActivityInstance, 'assigneeRoles')
|
|
164
|
+
.of(activityInstance.id)
|
|
165
|
+
.loadMany();
|
|
168
166
|
}
|
|
169
167
|
async assignees(activityInstance, context) {
|
|
170
168
|
const { domain, user } = context.state;
|
|
@@ -306,19 +304,12 @@ tslib_1.__decorate([
|
|
|
306
304
|
tslib_1.__metadata("design:returntype", Promise)
|
|
307
305
|
], ActivityInstanceQuery.prototype, "activityThreads", null);
|
|
308
306
|
tslib_1.__decorate([
|
|
309
|
-
(0, type_graphql_1.FieldResolver)(type => auth_base_1.Role),
|
|
310
|
-
tslib_1.__param(0, (0, type_graphql_1.Root)()),
|
|
311
|
-
tslib_1.__metadata("design:type", Function),
|
|
312
|
-
tslib_1.__metadata("design:paramtypes", [activity_instance_js_1.ActivityInstance]),
|
|
313
|
-
tslib_1.__metadata("design:returntype", Promise)
|
|
314
|
-
], ActivityInstanceQuery.prototype, "bizKeys", null);
|
|
315
|
-
tslib_1.__decorate([
|
|
316
|
-
(0, type_graphql_1.FieldResolver)(type => auth_base_1.Role),
|
|
307
|
+
(0, type_graphql_1.FieldResolver)(type => [auth_base_1.Role]),
|
|
317
308
|
tslib_1.__param(0, (0, type_graphql_1.Root)()),
|
|
318
309
|
tslib_1.__metadata("design:type", Function),
|
|
319
310
|
tslib_1.__metadata("design:paramtypes", [activity_instance_js_1.ActivityInstance]),
|
|
320
311
|
tslib_1.__metadata("design:returntype", Promise)
|
|
321
|
-
], ActivityInstanceQuery.prototype, "
|
|
312
|
+
], ActivityInstanceQuery.prototype, "assigneeRoles", null);
|
|
322
313
|
tslib_1.__decorate([
|
|
323
314
|
(0, type_graphql_1.FieldResolver)(type => [activity_js_1.AssigneeItem]),
|
|
324
315
|
tslib_1.__param(0, (0, type_graphql_1.Root)()),
|