@things-factory/worklist 6.1.23 → 6.1.24
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/client/types/activity-thread.ts +35 -35
- package/dist-client/route.d.ts +1 -1
- package/dist-client/tsconfig.tsbuildinfo +1 -1
- package/dist-client/types/activity-thread.d.ts +0 -3
- package/dist-client/types/activity-thread.js +33 -33
- package/dist-client/types/activity-thread.js.map +1 -1
- package/dist-server/controllers/activity-approval/abort.js +1 -1
- package/dist-server/controllers/activity-approval/abort.js.map +1 -1
- package/dist-server/controllers/activity-approval/approve.js +4 -4
- package/dist-server/controllers/activity-approval/approve.js.map +1 -1
- package/dist-server/controllers/activity-approval/delegate.js +2 -1
- package/dist-server/controllers/activity-approval/delegate.js.map +1 -1
- package/dist-server/controllers/activity-approval/reject.js +2 -2
- package/dist-server/controllers/activity-approval/reject.js.map +1 -1
- package/dist-server/controllers/activity-installation/activity-installation-controller.js +10 -2
- package/dist-server/controllers/activity-installation/activity-installation-controller.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/end.js +1 -1
- package/dist-server/controllers/activity-instance/end.js.map +1 -1
- package/dist-server/controllers/activity-thread/abort.js +2 -4
- package/dist-server/controllers/activity-thread/abort.js.map +1 -1
- package/dist-server/controllers/activity-thread/delegate.js +3 -3
- package/dist-server/controllers/activity-thread/delegate.js.map +1 -1
- package/dist-server/controllers/activity-thread/end.js +2 -4
- package/dist-server/controllers/activity-thread/end.js.map +1 -1
- package/dist-server/controllers/activity-thread/restart.js +1 -1
- package/dist-server/controllers/activity-thread/restart.js.map +1 -1
- package/dist-server/controllers/activity-thread/save.js +2 -4
- package/dist-server/controllers/activity-thread/save.js.map +1 -1
- package/dist-server/controllers/activity-thread/start.js +1 -1
- package/dist-server/controllers/activity-thread/start.js.map +1 -1
- package/dist-server/controllers/activity-thread/submit.js +1 -1
- package/dist-server/controllers/activity-thread/submit.js.map +1 -1
- package/dist-server/controllers/common.js +16 -6
- package/dist-server/controllers/common.js.map +1 -1
- package/dist-server/service/activity-instance/activity-instance-query.js +14 -0
- package/dist-server/service/activity-instance/activity-instance-query.js.map +1 -1
- package/dist-server/service/activity-thread/activity-thread-history.js +5 -2
- package/dist-server/service/activity-thread/activity-thread-history.js.map +1 -1
- package/dist-server/service/activity-thread/activity-thread-mutation.js +3 -3
- package/dist-server/service/activity-thread/activity-thread-mutation.js.map +1 -1
- package/dist-server/service/activity-thread/activity-thread.js +1 -2
- package/dist-server/service/activity-thread/activity-thread.js.map +1 -1
- package/dist-server/service/installable-activity/installable-activity.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/server/controllers/activity-approval/abort.ts +5 -1
- package/server/controllers/activity-approval/approve.ts +4 -4
- package/server/controllers/activity-approval/delegate.ts +2 -1
- package/server/controllers/activity-approval/reject.ts +6 -2
- package/server/controllers/activity-installation/activity-installation-controller.ts +10 -2
- package/server/controllers/activity-instance/abort.ts +1 -1
- package/server/controllers/activity-instance/end.ts +1 -1
- package/server/controllers/activity-thread/abort.ts +2 -6
- package/server/controllers/activity-thread/delegate.ts +5 -5
- package/server/controllers/activity-thread/end.ts +2 -6
- package/server/controllers/activity-thread/restart.ts +1 -1
- package/server/controllers/activity-thread/save.ts +2 -6
- package/server/controllers/activity-thread/start.ts +1 -1
- package/server/controllers/activity-thread/submit.ts +1 -1
- package/server/controllers/common.ts +24 -6
- package/server/service/activity-instance/activity-instance-query.ts +11 -0
- package/server/service/activity-thread/activity-thread-history.ts +5 -2
- package/server/service/activity-thread/activity-thread-mutation.ts +3 -4
- package/server/service/activity-thread/activity-thread.ts +1 -2
- package/server/service/installable-activity/installable-activity.ts +2 -1
|
@@ -13,39 +13,39 @@ export class ActivityThread {
|
|
|
13
13
|
constructor() {
|
|
14
14
|
this.version = 1;
|
|
15
15
|
this.round = 1;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
switch (this.state) {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
}
|
|
16
|
+
// isPendingStarted(): boolean {
|
|
17
|
+
// switch (this.state) {
|
|
18
|
+
// case ActivityThreadStatus.Assigned:
|
|
19
|
+
// return true
|
|
20
|
+
// default:
|
|
21
|
+
// return false
|
|
22
|
+
// }
|
|
23
|
+
// }
|
|
24
|
+
// isPendingEnded(): boolean {
|
|
25
|
+
// switch (this.state) {
|
|
26
|
+
// case ActivityThreadStatus.Started:
|
|
27
|
+
// case ActivityThreadStatus.Rejected:
|
|
28
|
+
// case ActivityThreadStatus.Submitted:
|
|
29
|
+
// case ActivityThreadStatus.Escalated:
|
|
30
|
+
// return true
|
|
31
|
+
// default:
|
|
32
|
+
// return false
|
|
33
|
+
// }
|
|
34
|
+
// }
|
|
35
|
+
// isValid(): boolean {
|
|
36
|
+
// switch (this.state) {
|
|
37
|
+
// case ActivityThreadStatus.Assigned:
|
|
38
|
+
// case ActivityThreadStatus.Started:
|
|
39
|
+
// case ActivityThreadStatus.Ended:
|
|
40
|
+
// case ActivityThreadStatus.Rejected:
|
|
41
|
+
// case ActivityThreadStatus.Escalated:
|
|
42
|
+
// case ActivityThreadStatus.Aborted:
|
|
43
|
+
// case ActivityThreadStatus.Submitted:
|
|
44
|
+
// return true
|
|
45
|
+
// default:
|
|
46
|
+
// return false
|
|
47
|
+
// }
|
|
48
|
+
// }
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
51
|
//# sourceMappingURL=activity-thread.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activity-thread.js","sourceRoot":"","sources":["../../client/types/activity-thread.ts"],"names":[],"mappings":"AAIA,MAAM,CAAN,IAAY,oBASX;AATD,WAAY,oBAAoB;IAC9B,6CAAqB,CAAA;IACrB,2CAAmB,CAAA;IACnB,+CAAuB,CAAA;IACvB,+CAAuB,CAAA;IACvB,+CAAuB,CAAA;IACvB,6CAAqB,CAAA;IACrB,uCAAe,CAAA;IACf,2CAAmB,CAAA;AACrB,CAAC,EATW,oBAAoB,KAApB,oBAAoB,QAS/B;AAED,MAAM,OAAO,cAAc;IAA3B;QAKE,YAAO,GAAY,CAAC,CAAA;QAUpB,UAAK,GAAY,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"activity-thread.js","sourceRoot":"","sources":["../../client/types/activity-thread.ts"],"names":[],"mappings":"AAIA,MAAM,CAAN,IAAY,oBASX;AATD,WAAY,oBAAoB;IAC9B,6CAAqB,CAAA;IACrB,2CAAmB,CAAA;IACnB,+CAAuB,CAAA;IACvB,+CAAuB,CAAA;IACvB,+CAAuB,CAAA;IACvB,6CAAqB,CAAA;IACrB,uCAAe,CAAA;IACf,2CAAmB,CAAA;AACrB,CAAC,EATW,oBAAoB,KAApB,oBAAoB,QAS/B;AAED,MAAM,OAAO,cAAc;IAA3B;QAKE,YAAO,GAAY,CAAC,CAAA;QAUpB,UAAK,GAAY,CAAC,CAAA;QAsBlB,gCAAgC;QAChC,0BAA0B;QAC1B,0CAA0C;QAC1C,oBAAoB;QACpB,eAAe;QACf,qBAAqB;QACrB,MAAM;QACN,IAAI;QAEJ,8BAA8B;QAC9B,0BAA0B;QAC1B,yCAAyC;QACzC,0CAA0C;QAC1C,2CAA2C;QAC3C,2CAA2C;QAC3C,oBAAoB;QACpB,eAAe;QACf,qBAAqB;QACrB,MAAM;QACN,IAAI;QAEJ,uBAAuB;QACvB,0BAA0B;QAC1B,0CAA0C;QAC1C,yCAAyC;QACzC,uCAAuC;QACvC,0CAA0C;QAC1C,2CAA2C;QAC3C,yCAAyC;QACzC,2CAA2C;QAC3C,oBAAoB;QACpB,eAAe;QACf,qBAAqB;QACrB,MAAM;QACN,IAAI;IACN,CAAC;CAAA","sourcesContent":["import { Domain, User } from '@operato/shell'\n\nimport { ActivityInstance } from './activity-instance'\n\nexport enum ActivityThreadStatus {\n Assigned = 'assigned',\n Started = 'started',\n Delegated = 'delegated',\n Submitted = 'submitted',\n Escalated = 'escalated',\n Rejected = 'rejected',\n Ended = 'ended',\n Aborted = 'aborted'\n}\n\nexport class ActivityThread {\n id?: string\n\n domain?: Domain\n\n version?: number = 1\n\n activityInstance?: ActivityInstance\n\n state?: ActivityThreadStatus\n\n output?: { [key: string]: any }\n\n assignee?: User\n\n round?: number = 1\n\n transaction?: string\n\n dueAt?: Date\n\n assignedAt?: Date\n\n startedAt?: Date\n\n terminatedAt?: Date\n\n createdAt?: Date\n\n updatedAt?: Date\n\n creator?: User\n\n updater?: User\n\n terminator?: User\n\n // isPendingStarted(): boolean {\n // switch (this.state) {\n // case ActivityThreadStatus.Assigned:\n // return true\n // default:\n // return false\n // }\n // }\n\n // isPendingEnded(): boolean {\n // switch (this.state) {\n // case ActivityThreadStatus.Started:\n // case ActivityThreadStatus.Rejected:\n // case ActivityThreadStatus.Submitted:\n // case ActivityThreadStatus.Escalated:\n // return true\n // default:\n // return false\n // }\n // }\n\n // isValid(): boolean {\n // switch (this.state) {\n // case ActivityThreadStatus.Assigned:\n // case ActivityThreadStatus.Started:\n // case ActivityThreadStatus.Ended:\n // case ActivityThreadStatus.Rejected:\n // case ActivityThreadStatus.Escalated:\n // case ActivityThreadStatus.Aborted:\n // case ActivityThreadStatus.Submitted:\n // return true\n // default:\n // return false\n // }\n // }\n}\n"]}
|
|
@@ -27,7 +27,7 @@ async function abort({ id, comment }, context) {
|
|
|
27
27
|
}));
|
|
28
28
|
}
|
|
29
29
|
var result = await (0, _abort_1._abort)({ activityApproval, comment }, context);
|
|
30
|
-
await (0, common_1.updateActivityInstanceState)(activityApproval.activityThread.activityInstanceId, context);
|
|
30
|
+
await (0, common_1.updateActivityInstanceState)(activityApproval.activityThread.activityInstanceId, { causedBy: [activityApproval.activityThread] }, context);
|
|
31
31
|
return result;
|
|
32
32
|
}
|
|
33
33
|
exports.abort = abort;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abort.js","sourceRoot":"","sources":["../../../server/controllers/activity-approval/abort.ts"],"names":[],"mappings":";;;AAAA,yFAA8G;AAC9G,sCAAuD;AACvD,qCAAiC;AAE1B,KAAK,UAAU,KAAK,CACzB,EAAE,EAAE,EAAE,OAAO,EAAmC,EAChD,OAAwB;IAExB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,IAAI,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,oCAAgB,CAAC,CAAA;IAEnD,IAAI,gBAAgB,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QAC9C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;QACxC,SAAS,EAAE,CAAC,gBAAgB,CAAC;KAC9B,CAAC,CAAA;IAEF,IAAI,CAAC,gBAAgB,EAAE;QACrB,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,mCAAmC,EAAE;YAC7C,gBAAgB,EAAE,EAAE;SACrB,CAAC,CACH,CAAA;KACF;IAED;;;MAGE;IACF,IAAI,gBAAgB,CAAC,QAAQ,KAAK,4CAAwB,CAAC,OAAO,EAAE;QAClE,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,+CAA+C,EAAE;YACzD,gBAAgB,EAAE,EAAE;YACpB,MAAM,EAAE,gBAAgB,CAAC,QAAQ;SAClC,CAAC,CACH,CAAA;KACF;IAED,IAAI,MAAM,GAAG,MAAM,IAAA,eAAM,EAAC,EAAE,gBAAgB,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,CAAA;IAEjE,MAAM,IAAA,oCAA2B,
|
|
1
|
+
{"version":3,"file":"abort.js","sourceRoot":"","sources":["../../../server/controllers/activity-approval/abort.ts"],"names":[],"mappings":";;;AAAA,yFAA8G;AAC9G,sCAAuD;AACvD,qCAAiC;AAE1B,KAAK,UAAU,KAAK,CACzB,EAAE,EAAE,EAAE,OAAO,EAAmC,EAChD,OAAwB;IAExB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,IAAI,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,oCAAgB,CAAC,CAAA;IAEnD,IAAI,gBAAgB,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QAC9C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;QACxC,SAAS,EAAE,CAAC,gBAAgB,CAAC;KAC9B,CAAC,CAAA;IAEF,IAAI,CAAC,gBAAgB,EAAE;QACrB,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,mCAAmC,EAAE;YAC7C,gBAAgB,EAAE,EAAE;SACrB,CAAC,CACH,CAAA;KACF;IAED;;;MAGE;IACF,IAAI,gBAAgB,CAAC,QAAQ,KAAK,4CAAwB,CAAC,OAAO,EAAE;QAClE,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,+CAA+C,EAAE;YACzD,gBAAgB,EAAE,EAAE;YACpB,MAAM,EAAE,gBAAgB,CAAC,QAAQ;SAClC,CAAC,CACH,CAAA;KACF;IAED,IAAI,MAAM,GAAG,MAAM,IAAA,eAAM,EAAC,EAAE,gBAAgB,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,CAAA;IAEjE,MAAM,IAAA,oCAA2B,EAC/B,gBAAgB,CAAC,cAAc,CAAC,kBAAkB,EAClD,EAAE,QAAQ,EAAE,CAAC,gBAAgB,CAAC,cAAc,CAAC,EAAE,EAC/C,OAAO,CACR,CAAA;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AA3CD,sBA2CC","sourcesContent":["import { ActivityApproval, ActivityApprovalJudgment } from '../../service/activity-approval/activity-approval'\nimport { updateActivityInstanceState } from '../common'\nimport { _abort } from './_abort'\n\nexport async function abort(\n { id, comment }: { id: string; comment: string },\n context: ResolverContext\n): Promise<ActivityApproval> {\n const { domain, user, tx } = context.state\n\n var repository = tx.getRepository(ActivityApproval)\n\n var activityApproval = await repository.findOne({\n where: { domain: { id: domain.id }, id },\n relations: ['activityThread']\n })\n\n if (!activityApproval) {\n throw new Error(\n context.t('error.activity-approval not found', {\n activityApproval: id\n })\n )\n }\n\n /* \n Prerequisite of Abortion\n - Previous judgement should be 'pending'\n */\n if (activityApproval.judgment !== ActivityApprovalJudgment.Pending) {\n throw new Error(\n context.t(`error.activity-approval is already terminated`, {\n activityInstance: id,\n actual: activityApproval.judgment\n })\n )\n }\n\n var result = await _abort({ activityApproval, comment }, context)\n\n await updateActivityInstanceState(\n activityApproval.activityThread.activityInstanceId,\n { causedBy: [activityApproval.activityThread] },\n context\n )\n\n return result\n}\n"]}
|
|
@@ -26,7 +26,7 @@ async function approve({ id, comment }, context) {
|
|
|
26
26
|
actual: activityApproval.judgment
|
|
27
27
|
}));
|
|
28
28
|
}
|
|
29
|
-
|
|
29
|
+
var activityThread = await tx.getRepository(activity_thread_1.ActivityThread).findOne({
|
|
30
30
|
where: { domain: { id: domain.id }, id: activityApproval.activityThreadId },
|
|
31
31
|
relations: ['activityInstance']
|
|
32
32
|
});
|
|
@@ -49,12 +49,12 @@ async function approve({ id, comment }, context) {
|
|
|
49
49
|
creator: user,
|
|
50
50
|
updater: user
|
|
51
51
|
});
|
|
52
|
-
await tx.getRepository(activity_thread_1.ActivityThread).save(Object.assign(Object.assign({}, activityThread), { transaction: 'escalate', state: activity_thread_1.ActivityThreadStatus.Escalated, updater: user }));
|
|
52
|
+
activityThread = await tx.getRepository(activity_thread_1.ActivityThread).save(Object.assign(Object.assign({}, activityThread), { transaction: 'escalate', state: activity_thread_1.ActivityThreadStatus.Escalated, updater: user }));
|
|
53
53
|
}
|
|
54
54
|
else {
|
|
55
|
-
await tx.getRepository(activity_thread_1.ActivityThread).save(Object.assign(Object.assign({}, activityThread), { transaction: 'approve', state: activity_thread_1.ActivityThreadStatus.Ended, terminatedAt: new Date(), terminator: user, updater: user }));
|
|
55
|
+
activityThread = await tx.getRepository(activity_thread_1.ActivityThread).save(Object.assign(Object.assign({}, activityThread), { transaction: 'approve', state: activity_thread_1.ActivityThreadStatus.Ended, terminatedAt: new Date(), terminator: user, updater: user }));
|
|
56
56
|
}
|
|
57
|
-
await (0, common_2.updateActivityInstanceState)(activityThread.activityInstanceId, context);
|
|
57
|
+
await (0, common_2.updateActivityInstanceState)(activityThread.activityInstanceId, { causedBy: [activityThread] }, context);
|
|
58
58
|
return result;
|
|
59
59
|
}
|
|
60
60
|
exports.approve = approve;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approve.js","sourceRoot":"","sources":["../../../server/controllers/activity-approval/approve.ts"],"names":[],"mappings":";;;AAAA,qDAAyE;AACzE,mFAAoG;AACpG,yFAA8G;AAE9G,sCAAuD;AAEhD,KAAK,UAAU,OAAO,CAC3B,EAAE,EAAE,EAAE,OAAO,EAAmC,EAChD,OAAwB;IAExB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,IAAI,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,oCAAgB,CAAC,CAAA;IAEnD,IAAI,gBAAgB,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QAC9C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;KACzC,CAAC,CAAA;IAEF,IAAI,CAAC,gBAAgB,EAAE;QACrB,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,mCAAmC,EAAE;YAC7C,gBAAgB,EAAE,EAAE;SACrB,CAAC,CACH,CAAA;KACF;IAED;;;MAGE;IACF,IAAI,gBAAgB,CAAC,QAAQ,KAAK,4CAAwB,CAAC,OAAO,EAAE;QAClE,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,+CAA+C,EAAE;YACzD,gBAAgB,EAAE,EAAE;YACpB,MAAM,EAAE,gBAAgB,CAAC,QAAQ;SAClC,CAAC,CACH,CAAA;KACF;IAED,
|
|
1
|
+
{"version":3,"file":"approve.js","sourceRoot":"","sources":["../../../server/controllers/activity-approval/approve.ts"],"names":[],"mappings":";;;AAAA,qDAAyE;AACzE,mFAAoG;AACpG,yFAA8G;AAE9G,sCAAuD;AAEhD,KAAK,UAAU,OAAO,CAC3B,EAAE,EAAE,EAAE,OAAO,EAAmC,EAChD,OAAwB;IAExB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,IAAI,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,oCAAgB,CAAC,CAAA;IAEnD,IAAI,gBAAgB,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QAC9C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;KACzC,CAAC,CAAA;IAEF,IAAI,CAAC,gBAAgB,EAAE;QACrB,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,mCAAmC,EAAE;YAC7C,gBAAgB,EAAE,EAAE;SACrB,CAAC,CACH,CAAA;KACF;IAED;;;MAGE;IACF,IAAI,gBAAgB,CAAC,QAAQ,KAAK,4CAAwB,CAAC,OAAO,EAAE;QAClE,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,+CAA+C,EAAE;YACzD,gBAAgB,EAAE,EAAE;YACpB,MAAM,EAAE,gBAAgB,CAAC,QAAQ;SAClC,CAAC,CACH,CAAA;KACF;IAED,IAAI,cAAc,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAC,OAAO,CAAC;QAClE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,gBAAgB,CAAC,gBAAgB,EAAE;QAC3E,SAAS,EAAE,CAAC,kBAAkB,CAAC;KAChC,CAAC,CAAA;IAEF,MAAM,YAAY,GAAuB,cAAc,CAAC,gBAAgB,CAAC,YAAY,CAAA;IACrF,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAA;IAEpC,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,oCAAgB,CAAC,CAAC,IAAI,iCACvD,gBAAgB,KACnB,QAAQ,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,4CAAwB,CAAC,SAAS,CAAC,CAAC,CAAC,4CAAwB,CAAC,QAAQ,EACtG,OAAO,EACP,WAAW,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EACzD,OAAO,EAAE,IAAI,EACb,YAAY,EAAE,IAAI,IAAI,EAAE,EACxB,UAAU,EAAE,IAAI,IAChB,CAAA;IAEF,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,KAAK,EAAE;QAC/C,sCAAsC;QACtC,IAAI,YAAY,GAAG,MAAM,IAAA,uCAA8B,EAAC,YAAY,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAA;QAErF,IAAI,CAAC,YAAY,EAAE;YACjB,MAAM,yDAAyD,CAAA;SAChE;QAED,MAAM,EAAE,CAAC,aAAa,CAAC,oCAAgB,CAAC,CAAC,IAAI,CAAC;YAC5C,MAAM;YACN,cAAc;YACd,KAAK,EAAE,KAAK,GAAG,CAAC;YAChB,QAAQ,EAAE,4CAAwB,CAAC,OAAO;YAC1C,WAAW,EAAE,UAAU;YACvB,QAAQ,EAAE,YAAY;YACtB,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;SACd,CAAC,CAAA;QAEF,cAAc,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAC,IAAI,iCACvD,cAAc,KACjB,WAAW,EAAE,UAAU,EACvB,KAAK,EAAE,sCAAoB,CAAC,SAAS,EACrC,OAAO,EAAE,IAAI,IACb,CAAA;KACH;SAAM;QACL,cAAc,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAC,IAAI,iCACvD,cAAc,KACjB,WAAW,EAAE,SAAS,EACtB,KAAK,EAAE,sCAAoB,CAAC,KAAK,EACjC,YAAY,EAAE,IAAI,IAAI,EAAE,EACxB,UAAU,EAAE,IAAI,EAChB,OAAO,EAAE,IAAI,IACb,CAAA;KACH;IAED,MAAM,IAAA,oCAA2B,EAAC,cAAc,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IAE7G,OAAO,MAAM,CAAA;AACf,CAAC;AA1FD,0BA0FC","sourcesContent":["import { getSystemUserFromOrgMemberItem } from '../../controllers/common'\nimport { ActivityThread, ActivityThreadStatus } from '../../service/activity-thread/activity-thread'\nimport { ActivityApproval, ActivityApprovalJudgment } from '../../service/activity-approval/activity-approval'\nimport { ApprovalLineItem } from '@things-factory/organization'\nimport { updateActivityInstanceState } from '../common'\n\nexport async function approve(\n { id, comment }: { id: string; comment: string },\n context: ResolverContext\n): Promise<ActivityApproval> {\n const { domain, user, tx } = context.state\n\n var repository = tx.getRepository(ActivityApproval)\n\n var activityApproval = await repository.findOne({\n where: { domain: { id: domain.id }, id }\n })\n\n if (!activityApproval) {\n throw new Error(\n context.t('error.activity-approval not found', {\n activityApproval: id\n })\n )\n }\n\n /* \n Prerequisite of Approval\n - Previous judgement should be 'pending'\n */\n if (activityApproval.judgment !== ActivityApprovalJudgment.Pending) {\n throw new Error(\n context.t(`error.activity-approval is already terminated`, {\n activityInstance: id,\n actual: activityApproval.judgment\n })\n )\n }\n\n var activityThread = await tx.getRepository(ActivityThread).findOne({\n where: { domain: { id: domain.id }, id: activityApproval.activityThreadId },\n relations: ['activityInstance']\n })\n\n const approvalLine: ApprovalLineItem[] = activityThread.activityInstance.approvalLine\n const order = activityApproval.order\n\n const result = await tx.getRepository(ActivityApproval).save({\n ...activityApproval,\n judgment: approvalLine[order] ? ActivityApprovalJudgment.Escalated : ActivityApprovalJudgment.Approved,\n comment,\n transaction: approvalLine[order] ? 'escalate' : 'approve',\n updater: user,\n terminatedAt: new Date(),\n terminator: user\n })\n\n if (approvalLine && approvalLine.length > order) {\n // approvalLine에서 후속 승인자에게 escalating.\n var approverUser = await getSystemUserFromOrgMemberItem(approvalLine[order], context)\n\n if (!approverUser) {\n throw 'Cannot specify the approval user for this approval line'\n }\n\n await tx.getRepository(ActivityApproval).save({\n domain,\n activityThread,\n order: order + 1,\n judgment: ActivityApprovalJudgment.Pending,\n transaction: 'escalate',\n approver: approverUser,\n creator: user,\n updater: user\n })\n\n activityThread = await tx.getRepository(ActivityThread).save({\n ...activityThread,\n transaction: 'escalate',\n state: ActivityThreadStatus.Escalated,\n updater: user\n })\n } else {\n activityThread = await tx.getRepository(ActivityThread).save({\n ...activityThread,\n transaction: 'approve',\n state: ActivityThreadStatus.Ended,\n terminatedAt: new Date(),\n terminator: user,\n updater: user\n })\n }\n\n await updateActivityInstanceState(activityThread.activityInstanceId, { causedBy: [activityThread] }, context)\n\n return result\n}\n"]}
|
|
@@ -7,7 +7,8 @@ async function delegate({ id, to, comment }, context) {
|
|
|
7
7
|
const { domain, user, tx } = context.state;
|
|
8
8
|
var repository = tx.getRepository(activity_approval_1.ActivityApproval);
|
|
9
9
|
var activityApproval = await repository.findOne({
|
|
10
|
-
where: { domain: { id: domain.id }, id }
|
|
10
|
+
where: { domain: { id: domain.id }, id },
|
|
11
|
+
relations: ['domain', 'activityThread']
|
|
11
12
|
});
|
|
12
13
|
if (!activityApproval) {
|
|
13
14
|
throw new Error(context.t('error.activity-approval not found', {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delegate.js","sourceRoot":"","sources":["../../../server/controllers/activity-approval/delegate.ts"],"names":[],"mappings":";;;AAAA,yDAAgD;AAEhD,yFAA8G;AAEvG,KAAK,UAAU,QAAQ,CAC5B,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAkD,EACnE,OAAwB;IAExB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,IAAI,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,oCAAgB,CAAC,CAAA;IAEnD,IAAI,gBAAgB,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QAC9C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"delegate.js","sourceRoot":"","sources":["../../../server/controllers/activity-approval/delegate.ts"],"names":[],"mappings":";;;AAAA,yDAAgD;AAEhD,yFAA8G;AAEvG,KAAK,UAAU,QAAQ,CAC5B,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAkD,EACnE,OAAwB;IAExB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,IAAI,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,oCAAgB,CAAC,CAAA;IAEnD,IAAI,gBAAgB,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QAC9C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;QACxC,SAAS,EAAE,CAAC,QAAQ,EAAE,gBAAgB,CAAC;KACxC,CAAC,CAAA;IAEF,IAAI,CAAC,gBAAgB,EAAE;QACrB,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,mCAAmC,EAAE;YAC7C,gBAAgB,EAAE,EAAE;SACrB,CAAC,CACH,CAAA;KACF;IAED;;;MAGE;IACF,IAAI,gBAAgB,CAAC,QAAQ,KAAK,4CAAwB,CAAC,OAAO,EAAE;QAClE,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,+CAA+C,EAAE;YACzD,gBAAgB,EAAE,EAAE;YACpB,MAAM,EAAE,gBAAgB,CAAC,QAAQ;SAClC,CAAC,CACH,CAAA;KACF;IAED,6BAA6B;IAC7B,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,gBAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;IAEtE,mCAAmC;IACnC,MAAM,UAAU,CAAC,IAAI,iCAChB,gBAAgB,KACnB,gBAAgB,EAAE,gBAAgB,EAClC,OAAO;QACP,QAAQ,EACR,OAAO,EAAE,IAAI,EACb,OAAO,EAAE,IAAI,IACb,CAAA;IAEF,+BAA+B;IAC/B,OAAO,MAAM,UAAU,CAAC,IAAI,iCACvB,gBAAgB,KACnB,QAAQ,EAAE,4CAAwB,CAAC,SAAS,EAC5C,OAAO,EACP,WAAW,EAAE,UAAU,EACvB,OAAO,EAAE,IAAI,EACb,UAAU,EAAE,IAAI,EAChB,YAAY,EAAE,IAAI,IAAI,EAAE,IACxB,CAAA;AACJ,CAAC;AAzDD,4BAyDC","sourcesContent":["import { User } from '@things-factory/auth-base'\nimport { ObjectRef } from '@things-factory/shell'\nimport { ActivityApproval, ActivityApprovalJudgment } from '../../service/activity-approval/activity-approval'\n\nexport async function delegate(\n { id, to, comment }: { id: string; to: ObjectRef; comment: string },\n context: ResolverContext\n): Promise<ActivityApproval> {\n const { domain, user, tx } = context.state\n\n var repository = tx.getRepository(ActivityApproval)\n\n var activityApproval = await repository.findOne({\n where: { domain: { id: domain.id }, id },\n relations: ['domain', 'activityThread']\n })\n\n if (!activityApproval) {\n throw new Error(\n context.t('error.activity-approval not found', {\n activityApproval: id\n })\n )\n }\n\n /* \n Prerequisite of Delegation\n - Previous judgement should be 'pending'\n */\n if (activityApproval.judgment !== ActivityApprovalJudgment.Pending) {\n throw new Error(\n context.t(`error.activity-approval is already terminated`, {\n activityInstance: id,\n actual: activityApproval.judgment\n })\n )\n }\n\n /* TODO user validation .. */\n const approver = await tx.getRepository(User).findOneBy({ id: to.id })\n\n /* create new delegated approval */\n await repository.save({\n ...activityApproval,\n originalApproval: activityApproval,\n comment,\n approver,\n creator: user,\n updater: user\n })\n\n /* terminate origin approval */\n return await repository.save({\n ...activityApproval,\n judgment: ActivityApprovalJudgment.Delegated,\n comment,\n transaction: 'delegate',\n updater: user,\n terminator: user,\n terminatedAt: new Date()\n })\n}\n"]}
|
|
@@ -27,8 +27,8 @@ async function reject({ id, comment }, context) {
|
|
|
27
27
|
}));
|
|
28
28
|
}
|
|
29
29
|
var result = await repository.save(Object.assign(Object.assign({}, activityApproval), { judgment: activity_approval_1.ActivityApprovalJudgment.Rejected, comment, transaction: 'reject', updater: user, terminatedAt: new Date(), terminator: user }));
|
|
30
|
-
await tx.getRepository(activity_thread_1.ActivityThread).save(Object.assign(Object.assign({}, activityApproval.activityThread), { transaction: 'reject', state: activity_thread_1.ActivityThreadStatus.Rejected, updater: user }));
|
|
31
|
-
await (0, common_1.updateActivityInstanceState)(activityApproval.activityThread.activityInstanceId, context);
|
|
30
|
+
var activityThread = await tx.getRepository(activity_thread_1.ActivityThread).save(Object.assign(Object.assign({}, activityApproval.activityThread), { transaction: 'reject', state: activity_thread_1.ActivityThreadStatus.Rejected, updater: user }));
|
|
31
|
+
await (0, common_1.updateActivityInstanceState)(activityApproval.activityThread.activityInstanceId, { causedBy: [activityThread] }, context);
|
|
32
32
|
return result;
|
|
33
33
|
}
|
|
34
34
|
exports.reject = reject;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reject.js","sourceRoot":"","sources":["../../../server/controllers/activity-approval/reject.ts"],"names":[],"mappings":";;;AAAA,mFAAoG;AACpG,yFAA8G;AAC9G,sCAAuD;AAEhD,KAAK,UAAU,MAAM,CAC1B,EAAE,EAAE,EAAE,OAAO,EAAmC,EAChD,OAAwB;IAExB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,IAAI,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,oCAAgB,CAAC,CAAA;IAEnD,IAAI,gBAAgB,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QAC9C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;QACxC,SAAS,EAAE,CAAC,gBAAgB,CAAC;KAC9B,CAAC,CAAA;IAEF,IAAI,CAAC,gBAAgB,EAAE;QACrB,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,mCAAmC,EAAE;YAC7C,gBAAgB,EAAE,EAAE;SACrB,CAAC,CACH,CAAA;KACF;IAED;;;MAGE;IACF,IAAI,gBAAgB,CAAC,QAAQ,KAAK,4CAAwB,CAAC,OAAO,EAAE;QAClE,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,+CAA+C,EAAE;YACzD,gBAAgB,EAAE,EAAE;YACpB,MAAM,EAAE,gBAAgB,CAAC,QAAQ;SAClC,CAAC,CACH,CAAA;KACF;IAED,IAAI,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,iCAC7B,gBAAgB,KACnB,QAAQ,EAAE,4CAAwB,CAAC,QAAQ,EAC3C,OAAO,EACP,WAAW,EAAE,QAAQ,EACrB,OAAO,EAAE,IAAI,EACb,YAAY,EAAE,IAAI,IAAI,EAAE,EACxB,UAAU,EAAE,IAAI,IAChB,CAAA;IAEF,MAAM,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"reject.js","sourceRoot":"","sources":["../../../server/controllers/activity-approval/reject.ts"],"names":[],"mappings":";;;AAAA,mFAAoG;AACpG,yFAA8G;AAC9G,sCAAuD;AAEhD,KAAK,UAAU,MAAM,CAC1B,EAAE,EAAE,EAAE,OAAO,EAAmC,EAChD,OAAwB;IAExB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,IAAI,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,oCAAgB,CAAC,CAAA;IAEnD,IAAI,gBAAgB,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QAC9C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;QACxC,SAAS,EAAE,CAAC,gBAAgB,CAAC;KAC9B,CAAC,CAAA;IAEF,IAAI,CAAC,gBAAgB,EAAE;QACrB,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,mCAAmC,EAAE;YAC7C,gBAAgB,EAAE,EAAE;SACrB,CAAC,CACH,CAAA;KACF;IAED;;;MAGE;IACF,IAAI,gBAAgB,CAAC,QAAQ,KAAK,4CAAwB,CAAC,OAAO,EAAE;QAClE,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,+CAA+C,EAAE;YACzD,gBAAgB,EAAE,EAAE;YACpB,MAAM,EAAE,gBAAgB,CAAC,QAAQ;SAClC,CAAC,CACH,CAAA;KACF;IAED,IAAI,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,iCAC7B,gBAAgB,KACnB,QAAQ,EAAE,4CAAwB,CAAC,QAAQ,EAC3C,OAAO,EACP,WAAW,EAAE,QAAQ,EACrB,OAAO,EAAE,IAAI,EACb,YAAY,EAAE,IAAI,IAAI,EAAE,EACxB,UAAU,EAAE,IAAI,IAChB,CAAA;IAEF,IAAI,cAAc,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAC,IAAI,iCAC3D,gBAAgB,CAAC,cAAc,KAClC,WAAW,EAAE,QAAQ,EACrB,KAAK,EAAE,sCAAoB,CAAC,QAAQ,EACpC,OAAO,EAAE,IAAI,IACb,CAAA;IAEF,MAAM,IAAA,oCAA2B,EAC/B,gBAAgB,CAAC,cAAc,CAAC,kBAAkB,EAClD,EAAE,QAAQ,EAAE,CAAC,cAAc,CAAC,EAAE,EAC9B,OAAO,CACR,CAAA;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AA1DD,wBA0DC","sourcesContent":["import { ActivityThread, ActivityThreadStatus } from '../../service/activity-thread/activity-thread'\nimport { ActivityApproval, ActivityApprovalJudgment } from '../../service/activity-approval/activity-approval'\nimport { updateActivityInstanceState } from '../common'\n\nexport async function reject(\n { id, comment }: { id: string; comment: string },\n context: ResolverContext\n): Promise<ActivityApproval> {\n const { domain, user, tx } = context.state\n\n var repository = tx.getRepository(ActivityApproval)\n\n var activityApproval = await repository.findOne({\n where: { domain: { id: domain.id }, id },\n relations: ['activityThread']\n })\n\n if (!activityApproval) {\n throw new Error(\n context.t('error.activity-approval not found', {\n activityApproval: id\n })\n )\n }\n\n /* \n Prerequisite of Rejection\n - Previous judgement should be 'pending'\n */\n if (activityApproval.judgment !== ActivityApprovalJudgment.Pending) {\n throw new Error(\n context.t(`error.activity-approval is already terminated`, {\n activityInstance: id,\n actual: activityApproval.judgment\n })\n )\n }\n\n var result = await repository.save({\n ...activityApproval,\n judgment: ActivityApprovalJudgment.Rejected,\n comment,\n transaction: 'reject',\n updater: user,\n terminatedAt: new Date(),\n terminator: user\n })\n\n var activityThread = await tx.getRepository(ActivityThread).save({\n ...activityApproval.activityThread,\n transaction: 'reject',\n state: ActivityThreadStatus.Rejected,\n updater: user\n })\n\n await updateActivityInstanceState(\n activityApproval.activityThread.activityInstanceId,\n { causedBy: [activityThread] },\n context\n )\n\n return result\n}\n"]}
|
|
@@ -11,13 +11,21 @@ class ActivityInstallations {
|
|
|
11
11
|
static list() {
|
|
12
12
|
return Object.values(ActivityInstallations.templates);
|
|
13
13
|
}
|
|
14
|
-
|
|
14
|
+
/**
|
|
15
|
+
* 액티비티인스턴스의 변화가 발생했을 때, 호출되는 콜백함수
|
|
16
|
+
* @param name 액티비티인스턴스가 속한 액티비티명
|
|
17
|
+
* @param activityInstance 해당 액티비티인스턴스
|
|
18
|
+
* @param activityThreads 액티비티인스턴스의 변화를 일으킨 원인이 되는 액티비티쓰레드들
|
|
19
|
+
* @param context 서비스 컨텍스트 : domain, user, translation, ..
|
|
20
|
+
* @returns
|
|
21
|
+
*/
|
|
22
|
+
static async callback(name, activityInstance, activityThreads, context) {
|
|
15
23
|
const installableActivity = ActivityInstallations.templates[name];
|
|
16
24
|
if (!installableActivity) {
|
|
17
25
|
return;
|
|
18
26
|
}
|
|
19
27
|
const { callback } = installableActivity;
|
|
20
|
-
callback && (await callback(activityInstance, context));
|
|
28
|
+
callback && (await callback(activityInstance, { causedBy: activityThreads }, context));
|
|
21
29
|
}
|
|
22
30
|
}
|
|
23
31
|
exports.ActivityInstallations = ActivityInstallations;
|
package/dist-server/controllers/activity-installation/activity-installation-controller.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activity-installation-controller.js","sourceRoot":"","sources":["../../../server/controllers/activity-installation/activity-installation-controller.ts"],"names":[],"mappings":";;;AAEA,MAAa,qBAAqB;IAGhC,MAAM,CAAC,uBAAuB,CAAC,QAA6B;QAC1D,qBAAqB,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAA;IAC3D,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,IAAY;QACrB,OAAO,qBAAqB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IAC9C,CAAC;IAED,MAAM,CAAC,IAAI;QACT,OAAO,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAA;IACvD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAY,EAAE,gBAAqB,EAAE,OAAwB;
|
|
1
|
+
{"version":3,"file":"activity-installation-controller.js","sourceRoot":"","sources":["../../../server/controllers/activity-installation/activity-installation-controller.ts"],"names":[],"mappings":";;;AAEA,MAAa,qBAAqB;IAGhC,MAAM,CAAC,uBAAuB,CAAC,QAA6B;QAC1D,qBAAqB,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAA;IAC3D,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,IAAY;QACrB,OAAO,qBAAqB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IAC9C,CAAC;IAED,MAAM,CAAC,IAAI;QACT,OAAO,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAA;IACvD,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAY,EAAE,gBAAqB,EAAE,eAAsB,EAAE,OAAwB;QACzG,MAAM,mBAAmB,GAAG,qBAAqB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QACjE,IAAI,CAAC,mBAAmB,EAAE;YACxB,OAAM;SACP;QAED,MAAM,EAAE,QAAQ,EAAE,GAAG,mBAAmB,CAAA;QAExC,QAAQ,IAAI,CAAC,MAAM,QAAQ,CAAC,gBAAgB,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,EAAE,OAAO,CAAC,CAAC,CAAA;IACxF,CAAC;;AAhCH,sDAiCC;AAhCQ,+BAAS,GAA4C,EAAE,CAAA","sourcesContent":["import { InstallableActivity } from '../../service/installable-activity/installable-activity'\n\nexport class ActivityInstallations {\n static templates: { [name: string]: InstallableActivity } = {}\n\n static installActivityTemplate(template: InstallableActivity) {\n ActivityInstallations.templates[template.name] = template\n }\n\n static get(name: string): InstallableActivity {\n return ActivityInstallations.templates[name]\n }\n\n static list(): InstallableActivity[] {\n return Object.values(ActivityInstallations.templates)\n }\n\n /**\n * 액티비티인스턴스의 변화가 발생했을 때, 호출되는 콜백함수\n * @param name 액티비티인스턴스가 속한 액티비티명\n * @param activityInstance 해당 액티비티인스턴스\n * @param activityThreads 액티비티인스턴스의 변화를 일으킨 원인이 되는 액티비티쓰레드들\n * @param context 서비스 컨텍스트 : domain, user, translation, ..\n * @returns\n */\n static async callback(name: string, activityInstance: any, activityThreads: any[], context: ResolverContext) {\n const installableActivity = ActivityInstallations.templates[name]\n if (!installableActivity) {\n return\n }\n\n const { callback } = installableActivity\n\n callback && (await callback(activityInstance, { causedBy: activityThreads }, context))\n }\n}\n"]}
|
|
@@ -42,7 +42,7 @@ async function abort({ id, reason }, context) {
|
|
|
42
42
|
Actions to be processed when a task is aborted
|
|
43
43
|
- All related activity threads must be aborted.
|
|
44
44
|
*/
|
|
45
|
-
const TERMINATED = [activity_thread_1.ActivityThreadStatus.Aborted, activity_thread_1.ActivityThreadStatus.
|
|
45
|
+
const TERMINATED = [activity_thread_1.ActivityThreadStatus.Aborted, activity_thread_1.ActivityThreadStatus.Ended];
|
|
46
46
|
for (let activityThread of activityInstance.activityThreads) {
|
|
47
47
|
if (TERMINATED.includes(activityThread.state)) {
|
|
48
48
|
continue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abort.js","sourceRoot":"","sources":["../../../server/controllers/activity-instance/abort.ts"],"names":[],"mappings":";;;AAAA,mFAAoF;AACpF,yFAA4G;AAC5G,sCAAqD;AAErD,sDAAyE;AAElE,KAAK,UAAU,KAAK,CACzB,EAAE,EAAE,EAAE,MAAM,EAAkC,EAC9C,OAAwB;IAExB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,IAAI,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,oCAAgB,CAAC,CAAA;IAEnD,IAAI,gBAAgB,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QAC9C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;QACxC,SAAS,EAAE;YACT,QAAQ;YACR,UAAU;YACV,iBAAiB;YACjB,cAAc;YACd,iBAAiB;YACjB,SAAS;YACT,SAAS;YACT,SAAS;YACT,YAAY;SACb;KACF,CAAC,CAAA;IAEF,IAAI,CAAC,gBAAgB,EAAE;QACrB,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,mCAAmC,EAAE;YAC7C,gBAAgB,EAAE,EAAE;SACrB,CAAC,CACH,CAAA;KACF;IAED;;;MAGE;IACF,IACE,gBAAgB,CAAC,KAAK,IAAI,0CAAsB,CAAC,OAAO;QACxD,gBAAgB,CAAC,KAAK,IAAI,0CAAsB,CAAC,KAAK,EACtD;QACA,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,+CAA+C,EAAE;YACzD,EAAE;YACF,KAAK,EAAE,gBAAgB,CAAC,KAAK;SAC9B,CAAC,CACH,CAAA;KACF;IAED;;;MAGE;IAEF,MAAM,UAAU,GAAG,CAAC,sCAAoB,CAAC,OAAO,EAAE,sCAAoB,CAAC,
|
|
1
|
+
{"version":3,"file":"abort.js","sourceRoot":"","sources":["../../../server/controllers/activity-instance/abort.ts"],"names":[],"mappings":";;;AAAA,mFAAoF;AACpF,yFAA4G;AAC5G,sCAAqD;AAErD,sDAAyE;AAElE,KAAK,UAAU,KAAK,CACzB,EAAE,EAAE,EAAE,MAAM,EAAkC,EAC9C,OAAwB;IAExB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,IAAI,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,oCAAgB,CAAC,CAAA;IAEnD,IAAI,gBAAgB,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QAC9C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;QACxC,SAAS,EAAE;YACT,QAAQ;YACR,UAAU;YACV,iBAAiB;YACjB,cAAc;YACd,iBAAiB;YACjB,SAAS;YACT,SAAS;YACT,SAAS;YACT,YAAY;SACb;KACF,CAAC,CAAA;IAEF,IAAI,CAAC,gBAAgB,EAAE;QACrB,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,mCAAmC,EAAE;YAC7C,gBAAgB,EAAE,EAAE;SACrB,CAAC,CACH,CAAA;KACF;IAED;;;MAGE;IACF,IACE,gBAAgB,CAAC,KAAK,IAAI,0CAAsB,CAAC,OAAO;QACxD,gBAAgB,CAAC,KAAK,IAAI,0CAAsB,CAAC,KAAK,EACtD;QACA,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,+CAA+C,EAAE;YACzD,EAAE;YACF,KAAK,EAAE,gBAAgB,CAAC,KAAK;SAC9B,CAAC,CACH,CAAA;KACF;IAED;;;MAGE;IAEF,MAAM,UAAU,GAAG,CAAC,sCAAoB,CAAC,OAAO,EAAE,sCAAoB,CAAC,KAAK,CAAC,CAAA;IAE7E,KAAK,IAAI,cAAc,IAAI,gBAAgB,CAAC,eAAe,EAAE;QAC3D,IAAI,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;YAC7C,SAAQ;SACT;QAED,MAAM,IAAA,eAAmB,EAAC,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,CAAA;KAC/D;IAED,OAAO,MAAM,UAAU,CAAC,IAAI,6DACvB,gBAAgB,KACnB,MAAM,KACH,CAAC,MAAM,IAAA,kCAAyB,EAAC,EAAE,EAAE,OAAO,CAAC,CAAC,KACjD,WAAW,EAAE,OAAO,EACpB,OAAO,EAAE,IAAI,EACb,YAAY,EAAE,IAAI,IAAI,EAAE,EACxB,UAAU,EAAE,IAAI,IAChB,CAAA;AACJ,CAAC;AAvED,sBAuEC","sourcesContent":["import { ActivityThreadStatus } from '../../service/activity-thread/activity-thread'\nimport { ActivityInstance, ActivityInstanceStatus } from '../../service/activity-instance/activity-instance'\nimport { evalActivityInstanceState } from '../common'\n\nimport { _abort as abortActivityThread } from '../activity-thread/_abort'\n\nexport async function abort(\n { id, reason }: { id: string; reason: string },\n context: ResolverContext\n): Promise<ActivityInstance> {\n const { domain, user, tx } = context.state\n\n var repository = tx.getRepository(ActivityInstance)\n\n var activityInstance = await repository.findOne({\n where: { domain: { id: domain.id }, id },\n relations: [\n 'domain',\n 'activity',\n 'activityThreads',\n 'assigneeRole',\n 'supervisoryRole',\n 'updater',\n 'creator',\n 'starter',\n 'terminator'\n ]\n })\n\n if (!activityInstance) {\n throw new Error(\n context.t('error.activity-instance not found', {\n activityInstance: id\n })\n )\n }\n\n /* \n Prerequisites for a Task to Be Aborted.\n - The previous state of the task must not be End or Aborted.\n */\n if (\n activityInstance.state == ActivityInstanceStatus.Aborted ||\n activityInstance.state == ActivityInstanceStatus.Ended\n ) {\n throw new Error(\n context.t(`error.activity-instance is already terminated`, {\n id,\n state: activityInstance.state\n })\n )\n }\n\n /* \n Actions to be processed when a task is aborted\n - All related activity threads must be aborted.\n */\n\n const TERMINATED = [ActivityThreadStatus.Aborted, ActivityThreadStatus.Ended]\n\n for (let activityThread of activityInstance.activityThreads) {\n if (TERMINATED.includes(activityThread.state)) {\n continue\n }\n\n await abortActivityThread({ activityThread, reason }, context)\n }\n\n return await repository.save({\n ...activityInstance,\n reason,\n ...(await evalActivityInstanceState(id, context)),\n transaction: 'abort',\n updater: user,\n terminatedAt: new Date(),\n terminator: user\n })\n}\n"]}
|
|
@@ -38,7 +38,7 @@ async function end({ id, output, reason }, context) {
|
|
|
38
38
|
state: activityInstance.state
|
|
39
39
|
}));
|
|
40
40
|
}
|
|
41
|
-
const TERMINATED = [activity_thread_1.ActivityThreadStatus.Aborted, activity_thread_1.ActivityThreadStatus.
|
|
41
|
+
const TERMINATED = [activity_thread_1.ActivityThreadStatus.Aborted, activity_thread_1.ActivityThreadStatus.Ended];
|
|
42
42
|
for (let activityThread of activityInstance.activityThreads) {
|
|
43
43
|
if (TERMINATED.includes(activityThread.state)) {
|
|
44
44
|
continue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"end.js","sourceRoot":"","sources":["../../../server/controllers/activity-instance/end.ts"],"names":[],"mappings":";;;AAAA,yFAA4G;AAC5G,mFAAoF;AACpF,sCAAqD;AAE9C,KAAK,UAAU,GAAG,CACvB,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAoD,EACxE,OAAwB;IAExB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAC1C,MAAM,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,oCAAgB,CAAC,CAAA;IAErD,IAAI,gBAAgB,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QAC9C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;QACxC,SAAS,EAAE;YACT,QAAQ;YACR,UAAU;YACV,iBAAiB;YACjB,cAAc;YACd,iBAAiB;YACjB,SAAS;YACT,SAAS;YACT,SAAS;YACT,YAAY;SACb;KACF,CAAC,CAAA;IAEF,IAAI,CAAC,gBAAgB,EAAE;QACrB,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,mCAAmC,EAAE;YAC7C,gBAAgB,EAAE,EAAE;SACrB,CAAC,CACH,CAAA;KACF;IAED;;;;MAIE;IACF,IACE,gBAAgB,CAAC,KAAK,IAAI,0CAAsB,CAAC,OAAO;QACxD,gBAAgB,CAAC,KAAK,IAAI,0CAAsB,CAAC,KAAK,EACtD;QACA,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,+CAA+C,EAAE;YACzD,EAAE;YACF,KAAK,EAAE,gBAAgB,CAAC,KAAK;SAC9B,CAAC,CACH,CAAA;KACF;IAED,MAAM,UAAU,GAAG,CAAC,sCAAoB,CAAC,OAAO,EAAE,sCAAoB,CAAC,
|
|
1
|
+
{"version":3,"file":"end.js","sourceRoot":"","sources":["../../../server/controllers/activity-instance/end.ts"],"names":[],"mappings":";;;AAAA,yFAA4G;AAC5G,mFAAoF;AACpF,sCAAqD;AAE9C,KAAK,UAAU,GAAG,CACvB,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAoD,EACxE,OAAwB;IAExB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAC1C,MAAM,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,oCAAgB,CAAC,CAAA;IAErD,IAAI,gBAAgB,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QAC9C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;QACxC,SAAS,EAAE;YACT,QAAQ;YACR,UAAU;YACV,iBAAiB;YACjB,cAAc;YACd,iBAAiB;YACjB,SAAS;YACT,SAAS;YACT,SAAS;YACT,YAAY;SACb;KACF,CAAC,CAAA;IAEF,IAAI,CAAC,gBAAgB,EAAE;QACrB,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,mCAAmC,EAAE;YAC7C,gBAAgB,EAAE,EAAE;SACrB,CAAC,CACH,CAAA;KACF;IAED;;;;MAIE;IACF,IACE,gBAAgB,CAAC,KAAK,IAAI,0CAAsB,CAAC,OAAO;QACxD,gBAAgB,CAAC,KAAK,IAAI,0CAAsB,CAAC,KAAK,EACtD;QACA,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,+CAA+C,EAAE;YACzD,EAAE;YACF,KAAK,EAAE,gBAAgB,CAAC,KAAK;SAC9B,CAAC,CACH,CAAA;KACF;IAED,MAAM,UAAU,GAAG,CAAC,sCAAoB,CAAC,OAAO,EAAE,sCAAoB,CAAC,KAAK,CAAC,CAAA;IAE7E,KAAK,IAAI,cAAc,IAAI,gBAAgB,CAAC,eAAe,EAAE;QAC3D,IAAI,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;YAC7C,SAAQ;SACT;QAED,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,iDAAiD,EAAE;YAC3D,cAAc,EAAE,cAAc,CAAC,EAAE;YACjC,KAAK,EAAE,gBAAgB,CAAC,KAAK;SAC9B,CAAC,CACH,CAAA;KACF;IAED,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE;QAC/B,gBAAgB,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAA;KACxC;IAED,OAAO,MAAM,UAAU,CAAC,IAAI,CAAC,gCACxB,gBAAgB,KACnB,MAAM;QACN,MAAM,EACN,WAAW,EAAE,KAAK,EAClB,KAAK,EAAE,MAAM,IAAA,kCAAyB,EAAC,EAAE,EAAE,OAAO,CAAC,EACnD,OAAO,EAAE,IAAI,EACb,YAAY,EAAE,IAAI,IAAI,EAAE,EACxB,UAAU,EAAE,IAAI,GACV,CAAC,CAAA;AACX,CAAC;AA5ED,kBA4EC","sourcesContent":["import { ActivityInstance, ActivityInstanceStatus } from '../../service/activity-instance/activity-instance'\nimport { ActivityThreadStatus } from '../../service/activity-thread/activity-thread'\nimport { evalActivityInstanceState } from '../common'\n\nexport async function end(\n { id, output, reason }: { id: string; output?: object; reason?: string },\n context: ResolverContext\n): Promise<ActivityInstance> {\n const { domain, user, tx } = context.state\n const repository = tx.getRepository(ActivityInstance)\n\n var activityInstance = await repository.findOne({\n where: { domain: { id: domain.id }, id },\n relations: [\n 'domain',\n 'activity',\n 'activityThreads',\n 'assigneeRole',\n 'supervisoryRole',\n 'updater',\n 'creator',\n 'starter',\n 'terminator'\n ]\n })\n\n if (!activityInstance) {\n throw new Error(\n context.t('error.activity-instance not found', {\n activityInstance: id\n })\n )\n }\n\n /* \n Prerequisites for a Task to Be End.\n - The previous state of the task must not be End or Aborted.\n - There should be no unfinished activity threads.\n */\n if (\n activityInstance.state == ActivityInstanceStatus.Aborted ||\n activityInstance.state == ActivityInstanceStatus.Ended\n ) {\n throw new Error(\n context.t(`error.activity-instance is already terminated`, {\n id,\n state: activityInstance.state\n })\n )\n }\n\n const TERMINATED = [ActivityThreadStatus.Aborted, ActivityThreadStatus.Ended]\n\n for (let activityThread of activityInstance.activityThreads) {\n if (TERMINATED.includes(activityThread.state)) {\n continue\n }\n\n throw new Error(\n context.t(`error.all activity threads should be terminated`, {\n activityThread: activityThread.id,\n state: activityInstance.state\n })\n )\n }\n\n if (!activityInstance.startedAt) {\n activityInstance.startedAt = new Date()\n }\n\n return await repository.save({\n ...activityInstance,\n reason,\n output,\n transaction: 'end',\n state: await evalActivityInstanceState(id, context),\n updater: user,\n terminatedAt: new Date(),\n terminator: user\n } as any)\n}\n"]}
|
|
@@ -20,9 +20,7 @@ async function abort({ id, reason }, context) {
|
|
|
20
20
|
Prerequisites for a activity thread to Be Aborted.
|
|
21
21
|
- The previous state of the activity thread must not be End or Aborted.
|
|
22
22
|
*/
|
|
23
|
-
if (activityThread.state == activity_thread_1.ActivityThreadStatus.Aborted ||
|
|
24
|
-
activityThread.state == activity_thread_1.ActivityThreadStatus.Ended ||
|
|
25
|
-
activityThread.state == activity_thread_1.ActivityThreadStatus.Delegated) {
|
|
23
|
+
if (activityThread.state == activity_thread_1.ActivityThreadStatus.Aborted || activityThread.state == activity_thread_1.ActivityThreadStatus.Ended) {
|
|
26
24
|
throw new Error(context.t(`error.activity-thread is already terminated`, {
|
|
27
25
|
id,
|
|
28
26
|
state: activityThread.state
|
|
@@ -32,7 +30,7 @@ async function abort({ id, reason }, context) {
|
|
|
32
30
|
activityThread.startedAt = new Date();
|
|
33
31
|
}
|
|
34
32
|
const result = await (0, _abort_1._abort)({ activityThread, reason }, context);
|
|
35
|
-
await (0, common_1.updateActivityInstanceState)(activityThread.activityInstanceId, context);
|
|
33
|
+
await (0, common_1.updateActivityInstanceState)(activityThread.activityInstanceId, { causedBy: [result] }, context);
|
|
36
34
|
return result;
|
|
37
35
|
}
|
|
38
36
|
exports.abort = abort;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abort.js","sourceRoot":"","sources":["../../../server/controllers/activity-thread/abort.ts"],"names":[],"mappings":";;;AAAA,mFAAoG;AACpG,sCAAuD;AACvD,qCAAiC;AAE1B,KAAK,UAAU,KAAK,CACzB,EAAE,EAAE,EAAE,MAAM,EAAkC,EAC9C,OAAwB;IAExB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,IAAI,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAA;IAEjD,IAAI,cAAc,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QAC5C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;QACxC,SAAS,EAAE,CAAC,QAAQ,EAAE,kBAAkB,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC;KAC5E,CAAC,CAAA;IAEF,IAAI,CAAC,cAAc,EAAE;QACnB,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,iCAAiC,EAAE;YAC3C,cAAc,EAAE,EAAE;SACnB,CAAC,CACH,CAAA;KACF;IAED;;;MAGE;IACF,
|
|
1
|
+
{"version":3,"file":"abort.js","sourceRoot":"","sources":["../../../server/controllers/activity-thread/abort.ts"],"names":[],"mappings":";;;AAAA,mFAAoG;AACpG,sCAAuD;AACvD,qCAAiC;AAE1B,KAAK,UAAU,KAAK,CACzB,EAAE,EAAE,EAAE,MAAM,EAAkC,EAC9C,OAAwB;IAExB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,IAAI,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAA;IAEjD,IAAI,cAAc,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QAC5C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;QACxC,SAAS,EAAE,CAAC,QAAQ,EAAE,kBAAkB,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC;KAC5E,CAAC,CAAA;IAEF,IAAI,CAAC,cAAc,EAAE;QACnB,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,iCAAiC,EAAE;YAC3C,cAAc,EAAE,EAAE;SACnB,CAAC,CACH,CAAA;KACF;IAED;;;MAGE;IACF,IAAI,cAAc,CAAC,KAAK,IAAI,sCAAoB,CAAC,OAAO,IAAI,cAAc,CAAC,KAAK,IAAI,sCAAoB,CAAC,KAAK,EAAE;QAC9G,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,6CAA6C,EAAE;YACvD,EAAE;YACF,KAAK,EAAE,cAAc,CAAC,KAAK;SAC5B,CAAC,CACH,CAAA;KACF;IAED,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE;QAC7B,cAAc,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAA;KACtC;IAED,MAAM,MAAM,GAAG,MAAM,IAAA,eAAM,EAAC,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,CAAA;IAEhE,MAAM,IAAA,oCAA2B,EAAC,cAAc,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IAErG,OAAO,MAAM,CAAA;AACf,CAAC;AA3CD,sBA2CC","sourcesContent":["import { ActivityThread, ActivityThreadStatus } from '../../service/activity-thread/activity-thread'\nimport { updateActivityInstanceState } from '../common'\nimport { _abort } from './_abort'\n\nexport async function abort(\n { id, reason }: { id: string; reason: string },\n context: ResolverContext\n): Promise<ActivityThread> {\n const { domain, user, tx } = context.state\n\n var repository = tx.getRepository(ActivityThread)\n\n var activityThread = await repository.findOne({\n where: { domain: { id: domain.id }, id },\n relations: ['domain', 'activityInstance', 'assignee', 'creator', 'updater']\n })\n\n if (!activityThread) {\n throw new Error(\n context.t('error.activity-thread not found', {\n activityThread: id\n })\n )\n }\n\n /* \n Prerequisites for a activity thread to Be Aborted.\n - The previous state of the activity thread must not be End or Aborted.\n */\n if (activityThread.state == ActivityThreadStatus.Aborted || activityThread.state == ActivityThreadStatus.Ended) {\n throw new Error(\n context.t(`error.activity-thread is already terminated`, {\n id,\n state: activityThread.state\n })\n )\n }\n\n if (!activityThread.startedAt) {\n activityThread.startedAt = new Date()\n }\n\n const result = await _abort({ activityThread, reason }, context)\n\n await updateActivityInstanceState(activityThread.activityInstanceId, { causedBy: [result] }, context)\n\n return result\n}\n"]}
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.delegate = void 0;
|
|
4
4
|
const activity_thread_1 = require("../../service/activity-thread/activity-thread");
|
|
5
5
|
const common_1 = require("../common");
|
|
6
|
-
async function delegate({ id,
|
|
6
|
+
async function delegate({ id, assignee, dueAt, reason }, context) {
|
|
7
7
|
const { domain, user, tx } = context.state;
|
|
8
8
|
const repository = tx.getRepository(activity_thread_1.ActivityThread);
|
|
9
9
|
var activityThread = await repository.findOne({
|
|
@@ -28,8 +28,8 @@ async function delegate({ id, assigneeRole, dueAt, reason }, context) {
|
|
|
28
28
|
activityThread.dueAt = dueAt;
|
|
29
29
|
}
|
|
30
30
|
const result = await repository.save(Object.assign(Object.assign({}, activityThread), { reason,
|
|
31
|
-
|
|
32
|
-
await (0, common_1.updateActivityInstanceState)(activityThread.activityInstanceId, context);
|
|
31
|
+
assignee, transaction: 'delegate', state: activity_thread_1.ActivityThreadStatus.Assigned, updater: user, assignedAt: new Date() }));
|
|
32
|
+
await (0, common_1.updateActivityInstanceState)(activityThread.activityInstanceId, { causedBy: [result] }, context);
|
|
33
33
|
return result;
|
|
34
34
|
}
|
|
35
35
|
exports.delegate = delegate;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delegate.js","sourceRoot":"","sources":["../../../server/controllers/activity-thread/delegate.ts"],"names":[],"mappings":";;;AAAA,mFAAoG;AACpG,sCAAuD;AAEhD,KAAK,UAAU,QAAQ,CAC5B,EACE,EAAE,EACF,
|
|
1
|
+
{"version":3,"file":"delegate.js","sourceRoot":"","sources":["../../../server/controllers/activity-thread/delegate.ts"],"names":[],"mappings":";;;AAAA,mFAAoG;AACpG,sCAAuD;AAEhD,KAAK,UAAU,QAAQ,CAC5B,EACE,EAAE,EACF,QAAQ,EACR,KAAK,EACL,MAAM,EAMP,EACD,OAAwB;IAExB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,MAAM,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAA;IAEnD,IAAI,cAAc,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QAC5C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;KACzC,CAAC,CAAA;IAEF,IAAI,CAAC,cAAc,EAAE;QACnB,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,iCAAiC,EAAE;YAC3C,cAAc,EAAE,EAAE;SACnB,CAAC,CACH,CAAA;KACF;IAED;;;MAGE;IACF,IAAI,cAAc,CAAC,KAAK,KAAK,sCAAoB,CAAC,QAAQ,IAAI,cAAc,CAAC,KAAK,KAAK,sCAAoB,CAAC,OAAO,EAAE;QACnH,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,6CAA6C,EAAE;YACvD,EAAE;YACF,MAAM,EAAE,cAAc,CAAC,KAAK;SAC7B,CAAC,CACH,CAAA;KACF;IAED,IAAI,KAAK,EAAE;QACT,cAAc,CAAC,KAAK,GAAG,KAAK,CAAA;KAC7B;IAED,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,iCAC/B,cAAc,KACjB,MAAM;QACN,QAAQ,EACR,WAAW,EAAE,UAAU,EACvB,KAAK,EAAE,sCAAoB,CAAC,QAAQ,EACpC,OAAO,EAAE,IAAI,EACb,UAAU,EAAE,IAAI,IAAI,EAAE,IACtB,CAAA;IAEF,MAAM,IAAA,oCAA2B,EAAC,cAAc,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IAErG,OAAO,MAAM,CAAA;AACf,CAAC;AA5DD,4BA4DC","sourcesContent":["import { ActivityThread, ActivityThreadStatus } from '../../service/activity-thread/activity-thread'\nimport { updateActivityInstanceState } from '../common'\n\nexport async function delegate(\n {\n id,\n assignee,\n dueAt,\n reason\n }: {\n id: string\n assignee?: object\n dueAt?: Date\n reason?: string\n },\n context: ResolverContext\n): Promise<ActivityThread> {\n const { domain, user, tx } = context.state\n\n const repository = tx.getRepository(ActivityThread)\n\n var activityThread = await repository.findOne({\n where: { domain: { id: domain.id }, id }\n })\n\n if (!activityThread) {\n throw new Error(\n context.t('error.activity-thread not found', {\n activityThread: id\n })\n )\n }\n\n /* \n Prerequisites for a activity thread to Be Delegated.\n - The previous state of the activity thread should be assigned or started.\n */\n if (activityThread.state !== ActivityThreadStatus.Assigned && activityThread.state !== ActivityThreadStatus.Started) {\n throw new Error(\n context.t(`error.activity-thread is already terminated`, {\n id,\n actual: activityThread.state\n })\n )\n }\n\n if (dueAt) {\n activityThread.dueAt = dueAt\n }\n\n const result = await repository.save({\n ...activityThread,\n reason,\n assignee,\n transaction: 'delegate',\n state: ActivityThreadStatus.Assigned,\n updater: user,\n assignedAt: new Date()\n })\n\n await updateActivityInstanceState(activityThread.activityInstanceId, { causedBy: [result] }, context)\n\n return result\n}\n"]}
|
|
@@ -18,9 +18,7 @@ async function end({ id, output, reason }, context) {
|
|
|
18
18
|
Prerequisites for a activity thread to Be End.
|
|
19
19
|
- The previous state of the activity thread must not be End or End.
|
|
20
20
|
*/
|
|
21
|
-
if (activityThread.state == activity_thread_1.ActivityThreadStatus.Aborted ||
|
|
22
|
-
activityThread.state == activity_thread_1.ActivityThreadStatus.Ended ||
|
|
23
|
-
activityThread.state == activity_thread_1.ActivityThreadStatus.Delegated) {
|
|
21
|
+
if (activityThread.state == activity_thread_1.ActivityThreadStatus.Aborted || activityThread.state == activity_thread_1.ActivityThreadStatus.Ended) {
|
|
24
22
|
throw new Error(context.t(`error.activity-thread is already terminated`, {
|
|
25
23
|
id,
|
|
26
24
|
actual: activityThread.state
|
|
@@ -31,7 +29,7 @@ async function end({ id, output, reason }, context) {
|
|
|
31
29
|
}
|
|
32
30
|
activityThread = await repository.save(Object.assign(Object.assign({}, activityThread), { reason,
|
|
33
31
|
output, transaction: 'end', state: activity_thread_1.ActivityThreadStatus.Ended, updater: user, terminatedAt: new Date() }));
|
|
34
|
-
await (0, common_1.updateActivityInstanceState)(activityThread.activityInstanceId, context);
|
|
32
|
+
await (0, common_1.updateActivityInstanceState)(activityThread.activityInstanceId, { causedBy: [activityThread] }, context);
|
|
35
33
|
return activityThread;
|
|
36
34
|
}
|
|
37
35
|
exports.end = end;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"end.js","sourceRoot":"","sources":["../../../server/controllers/activity-thread/end.ts"],"names":[],"mappings":";;;AAAA,mFAAoG;AACpG,sCAAuD;AAEhD,KAAK,UAAU,GAAG,CACvB,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAoD,EACxE,OAAwB;IAExB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,MAAM,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAA;IAEnD,IAAI,cAAc,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QAC5C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;KACzC,CAAC,CAAA;IAEF,IAAI,CAAC,cAAc,EAAE;QACnB,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,iCAAiC,EAAE;YAC3C,cAAc,EAAE,EAAE;SACnB,CAAC,CACH,CAAA;KACF;IAED;;;MAGE;IACF,
|
|
1
|
+
{"version":3,"file":"end.js","sourceRoot":"","sources":["../../../server/controllers/activity-thread/end.ts"],"names":[],"mappings":";;;AAAA,mFAAoG;AACpG,sCAAuD;AAEhD,KAAK,UAAU,GAAG,CACvB,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAoD,EACxE,OAAwB;IAExB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,MAAM,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAA;IAEnD,IAAI,cAAc,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QAC5C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;KACzC,CAAC,CAAA;IAEF,IAAI,CAAC,cAAc,EAAE;QACnB,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,iCAAiC,EAAE;YAC3C,cAAc,EAAE,EAAE;SACnB,CAAC,CACH,CAAA;KACF;IAED;;;MAGE;IACF,IAAI,cAAc,CAAC,KAAK,IAAI,sCAAoB,CAAC,OAAO,IAAI,cAAc,CAAC,KAAK,IAAI,sCAAoB,CAAC,KAAK,EAAE;QAC9G,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,6CAA6C,EAAE;YACvD,EAAE;YACF,MAAM,EAAE,cAAc,CAAC,KAAK;SAC7B,CAAC,CACH,CAAA;KACF;IAED,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE;QAC7B,cAAc,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAA;KACtC;IAED,cAAc,GAAG,MAAM,UAAU,CAAC,IAAI,iCACjC,cAAc,KACjB,MAAM;QACN,MAAM,EACN,WAAW,EAAE,KAAK,EAClB,KAAK,EAAE,sCAAoB,CAAC,KAAK,EACjC,OAAO,EAAE,IAAI,EACb,YAAY,EAAE,IAAI,IAAI,EAAE,IACxB,CAAA;IAEF,MAAM,IAAA,oCAA2B,EAAC,cAAc,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IAE7G,OAAO,cAAc,CAAA;AACvB,CAAC;AAlDD,kBAkDC","sourcesContent":["import { ActivityThread, ActivityThreadStatus } from '../../service/activity-thread/activity-thread'\nimport { updateActivityInstanceState } from '../common'\n\nexport async function end(\n { id, output, reason }: { id: string; output?: object; reason?: string },\n context: ResolverContext\n): Promise<ActivityThread> {\n const { domain, user, tx } = context.state\n\n const repository = tx.getRepository(ActivityThread)\n\n var activityThread = await repository.findOne({\n where: { domain: { id: domain.id }, id }\n })\n\n if (!activityThread) {\n throw new Error(\n context.t('error.activity-thread not found', {\n activityThread: id\n })\n )\n }\n\n /* \n Prerequisites for a activity thread to Be End.\n - The previous state of the activity thread must not be End or End.\n */\n if (activityThread.state == ActivityThreadStatus.Aborted || activityThread.state == ActivityThreadStatus.Ended) {\n throw new Error(\n context.t(`error.activity-thread is already terminated`, {\n id,\n actual: activityThread.state\n })\n )\n }\n\n if (!activityThread.startedAt) {\n activityThread.startedAt = new Date()\n }\n\n activityThread = await repository.save({\n ...activityThread,\n reason,\n output,\n transaction: 'end',\n state: ActivityThreadStatus.Ended,\n updater: user,\n terminatedAt: new Date()\n })\n\n await updateActivityInstanceState(activityThread.activityInstanceId, { causedBy: [activityThread] }, context)\n\n return activityThread\n}\n"]}
|
|
@@ -29,7 +29,7 @@ async function restart(id, output, reason, context) {
|
|
|
29
29
|
activityThread.output = output;
|
|
30
30
|
}
|
|
31
31
|
const result = await tx.getRepository(activity_thread_1.ActivityThread).save(Object.assign(Object.assign({}, activityThread), { reason, state: activity_thread_1.ActivityThreadStatus.Started, transaction: 'restart', round: activityThread.round + 1, updater: user, startedAt: new Date() }));
|
|
32
|
-
await (0, common_1.updateActivityInstanceState)(activityThread.activityInstanceId, context);
|
|
32
|
+
await (0, common_1.updateActivityInstanceState)(activityThread.activityInstanceId, { causedBy: [result] }, context);
|
|
33
33
|
return result;
|
|
34
34
|
}
|
|
35
35
|
exports.restart = restart;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"restart.js","sourceRoot":"","sources":["../../../server/controllers/activity-thread/restart.ts"],"names":[],"mappings":";;;AAAA,mFAAoG;AACpG,sCAAuD;AAEhD,KAAK,UAAU,OAAO,CAC3B,EAAU,EACV,MAAc,EACd,MAAc,EACd,OAAwB;IAExB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,MAAM,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAA;IACnD,MAAM,cAAc,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QAC9C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;KACzC,CAAC,CAAA;IAEF,IAAI,CAAC,cAAc,EAAE;QACnB,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,iCAAiC,EAAE;YAC3C,cAAc,EAAE,EAAE;SACnB,CAAC,CACH,CAAA;KACF;IAED;;;MAGE;IACF,IAAI,cAAc,CAAC,KAAK,KAAK,sCAAoB,CAAC,QAAQ,EAAE;QAC1D,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,2CAA2C,EAAE;YACrD,EAAE;YACF,KAAK,EAAE,sCAAoB,CAAC,QAAQ;YACpC,MAAM,EAAE,cAAc,CAAC,KAAK;SAC7B,CAAC,CACH,CAAA;KACF;IAED,IAAI,MAAM,EAAE;QACV,cAAc,CAAC,MAAM,GAAG,MAAM,CAAA;KAC/B;IAED,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAC,IAAI,iCACrD,cAAc,KACjB,MAAM,EACN,KAAK,EAAE,sCAAoB,CAAC,OAAO,EACnC,WAAW,EAAE,SAAS,EACtB,KAAK,EAAE,cAAc,CAAC,KAAK,GAAG,CAAC,EAC/B,OAAO,EAAE,IAAI,EACb,SAAS,EAAE,IAAI,IAAI,EAAE,IACrB,CAAA;IAEF,MAAM,IAAA,oCAA2B,EAAC,cAAc,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"restart.js","sourceRoot":"","sources":["../../../server/controllers/activity-thread/restart.ts"],"names":[],"mappings":";;;AAAA,mFAAoG;AACpG,sCAAuD;AAEhD,KAAK,UAAU,OAAO,CAC3B,EAAU,EACV,MAAc,EACd,MAAc,EACd,OAAwB;IAExB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,MAAM,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAA;IACnD,MAAM,cAAc,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QAC9C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;KACzC,CAAC,CAAA;IAEF,IAAI,CAAC,cAAc,EAAE;QACnB,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,iCAAiC,EAAE;YAC3C,cAAc,EAAE,EAAE;SACnB,CAAC,CACH,CAAA;KACF;IAED;;;MAGE;IACF,IAAI,cAAc,CAAC,KAAK,KAAK,sCAAoB,CAAC,QAAQ,EAAE;QAC1D,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,2CAA2C,EAAE;YACrD,EAAE;YACF,KAAK,EAAE,sCAAoB,CAAC,QAAQ;YACpC,MAAM,EAAE,cAAc,CAAC,KAAK;SAC7B,CAAC,CACH,CAAA;KACF;IAED,IAAI,MAAM,EAAE;QACV,cAAc,CAAC,MAAM,GAAG,MAAM,CAAA;KAC/B;IAED,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAC,IAAI,iCACrD,cAAc,KACjB,MAAM,EACN,KAAK,EAAE,sCAAoB,CAAC,OAAO,EACnC,WAAW,EAAE,SAAS,EACtB,KAAK,EAAE,cAAc,CAAC,KAAK,GAAG,CAAC,EAC/B,OAAO,EAAE,IAAI,EACb,SAAS,EAAE,IAAI,IAAI,EAAE,IACrB,CAAA;IAEF,MAAM,IAAA,oCAA2B,EAAC,cAAc,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IAErG,OAAO,MAAM,CAAA;AACf,CAAC;AApDD,0BAoDC","sourcesContent":["import { ActivityThread, ActivityThreadStatus } from '../../service/activity-thread/activity-thread'\nimport { updateActivityInstanceState } from '../common'\n\nexport async function restart(\n id: string,\n output: object,\n reason: string,\n context: ResolverContext\n): Promise<ActivityThread> {\n const { domain, user, tx } = context.state\n\n const repository = tx.getRepository(ActivityThread)\n const activityThread = await repository.findOne({\n where: { domain: { id: domain.id }, id }\n })\n\n if (!activityThread) {\n throw new Error(\n context.t('error.activity-thread not found', {\n activityThread: id\n })\n )\n }\n\n /* \n Prerequisites for a activity thread to Be Delegated.\n - The previous state of the activity thread should be Rejected.\n */\n if (activityThread.state !== ActivityThreadStatus.Rejected) {\n throw new Error(\n context.t(`error.activity-thread should be the state`, {\n id,\n state: ActivityThreadStatus.Rejected,\n actual: activityThread.state\n })\n )\n }\n\n if (output) {\n activityThread.output = output\n }\n\n const result = await tx.getRepository(ActivityThread).save({\n ...activityThread,\n reason,\n state: ActivityThreadStatus.Started,\n transaction: 'restart',\n round: activityThread.round + 1,\n updater: user,\n startedAt: new Date()\n })\n\n await updateActivityInstanceState(activityThread.activityInstanceId, { causedBy: [result] }, context)\n\n return result\n}\n"]}
|
|
@@ -18,9 +18,7 @@ async function save(id, save, context) {
|
|
|
18
18
|
Prerequisites for a activity thread to Be Saved.
|
|
19
19
|
- The previous state of the activity thread must not be terminated.
|
|
20
20
|
*/
|
|
21
|
-
if (activityThread.state == activity_thread_1.ActivityThreadStatus.Aborted ||
|
|
22
|
-
activityThread.state == activity_thread_1.ActivityThreadStatus.Ended ||
|
|
23
|
-
activityThread.state == activity_thread_1.ActivityThreadStatus.Delegated) {
|
|
21
|
+
if (activityThread.state == activity_thread_1.ActivityThreadStatus.Aborted || activityThread.state == activity_thread_1.ActivityThreadStatus.Ended) {
|
|
24
22
|
throw new Error(context.t(`error.activity-thread is already terminated`, {
|
|
25
23
|
id,
|
|
26
24
|
actual: activityThread.state
|
|
@@ -31,7 +29,7 @@ async function save(id, save, context) {
|
|
|
31
29
|
activityThread.startedAt = new Date();
|
|
32
30
|
}
|
|
33
31
|
activityThread = await repository.save(Object.assign(Object.assign(Object.assign({}, activityThread), save), { state: activity_thread_1.ActivityThreadStatus.Started, transaction: 'save', updater: user }));
|
|
34
|
-
await (0, common_1.updateActivityInstanceState)(activityThread.activityInstanceId, context);
|
|
32
|
+
await (0, common_1.updateActivityInstanceState)(activityThread.activityInstanceId, { causedBy: [activityThread] }, context);
|
|
35
33
|
return activityThread;
|
|
36
34
|
}
|
|
37
35
|
exports.save = save;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"save.js","sourceRoot":"","sources":["../../../server/controllers/activity-thread/save.ts"],"names":[],"mappings":";;;AACA,sCAAuD;AACvD,mFAAoG;AAE7F,KAAK,UAAU,IAAI,CAAC,EAAU,EAAE,IAAwB,EAAE,OAAwB;IACvF,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAC1C,MAAM,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAA;IAEnD,IAAI,cAAc,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QAC5C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;KACzC,CAAC,CAAA;IAEF,IAAI,CAAC,cAAc,EAAE;QACnB,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,iCAAiC,EAAE;YAC3C,cAAc,EAAE,EAAE;SACnB,CAAC,CACH,CAAA;KACF;IAED;;;MAGE;IACF,
|
|
1
|
+
{"version":3,"file":"save.js","sourceRoot":"","sources":["../../../server/controllers/activity-thread/save.ts"],"names":[],"mappings":";;;AACA,sCAAuD;AACvD,mFAAoG;AAE7F,KAAK,UAAU,IAAI,CAAC,EAAU,EAAE,IAAwB,EAAE,OAAwB;IACvF,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAC1C,MAAM,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAA;IAEnD,IAAI,cAAc,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QAC5C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;KACzC,CAAC,CAAA;IAEF,IAAI,CAAC,cAAc,EAAE;QACnB,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,iCAAiC,EAAE;YAC3C,cAAc,EAAE,EAAE;SACnB,CAAC,CACH,CAAA;KACF;IAED;;;MAGE;IACF,IAAI,cAAc,CAAC,KAAK,IAAI,sCAAoB,CAAC,OAAO,IAAI,cAAc,CAAC,KAAK,IAAI,sCAAoB,CAAC,KAAK,EAAE;QAC9G,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,6CAA6C,EAAE;YACvD,EAAE;YACF,MAAM,EAAE,cAAc,CAAC,KAAK;SAC7B,CAAC,CACH,CAAA;KACF;IAED,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE;QAC7B,8DAA8D;QAC9D,cAAc,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAA;KACtC;IAED,cAAc,GAAG,MAAM,UAAU,CAAC,IAAI,+CACjC,cAAc,GACd,IAAI,KACP,KAAK,EAAE,sCAAoB,CAAC,OAAO,EACnC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,IAAI,IACb,CAAA;IAEF,MAAM,IAAA,oCAA2B,EAAC,cAAc,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IAE7G,OAAO,cAAc,CAAA;AACvB,CAAC;AA7CD,oBA6CC","sourcesContent":["import { ActivityThreadSave } from '../../service/activity-thread/activity-thread-type'\nimport { updateActivityInstanceState } from '../common'\nimport { ActivityThread, ActivityThreadStatus } from '../../service/activity-thread/activity-thread'\n\nexport async function save(id: string, save: ActivityThreadSave, context: ResolverContext): Promise<ActivityThread> {\n const { domain, user, tx } = context.state\n const repository = tx.getRepository(ActivityThread)\n\n var activityThread = await repository.findOne({\n where: { domain: { id: domain.id }, id }\n })\n\n if (!activityThread) {\n throw new Error(\n context.t('error.activity-thread not found', {\n activityThread: id\n })\n )\n }\n\n /* \n Prerequisites for a activity thread to Be Saved.\n - The previous state of the activity thread must not be terminated.\n */\n if (activityThread.state == ActivityThreadStatus.Aborted || activityThread.state == ActivityThreadStatus.Ended) {\n throw new Error(\n context.t(`error.activity-thread is already terminated`, {\n id,\n actual: activityThread.state\n })\n )\n }\n\n if (!activityThread.startedAt) {\n /* The act of saving means automatically starting the work. */\n activityThread.startedAt = new Date()\n }\n\n activityThread = await repository.save({\n ...activityThread,\n ...save,\n state: ActivityThreadStatus.Started,\n transaction: 'save',\n updater: user\n })\n\n await updateActivityInstanceState(activityThread.activityInstanceId, { causedBy: [activityThread] }, context)\n\n return activityThread\n}\n"]}
|
|
@@ -28,7 +28,7 @@ async function start(id, output, reason, context) {
|
|
|
28
28
|
activityThread.output = output;
|
|
29
29
|
}
|
|
30
30
|
const result = await tx.getRepository(activity_thread_1.ActivityThread).save(Object.assign(Object.assign({}, activityThread), { reason, state: activity_thread_1.ActivityThreadStatus.Started, transaction: 'start', updater: user, startedAt: new Date() }));
|
|
31
|
-
await (0, common_1.updateActivityInstanceState)(activityThread.activityInstanceId, context);
|
|
31
|
+
await (0, common_1.updateActivityInstanceState)(activityThread.activityInstanceId, { causedBy: [result] }, context);
|
|
32
32
|
return result;
|
|
33
33
|
}
|
|
34
34
|
exports.start = start;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../../server/controllers/activity-thread/start.ts"],"names":[],"mappings":";;;AAAA,mFAAoG;AACpG,sCAAuD;AAEhD,KAAK,UAAU,KAAK,CACzB,EAAU,EACV,MAAc,EACd,MAAc,EACd,OAAwB;IAExB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,MAAM,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAA;IACnD,MAAM,cAAc,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QAC9C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;KACzC,CAAC,CAAA;IAEF,IAAI,CAAC,cAAc,EAAE;QACnB,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,iCAAiC,EAAE;YAC3C,cAAc,EAAE,EAAE;SACnB,CAAC,CACH,CAAA;KACF;IAED;;;MAGE;IACF,IAAI,cAAc,CAAC,KAAK,KAAK,sCAAoB,CAAC,QAAQ,EAAE;QAC1D,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,6CAA6C,EAAE;YACvD,EAAE;YACF,MAAM,EAAE,cAAc,CAAC,KAAK;SAC7B,CAAC,CACH,CAAA;KACF;IAED,IAAI,MAAM,EAAE;QACV,cAAc,CAAC,MAAM,GAAG,MAAM,CAAA;KAC/B;IAED,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAC,IAAI,iCACrD,cAAc,KACjB,MAAM,EACN,KAAK,EAAE,sCAAoB,CAAC,OAAO,EACnC,WAAW,EAAE,OAAO,EACpB,OAAO,EAAE,IAAI,EACb,SAAS,EAAE,IAAI,IAAI,EAAE,IACrB,CAAA;IAEF,MAAM,IAAA,oCAA2B,EAAC,cAAc,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../../server/controllers/activity-thread/start.ts"],"names":[],"mappings":";;;AAAA,mFAAoG;AACpG,sCAAuD;AAEhD,KAAK,UAAU,KAAK,CACzB,EAAU,EACV,MAAc,EACd,MAAc,EACd,OAAwB;IAExB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,MAAM,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAA;IACnD,MAAM,cAAc,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QAC9C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;KACzC,CAAC,CAAA;IAEF,IAAI,CAAC,cAAc,EAAE;QACnB,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,iCAAiC,EAAE;YAC3C,cAAc,EAAE,EAAE;SACnB,CAAC,CACH,CAAA;KACF;IAED;;;MAGE;IACF,IAAI,cAAc,CAAC,KAAK,KAAK,sCAAoB,CAAC,QAAQ,EAAE;QAC1D,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,6CAA6C,EAAE;YACvD,EAAE;YACF,MAAM,EAAE,cAAc,CAAC,KAAK;SAC7B,CAAC,CACH,CAAA;KACF;IAED,IAAI,MAAM,EAAE;QACV,cAAc,CAAC,MAAM,GAAG,MAAM,CAAA;KAC/B;IAED,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAC,IAAI,iCACrD,cAAc,KACjB,MAAM,EACN,KAAK,EAAE,sCAAoB,CAAC,OAAO,EACnC,WAAW,EAAE,OAAO,EACpB,OAAO,EAAE,IAAI,EACb,SAAS,EAAE,IAAI,IAAI,EAAE,IACrB,CAAA;IAEF,MAAM,IAAA,oCAA2B,EAAC,cAAc,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IAErG,OAAO,MAAM,CAAA;AACf,CAAC;AAlDD,sBAkDC","sourcesContent":["import { ActivityThread, ActivityThreadStatus } from '../../service/activity-thread/activity-thread'\nimport { updateActivityInstanceState } from '../common'\n\nexport async function start(\n id: string,\n output: object,\n reason: string,\n context: ResolverContext\n): Promise<ActivityThread> {\n const { domain, user, tx } = context.state\n\n const repository = tx.getRepository(ActivityThread)\n const activityThread = await repository.findOne({\n where: { domain: { id: domain.id }, id }\n })\n\n if (!activityThread) {\n throw new Error(\n context.t('error.activity-thread not found', {\n activityThread: id\n })\n )\n }\n\n /* \n Prerequisites for a activity thread to Be Started.\n - The previous state of the activity thread must not be terminated.\n */\n if (activityThread.state !== ActivityThreadStatus.Assigned) {\n throw new Error(\n context.t(`error.activity-thread should not be started`, {\n id,\n actual: activityThread.state\n })\n )\n }\n\n if (output) {\n activityThread.output = output\n }\n\n const result = await tx.getRepository(ActivityThread).save({\n ...activityThread,\n reason,\n state: ActivityThreadStatus.Started,\n transaction: 'start',\n updater: user,\n startedAt: new Date()\n })\n\n await updateActivityInstanceState(activityThread.activityInstanceId, { causedBy: [result] }, context)\n\n return result\n}\n"]}
|
|
@@ -53,7 +53,7 @@ async function submit({ id, output, reason }, context) {
|
|
|
53
53
|
activityThread = await repository.save(Object.assign(Object.assign({}, activityThread), { reason,
|
|
54
54
|
output, transaction: 'end', state: activity_thread_1.ActivityThreadStatus.Ended, updater: user, terminator: user, terminatedAt: new Date() }));
|
|
55
55
|
}
|
|
56
|
-
await (0, common_1.updateActivityInstanceState)(activityThread.activityInstanceId, context);
|
|
56
|
+
await (0, common_1.updateActivityInstanceState)(activityThread.activityInstanceId, { causedBy: [activityThread] }, context);
|
|
57
57
|
return activityThread;
|
|
58
58
|
}
|
|
59
59
|
exports.submit = submit;
|