@things-factory/worklist 6.0.8 → 6.0.12
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/pages/activity-approval/activity-approval-importer.ts +97 -0
- package/client/pages/activity-approval/activity-approval-list-page.ts +348 -0
- package/client/pages/activity-approval/activity-approval-page.ts +418 -0
- package/client/pages/activity-thread/activity-thread-page.ts +5 -5
- package/client/pages/todo/approval-waiting-list-page.ts +376 -0
- package/client/route.ts +12 -0
- package/dist-client/pages/activity-approval/activity-approval-importer.d.ts +22 -0
- package/dist-client/pages/activity-approval/activity-approval-importer.js +100 -0
- package/dist-client/pages/activity-approval/activity-approval-importer.js.map +1 -0
- package/dist-client/pages/activity-approval/activity-approval-list-page.d.ts +62 -0
- package/dist-client/pages/activity-approval/activity-approval-list-page.js +326 -0
- package/dist-client/pages/activity-approval/activity-approval-list-page.js.map +1 -0
- package/dist-client/pages/activity-approval/activity-approval-page.d.ts +55 -0
- package/dist-client/pages/activity-approval/activity-approval-page.js +365 -0
- package/dist-client/pages/activity-approval/activity-approval-page.js.map +1 -0
- package/dist-client/pages/activity-thread/activity-thread-page.d.ts +1 -1
- package/dist-client/pages/activity-thread/activity-thread-page.js +4 -4
- package/dist-client/pages/activity-thread/activity-thread-page.js.map +1 -1
- package/dist-client/pages/todo/approval-waiting-list-page.d.ts +45 -0
- package/dist-client/pages/todo/approval-waiting-list-page.js +371 -0
- package/dist-client/pages/todo/approval-waiting-list-page.js.map +1 -0
- package/dist-client/route.d.ts +1 -1
- package/dist-client/route.js +9 -0
- package/dist-client/route.js.map +1 -1
- package/dist-client/tsconfig.tsbuildinfo +1 -1
- package/dist-server/controllers/activity-approval/abort.js +20 -0
- package/dist-server/controllers/activity-approval/abort.js.map +1 -0
- package/dist-server/controllers/activity-approval/approve.js +50 -0
- package/dist-server/controllers/activity-approval/approve.js.map +1 -0
- package/dist-server/controllers/activity-approval/delegate.js +20 -0
- package/dist-server/controllers/activity-approval/delegate.js.map +1 -0
- package/dist-server/controllers/activity-approval/escalate.js +20 -0
- package/dist-server/controllers/activity-approval/escalate.js.map +1 -0
- package/dist-server/controllers/activity-approval/reject.js +21 -0
- package/dist-server/controllers/activity-approval/reject.js.map +1 -0
- package/dist-server/controllers/activity-instance/abort.js +2 -3
- package/dist-server/controllers/activity-instance/abort.js.map +1 -1
- package/dist-server/controllers/activity-instance/delegate.js +2 -3
- package/dist-server/controllers/activity-instance/delegate.js.map +1 -1
- package/dist-server/controllers/activity-instance/draft.js +1 -2
- package/dist-server/controllers/activity-instance/draft.js.map +1 -1
- package/dist-server/controllers/activity-instance/end.js +2 -3
- package/dist-server/controllers/activity-instance/end.js.map +1 -1
- package/dist-server/controllers/activity-instance/pick.js +2 -3
- package/dist-server/controllers/activity-instance/pick.js.map +1 -1
- package/dist-server/controllers/activity-instance/terminate.js +2 -3
- package/dist-server/controllers/activity-instance/terminate.js.map +1 -1
- package/dist-server/controllers/activity-thread/abort.js +2 -3
- package/dist-server/controllers/activity-thread/abort.js.map +1 -1
- package/dist-server/controllers/activity-thread/delegate.js +2 -3
- package/dist-server/controllers/activity-thread/delegate.js.map +1 -1
- package/dist-server/controllers/activity-thread/end.js +2 -3
- package/dist-server/controllers/activity-thread/end.js.map +1 -1
- package/dist-server/controllers/activity-thread/index.js +1 -0
- package/dist-server/controllers/activity-thread/index.js.map +1 -1
- package/dist-server/controllers/activity-thread/submit.js +46 -0
- package/dist-server/controllers/activity-thread/submit.js.map +1 -0
- package/dist-server/controllers/activity-thread/terminate.js +2 -3
- package/dist-server/controllers/activity-thread/terminate.js.map +1 -1
- package/dist-server/controllers/common.js +24 -1
- package/dist-server/controllers/common.js.map +1 -1
- package/dist-server/service/activity/activity-query.js +1 -1
- package/dist-server/service/activity/activity-query.js.map +1 -1
- package/dist-server/service/activity-approval/activity-approval-mutation.js +79 -0
- package/dist-server/service/activity-approval/activity-approval-mutation.js.map +1 -0
- package/dist-server/service/activity-approval/activity-approval-query.js +128 -0
- package/dist-server/service/activity-approval/activity-approval-query.js.map +1 -0
- package/dist-server/service/activity-approval/activity-approval-type.js +39 -0
- package/dist-server/service/activity-approval/activity-approval-type.js.map +1 -0
- package/dist-server/service/activity-approval/activity-approval.js +135 -0
- package/dist-server/service/activity-approval/activity-approval.js.map +1 -0
- package/dist-server/service/activity-approval/event-subscriber.js +29 -0
- package/dist-server/service/activity-approval/event-subscriber.js.map +1 -0
- package/dist-server/service/activity-approval/index.js +11 -0
- package/dist-server/service/activity-approval/index.js.map +1 -0
- package/dist-server/service/activity-instance/activity-instance-query.js +1 -1
- package/dist-server/service/activity-instance/activity-instance-query.js.map +1 -1
- package/dist-server/service/activity-template/activity-template-query.js +1 -1
- package/dist-server/service/activity-template/activity-template-query.js.map +1 -1
- package/dist-server/service/activity-thread/activity-thread-mutation.js +14 -0
- package/dist-server/service/activity-thread/activity-thread-mutation.js.map +1 -1
- package/dist-server/service/activity-thread/activity-thread-query.js +7 -2
- package/dist-server/service/activity-thread/activity-thread-query.js.map +1 -1
- package/dist-server/service/activity-thread/activity-thread-type.js +1 -23
- package/dist-server/service/activity-thread/activity-thread-type.js.map +1 -1
- package/dist-server/service/activity-thread/activity-thread.js +31 -2
- package/dist-server/service/activity-thread/activity-thread.js.map +1 -1
- package/dist-server/service/index.js +5 -0
- package/dist-server/service/index.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/helps/worklist/activity-approval.md +160 -0
- package/package.json +7 -7
- package/server/controllers/activity-approval/abort.ts +33 -0
- package/server/controllers/activity-approval/approve.ts +80 -0
- package/server/controllers/activity-approval/delegate.ts +33 -0
- package/server/controllers/activity-approval/escalate.ts +33 -0
- package/server/controllers/activity-approval/reject.ts +35 -0
- package/server/controllers/activity-instance/abort.ts +2 -4
- package/server/controllers/activity-instance/delegate.ts +2 -4
- package/server/controllers/activity-instance/draft.ts +1 -3
- package/server/controllers/activity-instance/end.ts +2 -4
- package/server/controllers/activity-instance/pick.ts +2 -4
- package/server/controllers/activity-instance/terminate.ts +2 -4
- package/server/controllers/activity-thread/abort.ts +2 -4
- package/server/controllers/activity-thread/delegate.ts +2 -4
- package/server/controllers/activity-thread/end.ts +2 -4
- package/server/controllers/activity-thread/index.ts +1 -0
- package/server/controllers/activity-thread/submit.ts +71 -0
- package/server/controllers/activity-thread/terminate.ts +2 -4
- package/server/controllers/common.ts +28 -0
- package/server/service/activity/activity-query.ts +1 -1
- package/server/service/activity-approval/activity-approval-mutation.ts +71 -0
- package/server/service/activity-approval/activity-approval-query.ts +90 -0
- package/server/service/activity-approval/activity-approval-type.ts +28 -0
- package/server/service/activity-approval/activity-approval.ts +118 -0
- package/server/service/activity-approval/event-subscriber.ts +28 -0
- package/server/service/activity-approval/index.ts +8 -0
- package/server/service/activity-instance/activity-instance-query.ts +1 -1
- package/server/service/activity-template/activity-template-query.ts +1 -1
- package/server/service/activity-thread/activity-thread-mutation.ts +12 -1
- package/server/service/activity-thread/activity-thread-query.ts +7 -2
- package/server/service/activity-thread/activity-thread-type.ts +1 -15
- package/server/service/activity-thread/activity-thread.ts +24 -0
- package/server/service/index.ts +5 -0
- package/things-factory.config.js +4 -1
- package/translations/en.json +3 -0
- package/translations/ko.json +3 -0
- package/translations/ms.json +4 -1
- package/translations/zh.json +3 -0
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.terminate = void 0;
|
|
4
|
-
const shell_1 = require("@things-factory/shell");
|
|
5
4
|
const activity_thread_1 = require("../../service/activity-thread/activity-thread");
|
|
6
5
|
const common_1 = require("../common");
|
|
7
6
|
async function terminate({ id, output, reason }, context) {
|
|
8
7
|
const { domain, user, tx } = context.state;
|
|
9
|
-
var repository =
|
|
8
|
+
var repository = tx.getRepository(activity_thread_1.ActivityThread);
|
|
10
9
|
var activityThread = await repository.findOne({
|
|
11
10
|
where: { domain: { id: domain.id }, id },
|
|
12
11
|
relations: ['domain', 'activityInstance', 'assignee', 'creator', 'updater']
|
|
@@ -16,7 +15,7 @@ async function terminate({ id, output, reason }, context) {
|
|
|
16
15
|
activityThread: id
|
|
17
16
|
}));
|
|
18
17
|
}
|
|
19
|
-
const result = await
|
|
18
|
+
const result = await repository.save(Object.assign(Object.assign({}, activityThread), { reason,
|
|
20
19
|
output, transaction: 'terminate', state: activity_thread_1.ActivityThreadStatus.Ended, updater: user, terminatedAt: new Date(), terminator: user }));
|
|
21
20
|
await (0, common_1.updateActivityInstanceState)(activityThread.activityInstanceId, context);
|
|
22
21
|
return result;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminate.js","sourceRoot":"","sources":["../../../server/controllers/activity-thread/terminate.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"terminate.js","sourceRoot":"","sources":["../../../server/controllers/activity-thread/terminate.ts"],"names":[],"mappings":";;;AAAA,mFAAoG;AACpG,sCAAuD;AAEhD,KAAK,UAAU,SAAS,CAC7B,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAoD,EACxE,OAAY;IAEZ,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAC1C,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,mCAAmC,EAAE;YAC7C,cAAc,EAAE,EAAE;SACnB,CAAC,CACH,CAAA;KACF;IAED,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,iCAC/B,cAAc,KACjB,MAAM;QACN,MAAM,EACN,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,sCAAoB,CAAC,KAAK,EACjC,OAAO,EAAE,IAAI,EACb,YAAY,EAAE,IAAI,IAAI,EAAE,EACxB,UAAU,EAAE,IAAI,IAChB,CAAA;IAEF,MAAM,IAAA,oCAA2B,EAAC,cAAc,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAA;IAE7E,OAAO,MAAM,CAAA;AACf,CAAC;AAlCD,8BAkCC","sourcesContent":["import { ActivityThread, ActivityThreadStatus } from '../../service/activity-thread/activity-thread'\nimport { updateActivityInstanceState } from '../common'\n\nexport async function terminate(\n { id, output, reason }: { id: string; output?: object; reason?: string },\n context: any\n): Promise<ActivityThread> {\n const { domain, user, tx } = context.state\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-instance not found', {\n activityThread: id\n })\n )\n }\n\n const result = await repository.save({\n ...activityThread,\n reason,\n output,\n transaction: 'terminate',\n state: ActivityThreadStatus.Ended,\n updater: user,\n terminatedAt: new Date(),\n terminator: user\n })\n\n await updateActivityInstanceState(activityThread.activityInstanceId, context)\n\n return result\n}\n"]}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createActivityThreadsForAllRoleUsers = exports.createActivityThreadsForUsers = exports.evalActivityInstanceState = exports.updateActivityInstanceState = void 0;
|
|
3
|
+
exports.getSystemUserFromApprovalLineItem = exports.createActivityThreadsForAllRoleUsers = exports.createActivityThreadsForUsers = exports.evalActivityInstanceState = exports.updateActivityInstanceState = void 0;
|
|
4
4
|
const auth_base_1 = require("@things-factory/auth-base");
|
|
5
5
|
const activity_instance_1 = require("../service/activity-instance/activity-instance");
|
|
6
6
|
const activity_thread_1 = require("../service/activity-thread/activity-thread");
|
|
7
|
+
const organization_1 = require("@things-factory/organization");
|
|
7
8
|
async function updateActivityInstanceState(id, context) {
|
|
8
9
|
const { tx } = context.state;
|
|
9
10
|
await tx.getRepository(activity_instance_1.ActivityInstance).save(Object.assign(Object.assign({}, (await tx.getRepository(activity_instance_1.ActivityInstance).findOne({
|
|
@@ -85,4 +86,26 @@ async function createActivityThreadsForAllRoleUsers(transaction, activityInstanc
|
|
|
85
86
|
return await createActivityThreadsForUsers(transaction, activityInstance, assignees, context);
|
|
86
87
|
}
|
|
87
88
|
exports.createActivityThreadsForAllRoleUsers = createActivityThreadsForAllRoleUsers;
|
|
89
|
+
async function getSystemUserFromApprovalLineItem(approvalLineItem, context) {
|
|
90
|
+
const { domain, user, tx } = context.state;
|
|
91
|
+
const { type, value, approver } = approvalLineItem;
|
|
92
|
+
const { id: approverId, name, description, controlNo } = approver;
|
|
93
|
+
if (type == organization_1.ApprovalLineItemType.Employee) {
|
|
94
|
+
const employee = await tx.getRepository(organization_1.Employee).findOne({ where: { id: approverId }, relations: ['user'] });
|
|
95
|
+
if (!employee || !employee.user) {
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
return employee.user;
|
|
99
|
+
}
|
|
100
|
+
else if (type == organization_1.ApprovalLineItemType.Department) {
|
|
101
|
+
const department = await tx.getRepository(organization_1.Department).findOne({ where: { id: approverId }, relations: ['manager'] });
|
|
102
|
+
if (!department || !department.manager) {
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
return await tx.getRepository(auth_base_1.User).findOneBy({ id: department.manager.userId });
|
|
106
|
+
}
|
|
107
|
+
else if (type == organization_1.ApprovalLineItemType.Role) {
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
exports.getSystemUserFromApprovalLineItem = getSystemUserFromApprovalLineItem;
|
|
88
111
|
//# sourceMappingURL=common.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../server/controllers/common.ts"],"names":[],"mappings":";;;AAAA,yDAAsD;AAEtD,sFAAyG;AACzG,gFAAiG;
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../server/controllers/common.ts"],"names":[],"mappings":"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","sourcesContent":["import { Role, User } from '@things-factory/auth-base'\n\nimport { ActivityInstance, ActivityInstanceStatus } from '../service/activity-instance/activity-instance'\nimport { ActivityThread, ActivityThreadStatus } from '../service/activity-thread/activity-thread'\nimport { Department, Employee, ApprovalLineItem, ApprovalLineItemType } from '@things-factory/organization'\n\nexport async function updateActivityInstanceState(id: string, context: ResolverContext) {\n const { tx } = context.state\n\n await tx.getRepository(ActivityInstance).save({\n ...(await tx.getRepository(ActivityInstance).findOne({\n where: { id },\n relations: [\n 'domain',\n 'activity',\n 'assigneeRole',\n 'supervisoryRole',\n 'updater',\n 'creator',\n 'starter',\n 'terminator'\n ]\n })),\n transaction: 'thread' /* change by transaction of activity thread */,\n state: await evalActivityInstanceState(id, context)\n })\n}\n\nexport async function evalActivityInstanceState(id: string, context: ResolverContext): Promise<ActivityInstanceStatus> {\n const { tx } = context.state\n\n const activityInstance = await tx.getRepository(ActivityInstance).findOne({\n where: { id },\n relations: ['activityThreads']\n })\n const { threadsMin, threadsMax, activityThreads, state, dueAt } = activityInstance\n\n const validThreads = activityThreads.filter(thread => thread.isValid())\n const pendingStartedThreads = activityThreads.filter(thread => thread.isPendingStarted())\n const pendingEndedThreads = activityThreads.filter(thread => thread.isPendingEnded())\n\n switch (true) {\n case state === ActivityInstanceStatus.Draft:\n case state === ActivityInstanceStatus.Ended:\n case state === ActivityInstanceStatus.Aborted:\n return state\n case validThreads.length === 0:\n return ActivityInstanceStatus.Posted\n case threadsMin > validThreads.length:\n return ActivityInstanceStatus.WaitingAssignment\n case pendingStartedThreads.length > 0:\n return ActivityInstanceStatus.Assigned\n case pendingEndedThreads.length > 0:\n return !dueAt || dueAt.getTime() > Date.now() ? ActivityInstanceStatus.Started : ActivityInstanceStatus.Pending\n default:\n return ActivityInstanceStatus.Ended\n }\n}\n\nexport async function createActivityThreadsForUsers(\n transaction: string,\n activityInstance: ActivityInstance,\n assignees: User[],\n context: ResolverContext\n): Promise<ActivityThread[]> {\n const { domain, user, tx } = context.state\n\n const threadRepo = tx.getRepository(ActivityThread)\n const now = new Date()\n\n const result = await threadRepo.save(\n assignees.map(assignee => {\n return {\n assignee,\n state: ActivityThreadStatus.Assigned,\n activityInstance,\n domain,\n transaction,\n creator: user,\n updater: user,\n dueAt: activityInstance.dueAt,\n assignedAt: now\n } as any\n })\n )\n\n await updateActivityInstanceState(activityInstance.id, context)\n\n return result\n}\n\nexport async function createActivityThreadsForAllRoleUsers(\n transaction: string,\n activityInstance: ActivityInstance,\n context: ResolverContext\n): Promise<ActivityThread[]> {\n const { tx } = context.state\n\n // find how many users are having given role\n const assigneeRole = (await tx.getRepository(Role).findOne({\n where: { id: activityInstance.assigneeRoleId },\n relations: ['users']\n })) as Role\n const assignees = (assigneeRole?.users || []).filter(user => user.userType == 'user')\n\n if (assignees.length === 0) {\n throw new Error(\"there's no users having given role\")\n }\n\n // create activity-thread for all of users having given role\n return await createActivityThreadsForUsers(transaction, activityInstance, assignees, context)\n}\n\nexport async function getSystemUserFromApprovalLineItem(\n approvalLineItem: ApprovalLineItem,\n context: any\n): Promise<User> {\n const { domain, user, tx } = context.state\n\n const { type, value, approver } = approvalLineItem\n const { id: approverId, name, description, controlNo } = approver\n\n if (type == ApprovalLineItemType.Employee) {\n const employee = await tx.getRepository(Employee).findOne({ where: { id: approverId }, relations: ['user'] })\n\n if (!employee || !employee.user) {\n return\n }\n return employee.user\n } else if (type == ApprovalLineItemType.Department) {\n const department = await tx.getRepository(Department).findOne({ where: { id: approverId }, relations: ['manager'] })\n\n if (!department || !department.manager) {\n return\n }\n return await tx.getRepository(User).findOneBy({ id: department.manager.userId })\n } else if (type == ApprovalLineItemType.Role) {\n }\n}\n"]}
|
|
@@ -27,7 +27,7 @@ let ActivityQuery = class ActivityQuery {
|
|
|
27
27
|
const queryBuilder = (0, shell_1.getQueryBuilderFromListParams)({
|
|
28
28
|
domain,
|
|
29
29
|
params,
|
|
30
|
-
repository:
|
|
30
|
+
repository: (0, shell_1.getRepository)(activity_1.Activity),
|
|
31
31
|
alias: 'activity',
|
|
32
32
|
searchables: ['name', 'description', 'issuerRole', 'assigneeRole', 'supervisoryRole']
|
|
33
33
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activity-query.js","sourceRoot":"","sources":["../../../server/service/activity/activity-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Args, Ctx, FieldResolver, Query, Resolver, Root } from 'type-graphql'\nimport { Brackets } from 'typeorm'\n\nimport { Attachment } from '@things-factory/attachment-base'\nimport { Role, User } from '@things-factory/auth-base'\nimport { Domain, getQueryBuilderFromListParams, getRepository, ListParam } from '@things-factory/shell'\n\nimport { Activity } from './activity'\nimport { ActivityList } from './activity-type'\n\n@Resolver(Activity)\nexport class ActivityQuery {\n @Query(returns => Activity!, { nullable: true, description: 'To fetch a Activity' })\n async activity(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<Activity> {\n const { domain } = context.state\n\n return await getRepository(Activity).findOne({\n where: { domain: { id: domain.id }, id }\n })\n }\n\n @Query(returns => Activity!, { nullable: true, description: 'To fetch a Activity by name' })\n async activityByName(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<Activity> {\n const { domain } = context.state\n\n return await getRepository(Activity).findOne({\n where: { domain: { id: domain.id }, name }\n })\n }\n\n @Query(returns => ActivityList, { description: 'To fetch multiple Activities' })\n async activities(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<ActivityList> {\n const { domain } = context.state\n\n const queryBuilder = getQueryBuilderFromListParams({\n domain,\n params,\n repository: await getRepository(Activity),\n alias: 'activity',\n searchables: ['name', 'description', 'issuerRole', 'assigneeRole', 'supervisoryRole']\n })\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @Query(returns => ActivityList, { description: 'To fetch the list of activities I can start' })\n async startableActivities(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<ActivityList> {\n var { domain, user } = context.state\n\n /* 조회한 사용자가 assigner 역할을 가진 activity-instance 리스트만 반환 */\n user = await getRepository(User).findOne({\n where: { id: user.id },\n relations: ['roles']\n })\n const roles = user.roles.filter(role => role.domainId === domain.id).map(role => role.id)\n\n const [items, total] = await getQueryBuilderFromListParams({\n repository: getRepository(Activity),\n params,\n domain,\n alias: 'activity',\n searchables: ['name', 'description']\n })\n .andWhere(`activity.startable = :startable`, { startable: true })\n .andWhere(\n roles.length > 0\n ? new Brackets(qb => {\n qb.orWhere(`activity.issuerRole IN (:...roles)`, { roles })\n qb.orWhere(`activity.issuerRole IS NULL`)\n })\n : `activity.issuerRole IS NULL`\n )\n .getManyAndCount()\n\n return { items, total }\n }\n\n @Query(returns => ActivityList, { description: 'To fetch the list of activities that I can report on' })\n async supervisableActivities(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<ActivityList> {\n var { domain, user } = context.state\n\n /* 조회한 사용자가 assigner 역할을 가진 activity-instance 리스트만 반환 */\n user = await getRepository(User).findOne({\n where: { id: user.id },\n relations: ['roles']\n })\n const roles = user.roles.filter(role => role.domainId === domain.id).map(role => role.id)\n\n if (!roles.length) {\n return { items: [], total: 0 }\n }\n\n const [items, total] = await getQueryBuilderFromListParams({\n repository: getRepository(Activity),\n params,\n domain,\n alias: 'activity',\n searchables: ['name', 'description']\n })\n .andWhere(`activity.supervisoryRole IN (:...roles)`, { roles })\n .getManyAndCount()\n\n return { items, total }\n }\n\n @FieldResolver(type => Role)\n async issuerRole(@Root() activity: Activity): Promise<Role> {\n return (\n activity.issuerRole ||\n (activity.issuerRoleId &&\n (await getRepository(Role).findOneBy({\n id: activity.issuerRoleId\n })))\n )\n }\n\n @FieldResolver(type => Role)\n async assigneeRole(@Root() activity: Activity): Promise<Role> {\n return (\n activity.assigneeRole ||\n (activity.assigneeRoleId &&\n (await getRepository(Role).findOneBy({\n id: activity.assigneeRoleId\n })))\n )\n }\n\n @FieldResolver(type => Role)\n async supervisoryRole(@Root() activity: Activity): Promise<Role> {\n return (\n activity.supervisoryRole ||\n (activity.supervisoryRoleId &&\n (await getRepository(Role).findOneBy({\n id: activity.supervisoryRoleId\n })))\n )\n }\n\n @FieldResolver(type => String)\n async thumbnail(@Root() activity: Activity): Promise<string | undefined> {\n const attachment: Attachment = await getRepository(Attachment).findOne({\n where: {\n domain: { id: activity.domainId },\n refType: Activity.name,\n refBy: activity.id\n }\n })\n\n return attachment?.fullpath\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() activity: Activity): Promise<Domain> {\n return await getRepository(Domain).findOneBy({ id: activity.domainId })\n }\n\n @FieldResolver(type => User)\n async updater(@Root() activity: Activity): Promise<User> {\n return await getRepository(User).findOneBy({ id: activity.updaterId })\n }\n\n @FieldResolver(type => User)\n async creator(@Root() activity: Activity): Promise<User> {\n return await getRepository(User).findOneBy({ id: activity.creatorId })\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"activity-query.js","sourceRoot":"","sources":["../../../server/service/activity/activity-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Args, Ctx, FieldResolver, Query, Resolver, Root } from 'type-graphql'\nimport { Brackets } from 'typeorm'\n\nimport { Attachment } from '@things-factory/attachment-base'\nimport { Role, User } from '@things-factory/auth-base'\nimport { Domain, getQueryBuilderFromListParams, getRepository, ListParam } from '@things-factory/shell'\n\nimport { Activity } from './activity'\nimport { ActivityList } from './activity-type'\n\n@Resolver(Activity)\nexport class ActivityQuery {\n @Query(returns => Activity!, { nullable: true, description: 'To fetch a Activity' })\n async activity(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<Activity> {\n const { domain } = context.state\n\n return await getRepository(Activity).findOne({\n where: { domain: { id: domain.id }, id }\n })\n }\n\n @Query(returns => Activity!, { nullable: true, description: 'To fetch a Activity by name' })\n async activityByName(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<Activity> {\n const { domain } = context.state\n\n return await getRepository(Activity).findOne({\n where: { domain: { id: domain.id }, name }\n })\n }\n\n @Query(returns => ActivityList, { description: 'To fetch multiple Activities' })\n async activities(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<ActivityList> {\n const { domain } = context.state\n\n const queryBuilder = getQueryBuilderFromListParams({\n domain,\n params,\n repository: getRepository(Activity),\n alias: 'activity',\n searchables: ['name', 'description', 'issuerRole', 'assigneeRole', 'supervisoryRole']\n })\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @Query(returns => ActivityList, { description: 'To fetch the list of activities I can start' })\n async startableActivities(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<ActivityList> {\n var { domain, user } = context.state\n\n /* 조회한 사용자가 assigner 역할을 가진 activity-instance 리스트만 반환 */\n user = await getRepository(User).findOne({\n where: { id: user.id },\n relations: ['roles']\n })\n const roles = user.roles.filter(role => role.domainId === domain.id).map(role => role.id)\n\n const [items, total] = await getQueryBuilderFromListParams({\n repository: getRepository(Activity),\n params,\n domain,\n alias: 'activity',\n searchables: ['name', 'description']\n })\n .andWhere(`activity.startable = :startable`, { startable: true })\n .andWhere(\n roles.length > 0\n ? new Brackets(qb => {\n qb.orWhere(`activity.issuerRole IN (:...roles)`, { roles })\n qb.orWhere(`activity.issuerRole IS NULL`)\n })\n : `activity.issuerRole IS NULL`\n )\n .getManyAndCount()\n\n return { items, total }\n }\n\n @Query(returns => ActivityList, { description: 'To fetch the list of activities that I can report on' })\n async supervisableActivities(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<ActivityList> {\n var { domain, user } = context.state\n\n /* 조회한 사용자가 assigner 역할을 가진 activity-instance 리스트만 반환 */\n user = await getRepository(User).findOne({\n where: { id: user.id },\n relations: ['roles']\n })\n const roles = user.roles.filter(role => role.domainId === domain.id).map(role => role.id)\n\n if (!roles.length) {\n return { items: [], total: 0 }\n }\n\n const [items, total] = await getQueryBuilderFromListParams({\n repository: getRepository(Activity),\n params,\n domain,\n alias: 'activity',\n searchables: ['name', 'description']\n })\n .andWhere(`activity.supervisoryRole IN (:...roles)`, { roles })\n .getManyAndCount()\n\n return { items, total }\n }\n\n @FieldResolver(type => Role)\n async issuerRole(@Root() activity: Activity): Promise<Role> {\n return (\n activity.issuerRole ||\n (activity.issuerRoleId &&\n (await getRepository(Role).findOneBy({\n id: activity.issuerRoleId\n })))\n )\n }\n\n @FieldResolver(type => Role)\n async assigneeRole(@Root() activity: Activity): Promise<Role> {\n return (\n activity.assigneeRole ||\n (activity.assigneeRoleId &&\n (await getRepository(Role).findOneBy({\n id: activity.assigneeRoleId\n })))\n )\n }\n\n @FieldResolver(type => Role)\n async supervisoryRole(@Root() activity: Activity): Promise<Role> {\n return (\n activity.supervisoryRole ||\n (activity.supervisoryRoleId &&\n (await getRepository(Role).findOneBy({\n id: activity.supervisoryRoleId\n })))\n )\n }\n\n @FieldResolver(type => String)\n async thumbnail(@Root() activity: Activity): Promise<string | undefined> {\n const attachment: Attachment = await getRepository(Attachment).findOne({\n where: {\n domain: { id: activity.domainId },\n refType: Activity.name,\n refBy: activity.id\n }\n })\n\n return attachment?.fullpath\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() activity: Activity): Promise<Domain> {\n return await getRepository(Domain).findOneBy({ id: activity.domainId })\n }\n\n @FieldResolver(type => User)\n async updater(@Root() activity: Activity): Promise<User> {\n return await getRepository(User).findOneBy({ id: activity.updaterId })\n }\n\n @FieldResolver(type => User)\n async creator(@Root() activity: Activity): Promise<User> {\n return await getRepository(User).findOneBy({ id: activity.creatorId })\n }\n}\n"]}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ActivityApprovalMutation = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const type_graphql_1 = require("type-graphql");
|
|
6
|
+
const activity_approval_1 = require("./activity-approval");
|
|
7
|
+
const abort_1 = require("../../controllers/activity-approval/abort");
|
|
8
|
+
const reject_1 = require("../../controllers/activity-approval/reject");
|
|
9
|
+
const approve_1 = require("../../controllers/activity-approval/approve");
|
|
10
|
+
let ActivityApprovalMutation = class ActivityApprovalMutation {
|
|
11
|
+
/* transactions ... */
|
|
12
|
+
async saveActivityApproval(id, comment, context) {
|
|
13
|
+
const { domain, user, tx } = context.state;
|
|
14
|
+
var repository = tx.getRepository(activity_approval_1.ActivityApproval);
|
|
15
|
+
var activityApproval = await repository.findOne({
|
|
16
|
+
where: { domain: { id: domain.id }, id }
|
|
17
|
+
});
|
|
18
|
+
if (!activityApproval) {
|
|
19
|
+
throw new Error(context.t('error.activity-approval not found', {
|
|
20
|
+
activityApproval: id
|
|
21
|
+
}));
|
|
22
|
+
}
|
|
23
|
+
return await repository.save(Object.assign(Object.assign({}, activityApproval), { comment, updater: user }));
|
|
24
|
+
}
|
|
25
|
+
async approveActivityApproval(id, comment, context) {
|
|
26
|
+
return await (0, approve_1.approve)({ id, comment }, context);
|
|
27
|
+
}
|
|
28
|
+
async rejectActivityApproval(id, comment, context) {
|
|
29
|
+
return await (0, reject_1.reject)({ id, comment }, context);
|
|
30
|
+
}
|
|
31
|
+
async abortActivityApproval(id, comment, context) {
|
|
32
|
+
return await (0, abort_1.abort)({ id, comment }, context);
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
tslib_1.__decorate([
|
|
36
|
+
(0, type_graphql_1.Directive)('@transaction'),
|
|
37
|
+
(0, type_graphql_1.Mutation)(returns => activity_approval_1.ActivityApproval, { nullable: true, description: 'To approve ActivityApproval' }),
|
|
38
|
+
tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
|
|
39
|
+
tslib_1.__param(1, (0, type_graphql_1.Arg)('comment', { nullable: true })),
|
|
40
|
+
tslib_1.__param(2, (0, type_graphql_1.Ctx)()),
|
|
41
|
+
tslib_1.__metadata("design:type", Function),
|
|
42
|
+
tslib_1.__metadata("design:paramtypes", [String, String, Object]),
|
|
43
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
44
|
+
], ActivityApprovalMutation.prototype, "saveActivityApproval", null);
|
|
45
|
+
tslib_1.__decorate([
|
|
46
|
+
(0, type_graphql_1.Directive)('@transaction'),
|
|
47
|
+
(0, type_graphql_1.Mutation)(returns => activity_approval_1.ActivityApproval, { nullable: true, description: 'To approve ActivityApproval' }),
|
|
48
|
+
tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
|
|
49
|
+
tslib_1.__param(1, (0, type_graphql_1.Arg)('comment', { nullable: true })),
|
|
50
|
+
tslib_1.__param(2, (0, type_graphql_1.Ctx)()),
|
|
51
|
+
tslib_1.__metadata("design:type", Function),
|
|
52
|
+
tslib_1.__metadata("design:paramtypes", [String, String, Object]),
|
|
53
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
54
|
+
], ActivityApprovalMutation.prototype, "approveActivityApproval", null);
|
|
55
|
+
tslib_1.__decorate([
|
|
56
|
+
(0, type_graphql_1.Directive)('@transaction'),
|
|
57
|
+
(0, type_graphql_1.Mutation)(returns => activity_approval_1.ActivityApproval, { nullable: true, description: 'To reject ActivityApproval' }),
|
|
58
|
+
tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
|
|
59
|
+
tslib_1.__param(1, (0, type_graphql_1.Arg)('comment', { nullable: true })),
|
|
60
|
+
tslib_1.__param(2, (0, type_graphql_1.Ctx)()),
|
|
61
|
+
tslib_1.__metadata("design:type", Function),
|
|
62
|
+
tslib_1.__metadata("design:paramtypes", [String, String, Object]),
|
|
63
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
64
|
+
], ActivityApprovalMutation.prototype, "rejectActivityApproval", null);
|
|
65
|
+
tslib_1.__decorate([
|
|
66
|
+
(0, type_graphql_1.Directive)('@transaction'),
|
|
67
|
+
(0, type_graphql_1.Mutation)(returns => activity_approval_1.ActivityApproval, { nullable: true, description: 'To abort ActivityApproval' }),
|
|
68
|
+
tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
|
|
69
|
+
tslib_1.__param(1, (0, type_graphql_1.Arg)('comment', { nullable: true })),
|
|
70
|
+
tslib_1.__param(2, (0, type_graphql_1.Ctx)()),
|
|
71
|
+
tslib_1.__metadata("design:type", Function),
|
|
72
|
+
tslib_1.__metadata("design:paramtypes", [String, String, Object]),
|
|
73
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
74
|
+
], ActivityApprovalMutation.prototype, "abortActivityApproval", null);
|
|
75
|
+
ActivityApprovalMutation = tslib_1.__decorate([
|
|
76
|
+
(0, type_graphql_1.Resolver)(activity_approval_1.ActivityApproval)
|
|
77
|
+
], ActivityApprovalMutation);
|
|
78
|
+
exports.ActivityApprovalMutation = ActivityApprovalMutation;
|
|
79
|
+
//# sourceMappingURL=activity-approval-mutation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activity-approval-mutation.js","sourceRoot":"","sources":["../../../server/service/activity-approval/activity-approval-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Resolver, Mutation, Arg, Ctx, Directive } from 'type-graphql'\n\nimport { ActivityApproval, ActivityApprovalJudgment } from './activity-approval'\nimport { abort } from '../../controllers/activity-approval/abort'\nimport { reject } from '../../controllers/activity-approval/reject'\nimport { approve } from '../../controllers/activity-approval/approve'\n\n@Resolver(ActivityApproval)\nexport class ActivityApprovalMutation {\n /* transactions ... */\n\n @Directive('@transaction')\n @Mutation(returns => ActivityApproval!, { nullable: true, description: 'To approve ActivityApproval' })\n async saveActivityApproval(\n @Arg('id') id: string,\n @Arg('comment', { nullable: true }) comment: string,\n @Ctx() 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 return await repository.save({\n ...activityApproval,\n comment,\n updater: user\n })\n }\n\n @Directive('@transaction')\n @Mutation(returns => ActivityApproval!, { nullable: true, description: 'To approve ActivityApproval' })\n async approveActivityApproval(\n @Arg('id') id: string,\n @Arg('comment', { nullable: true }) comment: string,\n @Ctx() context: ResolverContext\n ): Promise<ActivityApproval> {\n return await approve({ id, comment }, context)\n }\n\n @Directive('@transaction')\n @Mutation(returns => ActivityApproval!, { nullable: true, description: 'To reject ActivityApproval' })\n async rejectActivityApproval(\n @Arg('id') id: string,\n @Arg('comment', { nullable: true }) comment: string,\n @Ctx() context: ResolverContext\n ): Promise<ActivityApproval> {\n return await reject({ id, comment }, context)\n }\n\n @Directive('@transaction')\n @Mutation(returns => ActivityApproval!, { nullable: true, description: 'To abort ActivityApproval' })\n async abortActivityApproval(\n @Arg('id') id: string,\n @Arg('comment', { nullable: true }) comment: string,\n @Ctx() context: ResolverContext\n ): Promise<ActivityApproval> {\n return await abort({ id, comment }, context)\n }\n}\n"]}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ActivityApprovalQuery = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const type_graphql_1 = require("type-graphql");
|
|
6
|
+
const shell_1 = require("@things-factory/shell");
|
|
7
|
+
const auth_base_1 = require("@things-factory/auth-base");
|
|
8
|
+
const activity_thread_1 = require("../activity-thread/activity-thread");
|
|
9
|
+
const activity_approval_1 = require("./activity-approval");
|
|
10
|
+
const activity_approval_type_1 = require("./activity-approval-type");
|
|
11
|
+
let ActivityApprovalQuery = class ActivityApprovalQuery {
|
|
12
|
+
async activityApproval(id, context) {
|
|
13
|
+
const { domain } = context.state;
|
|
14
|
+
return await (0, shell_1.getRepository)(activity_approval_1.ActivityApproval).findOne({
|
|
15
|
+
where: { domain: { id: domain.id }, id }
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
async activityApprovals(params, context) {
|
|
19
|
+
const { domain } = context.state;
|
|
20
|
+
const queryBuilder = (0, shell_1.getQueryBuilderFromListParams)({
|
|
21
|
+
domain,
|
|
22
|
+
params,
|
|
23
|
+
repository: (0, shell_1.getRepository)(activity_approval_1.ActivityApproval),
|
|
24
|
+
searchables: ['name', 'description']
|
|
25
|
+
});
|
|
26
|
+
const [items, total] = await queryBuilder.getManyAndCount();
|
|
27
|
+
return { items, total };
|
|
28
|
+
}
|
|
29
|
+
async approvalWaitingList(params, context) {
|
|
30
|
+
var { domain, user } = context.state;
|
|
31
|
+
const judgment = [
|
|
32
|
+
activity_approval_1.ActivityApprovalJudgment.Escalated,
|
|
33
|
+
activity_approval_1.ActivityApprovalJudgment.Delegated,
|
|
34
|
+
activity_approval_1.ActivityApprovalJudgment.Approved,
|
|
35
|
+
activity_approval_1.ActivityApprovalJudgment.Rejected
|
|
36
|
+
];
|
|
37
|
+
const [items, total] = await (0, shell_1.getQueryBuilderFromListParams)({
|
|
38
|
+
repository: (0, shell_1.getRepository)(activity_approval_1.ActivityApproval),
|
|
39
|
+
params,
|
|
40
|
+
domain,
|
|
41
|
+
alias: 'ap',
|
|
42
|
+
searchables: ['name', 'description'],
|
|
43
|
+
filtersMap: {
|
|
44
|
+
name: {
|
|
45
|
+
relationColumn: 'activityThread.activityInstance',
|
|
46
|
+
columnName: 'name'
|
|
47
|
+
},
|
|
48
|
+
description: {
|
|
49
|
+
relationColumn: 'activityThread.activityInstance',
|
|
50
|
+
columnName: 'description'
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
})
|
|
54
|
+
.andWhere('ap.judgment NOT IN (:...judgment)', { judgment })
|
|
55
|
+
.andWhere('ap.approver = :user', { user: user.id })
|
|
56
|
+
.getManyAndCount();
|
|
57
|
+
return { items, total };
|
|
58
|
+
}
|
|
59
|
+
async activityThread(activityApproval) {
|
|
60
|
+
return await (0, shell_1.getRepository)(activity_thread_1.ActivityThread).findOneBy({ id: activityApproval.activityThreadId });
|
|
61
|
+
}
|
|
62
|
+
async domain(activityApproval) {
|
|
63
|
+
return await (0, shell_1.getRepository)(shell_1.Domain).findOneBy({ id: activityApproval.domainId });
|
|
64
|
+
}
|
|
65
|
+
async updater(activityApproval) {
|
|
66
|
+
return await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id: activityApproval.updaterId });
|
|
67
|
+
}
|
|
68
|
+
async creator(activityApproval) {
|
|
69
|
+
return await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id: activityApproval.creatorId });
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
tslib_1.__decorate([
|
|
73
|
+
(0, type_graphql_1.Query)(returns => activity_approval_1.ActivityApproval, { nullable: true, description: 'To fetch a ActivityApproval' }),
|
|
74
|
+
tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
|
|
75
|
+
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
76
|
+
tslib_1.__metadata("design:type", Function),
|
|
77
|
+
tslib_1.__metadata("design:paramtypes", [String, Object]),
|
|
78
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
79
|
+
], ActivityApprovalQuery.prototype, "activityApproval", null);
|
|
80
|
+
tslib_1.__decorate([
|
|
81
|
+
(0, type_graphql_1.Query)(returns => activity_approval_type_1.ActivityApprovalList, { description: 'To fetch multiple ActivityApprovals' }),
|
|
82
|
+
tslib_1.__param(0, (0, type_graphql_1.Args)()),
|
|
83
|
+
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
84
|
+
tslib_1.__metadata("design:type", Function),
|
|
85
|
+
tslib_1.__metadata("design:paramtypes", [shell_1.ListParam, Object]),
|
|
86
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
87
|
+
], ActivityApprovalQuery.prototype, "activityApprovals", null);
|
|
88
|
+
tslib_1.__decorate([
|
|
89
|
+
(0, type_graphql_1.Query)(returns => activity_approval_type_1.ActivityApprovalList, { description: 'To fetch my own ActivityApprovals' }),
|
|
90
|
+
tslib_1.__param(0, (0, type_graphql_1.Args)()),
|
|
91
|
+
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
92
|
+
tslib_1.__metadata("design:type", Function),
|
|
93
|
+
tslib_1.__metadata("design:paramtypes", [shell_1.ListParam, Object]),
|
|
94
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
95
|
+
], ActivityApprovalQuery.prototype, "approvalWaitingList", null);
|
|
96
|
+
tslib_1.__decorate([
|
|
97
|
+
(0, type_graphql_1.FieldResolver)(type => activity_thread_1.ActivityThread),
|
|
98
|
+
tslib_1.__param(0, (0, type_graphql_1.Root)()),
|
|
99
|
+
tslib_1.__metadata("design:type", Function),
|
|
100
|
+
tslib_1.__metadata("design:paramtypes", [activity_approval_1.ActivityApproval]),
|
|
101
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
102
|
+
], ActivityApprovalQuery.prototype, "activityThread", null);
|
|
103
|
+
tslib_1.__decorate([
|
|
104
|
+
(0, type_graphql_1.FieldResolver)(type => shell_1.Domain),
|
|
105
|
+
tslib_1.__param(0, (0, type_graphql_1.Root)()),
|
|
106
|
+
tslib_1.__metadata("design:type", Function),
|
|
107
|
+
tslib_1.__metadata("design:paramtypes", [activity_approval_1.ActivityApproval]),
|
|
108
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
109
|
+
], ActivityApprovalQuery.prototype, "domain", null);
|
|
110
|
+
tslib_1.__decorate([
|
|
111
|
+
(0, type_graphql_1.FieldResolver)(type => auth_base_1.User),
|
|
112
|
+
tslib_1.__param(0, (0, type_graphql_1.Root)()),
|
|
113
|
+
tslib_1.__metadata("design:type", Function),
|
|
114
|
+
tslib_1.__metadata("design:paramtypes", [activity_approval_1.ActivityApproval]),
|
|
115
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
116
|
+
], ActivityApprovalQuery.prototype, "updater", null);
|
|
117
|
+
tslib_1.__decorate([
|
|
118
|
+
(0, type_graphql_1.FieldResolver)(type => auth_base_1.User),
|
|
119
|
+
tslib_1.__param(0, (0, type_graphql_1.Root)()),
|
|
120
|
+
tslib_1.__metadata("design:type", Function),
|
|
121
|
+
tslib_1.__metadata("design:paramtypes", [activity_approval_1.ActivityApproval]),
|
|
122
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
123
|
+
], ActivityApprovalQuery.prototype, "creator", null);
|
|
124
|
+
ActivityApprovalQuery = tslib_1.__decorate([
|
|
125
|
+
(0, type_graphql_1.Resolver)(activity_approval_1.ActivityApproval)
|
|
126
|
+
], ActivityApprovalQuery);
|
|
127
|
+
exports.ActivityApprovalQuery = ActivityApprovalQuery;
|
|
128
|
+
//# sourceMappingURL=activity-approval-query.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activity-approval-query.js","sourceRoot":"","sources":["../../../server/service/activity-approval/activity-approval-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Resolver, Query, FieldResolver, Root, Args, Arg, Ctx, Directive } from 'type-graphql'\nimport { Domain, getQueryBuilderFromListParams, getRepository, ListParam } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\nimport { ActivityInstance } from '../activity-instance/activity-instance'\nimport { ActivityThread } from '../activity-thread/activity-thread'\nimport { ActivityApproval, ActivityApprovalJudgment } from './activity-approval'\nimport { ActivityApprovalList } from './activity-approval-type'\n\n@Resolver(ActivityApproval)\nexport class ActivityApprovalQuery {\n @Query(returns => ActivityApproval!, { nullable: true, description: 'To fetch a ActivityApproval' })\n async activityApproval(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<ActivityApproval> {\n const { domain } = context.state\n\n return await getRepository(ActivityApproval).findOne({\n where: { domain: { id: domain.id }, id }\n })\n }\n\n @Query(returns => ActivityApprovalList, { description: 'To fetch multiple ActivityApprovals' })\n async activityApprovals(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<ActivityApprovalList> {\n const { domain } = context.state\n\n const queryBuilder = getQueryBuilderFromListParams({\n domain,\n params,\n repository: getRepository(ActivityApproval),\n searchables: ['name', 'description']\n })\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @Query(returns => ActivityApprovalList, { description: 'To fetch my own ActivityApprovals' })\n async approvalWaitingList(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<ActivityApprovalList> {\n var { domain, user } = context.state\n\n const judgment = [\n ActivityApprovalJudgment.Escalated,\n ActivityApprovalJudgment.Delegated,\n ActivityApprovalJudgment.Approved,\n ActivityApprovalJudgment.Rejected\n ]\n\n const [items, total] = await getQueryBuilderFromListParams({\n repository: getRepository(ActivityApproval),\n params,\n domain,\n alias: 'ap',\n searchables: ['name', 'description'],\n filtersMap: {\n name: {\n relationColumn: 'activityThread.activityInstance',\n columnName: 'name'\n },\n description: {\n relationColumn: 'activityThread.activityInstance',\n columnName: 'description'\n }\n }\n })\n .andWhere('ap.judgment NOT IN (:...judgment)', { judgment })\n .andWhere('ap.approver = :user', { user: user.id })\n .getManyAndCount()\n\n return { items, total }\n }\n\n @FieldResolver(type => ActivityThread)\n async activityThread(@Root() activityApproval: ActivityApproval): Promise<ActivityThread> {\n return await getRepository(ActivityThread).findOneBy({ id: activityApproval.activityThreadId })\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() activityApproval: ActivityApproval): Promise<Domain> {\n return await getRepository(Domain).findOneBy({ id: activityApproval.domainId })\n }\n\n @FieldResolver(type => User)\n async updater(@Root() activityApproval: ActivityApproval): Promise<User> {\n return await getRepository(User).findOneBy({ id: activityApproval.updaterId })\n }\n\n @FieldResolver(type => User)\n async creator(@Root() activityApproval: ActivityApproval): Promise<User> {\n return await getRepository(User).findOneBy({ id: activityApproval.creatorId })\n }\n}\n"]}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ActivityApprovalList = exports.ActivityApprovalPatch = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const type_graphql_1 = require("type-graphql");
|
|
6
|
+
const activity_approval_1 = require("./activity-approval");
|
|
7
|
+
let ActivityApprovalPatch = class ActivityApprovalPatch {
|
|
8
|
+
};
|
|
9
|
+
tslib_1.__decorate([
|
|
10
|
+
(0, type_graphql_1.Field)(type => type_graphql_1.ID, { nullable: true }),
|
|
11
|
+
tslib_1.__metadata("design:type", String)
|
|
12
|
+
], ActivityApprovalPatch.prototype, "id", void 0);
|
|
13
|
+
tslib_1.__decorate([
|
|
14
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
15
|
+
tslib_1.__metadata("design:type", String)
|
|
16
|
+
], ActivityApprovalPatch.prototype, "judgment", void 0);
|
|
17
|
+
tslib_1.__decorate([
|
|
18
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
19
|
+
tslib_1.__metadata("design:type", String)
|
|
20
|
+
], ActivityApprovalPatch.prototype, "comment", void 0);
|
|
21
|
+
ActivityApprovalPatch = tslib_1.__decorate([
|
|
22
|
+
(0, type_graphql_1.InputType)()
|
|
23
|
+
], ActivityApprovalPatch);
|
|
24
|
+
exports.ActivityApprovalPatch = ActivityApprovalPatch;
|
|
25
|
+
let ActivityApprovalList = class ActivityApprovalList {
|
|
26
|
+
};
|
|
27
|
+
tslib_1.__decorate([
|
|
28
|
+
(0, type_graphql_1.Field)(type => [activity_approval_1.ActivityApproval]),
|
|
29
|
+
tslib_1.__metadata("design:type", Array)
|
|
30
|
+
], ActivityApprovalList.prototype, "items", void 0);
|
|
31
|
+
tslib_1.__decorate([
|
|
32
|
+
(0, type_graphql_1.Field)(type => type_graphql_1.Int),
|
|
33
|
+
tslib_1.__metadata("design:type", Number)
|
|
34
|
+
], ActivityApprovalList.prototype, "total", void 0);
|
|
35
|
+
ActivityApprovalList = tslib_1.__decorate([
|
|
36
|
+
(0, type_graphql_1.ObjectType)()
|
|
37
|
+
], ActivityApprovalList);
|
|
38
|
+
exports.ActivityApprovalList = ActivityApprovalList;
|
|
39
|
+
//# sourceMappingURL=activity-approval-type.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activity-approval-type.js","sourceRoot":"","sources":["../../../server/service/activity-approval/activity-approval-type.ts"],"names":[],"mappings":";;;;AAEA,+CAAsF;AAItF,2DAAgF;AAGzE,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;CASjC,CAAA;AARC;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;iDAC3B;AAEX;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uDACS;AAEnC;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sDACV;AARL,qBAAqB;IADjC,IAAA,wBAAS,GAAE;GACC,qBAAqB,CASjC;AATY,sDAAqB;AAY3B,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;CAMhC,CAAA;AALC;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,oCAAgB,CAAC,CAAC;;mDACT;AAEzB;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,CAAC;;mDACN;AALF,oBAAoB;IADhC,IAAA,yBAAU,GAAE;GACA,oBAAoB,CAMhC;AANY,oDAAoB","sourcesContent":["import type { FileUpload } from 'graphql-upload/GraphQLUpload.js'\nimport GraphQLUpload from 'graphql-upload/GraphQLUpload.js'\nimport { ObjectType, Field, InputType, Int, ID, registerEnumType } from 'type-graphql'\n\nimport { ObjectRef, ScalarObject } from '@things-factory/shell'\n\nimport { ActivityApproval, ActivityApprovalJudgment } from './activity-approval'\n\n@InputType()\nexport class ActivityApprovalPatch {\n @Field(type => ID, { nullable: true })\n id?: string\n\n @Field({ nullable: true })\n judgment?: ActivityApprovalJudgment\n\n @Field({ nullable: true })\n comment?: string\n}\n\n@ObjectType()\nexport class ActivityApprovalList {\n @Field(type => [ActivityApproval])\n items: ActivityApproval[]\n\n @Field(type => Int)\n total: number\n}\n"]}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ActivityApproval = exports.ActivityApprovalJudgment = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const typeorm_1 = require("typeorm");
|
|
6
|
+
const type_graphql_1 = require("type-graphql");
|
|
7
|
+
const shell_1 = require("@things-factory/shell");
|
|
8
|
+
const auth_base_1 = require("@things-factory/auth-base");
|
|
9
|
+
const activity_thread_1 = require("../activity-thread/activity-thread");
|
|
10
|
+
var ActivityApprovalJudgment;
|
|
11
|
+
(function (ActivityApprovalJudgment) {
|
|
12
|
+
ActivityApprovalJudgment["Pending"] = "";
|
|
13
|
+
ActivityApprovalJudgment["Rejected"] = "rejected";
|
|
14
|
+
ActivityApprovalJudgment["Escalated"] = "escalated";
|
|
15
|
+
ActivityApprovalJudgment["Delegated"] = "delegated";
|
|
16
|
+
ActivityApprovalJudgment["Approved"] = "approved";
|
|
17
|
+
ActivityApprovalJudgment["Aborted"] = "aborted";
|
|
18
|
+
})(ActivityApprovalJudgment = exports.ActivityApprovalJudgment || (exports.ActivityApprovalJudgment = {}));
|
|
19
|
+
(0, type_graphql_1.registerEnumType)(ActivityApprovalJudgment, {
|
|
20
|
+
name: 'ActivityApprovalJudgment',
|
|
21
|
+
description: 'judgment enumeration of a activityApproval'
|
|
22
|
+
});
|
|
23
|
+
let ActivityApproval = class ActivityApproval {
|
|
24
|
+
constructor() {
|
|
25
|
+
this.order = 0;
|
|
26
|
+
this.judgment = ActivityApprovalJudgment.Pending;
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
tslib_1.__decorate([
|
|
30
|
+
(0, typeorm_1.PrimaryGeneratedColumn)('uuid'),
|
|
31
|
+
(0, type_graphql_1.Field)(type => type_graphql_1.ID),
|
|
32
|
+
tslib_1.__metadata("design:type", String)
|
|
33
|
+
], ActivityApproval.prototype, "id", void 0);
|
|
34
|
+
tslib_1.__decorate([
|
|
35
|
+
(0, typeorm_1.ManyToOne)(type => shell_1.Domain),
|
|
36
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
37
|
+
tslib_1.__metadata("design:type", shell_1.Domain)
|
|
38
|
+
], ActivityApproval.prototype, "domain", void 0);
|
|
39
|
+
tslib_1.__decorate([
|
|
40
|
+
(0, typeorm_1.RelationId)((activityApproval) => activityApproval.domain),
|
|
41
|
+
tslib_1.__metadata("design:type", String)
|
|
42
|
+
], ActivityApproval.prototype, "domainId", void 0);
|
|
43
|
+
tslib_1.__decorate([
|
|
44
|
+
(0, typeorm_1.ManyToOne)(type => activity_thread_1.ActivityThread, { nullable: true }),
|
|
45
|
+
(0, type_graphql_1.Field)(type => activity_thread_1.ActivityThread, { nullable: true }),
|
|
46
|
+
tslib_1.__metadata("design:type", activity_thread_1.ActivityThread)
|
|
47
|
+
], ActivityApproval.prototype, "activityThread", void 0);
|
|
48
|
+
tslib_1.__decorate([
|
|
49
|
+
(0, typeorm_1.RelationId)((activityApproval) => activityApproval.activityThread),
|
|
50
|
+
tslib_1.__metadata("design:type", String)
|
|
51
|
+
], ActivityApproval.prototype, "activityThreadId", void 0);
|
|
52
|
+
tslib_1.__decorate([
|
|
53
|
+
(0, typeorm_1.Column)({ nullable: true, default: 0 }),
|
|
54
|
+
(0, type_graphql_1.Field)({ nullable: true, description: 'Nth order approval for given activity thread' }),
|
|
55
|
+
tslib_1.__metadata("design:type", Number)
|
|
56
|
+
], ActivityApproval.prototype, "order", void 0);
|
|
57
|
+
tslib_1.__decorate([
|
|
58
|
+
(0, typeorm_1.ManyToOne)(type => auth_base_1.User, { nullable: true }),
|
|
59
|
+
(0, type_graphql_1.Field)(type => auth_base_1.User, { nullable: true }),
|
|
60
|
+
tslib_1.__metadata("design:type", auth_base_1.User)
|
|
61
|
+
], ActivityApproval.prototype, "approver", void 0);
|
|
62
|
+
tslib_1.__decorate([
|
|
63
|
+
(0, typeorm_1.RelationId)((activityApproval) => activityApproval.approver),
|
|
64
|
+
tslib_1.__metadata("design:type", String)
|
|
65
|
+
], ActivityApproval.prototype, "approverId", void 0);
|
|
66
|
+
tslib_1.__decorate([
|
|
67
|
+
(0, typeorm_1.Column)({ nullable: true, default: '' }),
|
|
68
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
69
|
+
tslib_1.__metadata("design:type", String)
|
|
70
|
+
], ActivityApproval.prototype, "judgment", void 0);
|
|
71
|
+
tslib_1.__decorate([
|
|
72
|
+
(0, typeorm_1.Column)({ nullable: true }),
|
|
73
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
74
|
+
tslib_1.__metadata("design:type", String)
|
|
75
|
+
], ActivityApproval.prototype, "comment", void 0);
|
|
76
|
+
tslib_1.__decorate([
|
|
77
|
+
(0, typeorm_1.Column)({ nullable: true }),
|
|
78
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
79
|
+
tslib_1.__metadata("design:type", String)
|
|
80
|
+
], ActivityApproval.prototype, "transaction", void 0);
|
|
81
|
+
tslib_1.__decorate([
|
|
82
|
+
(0, typeorm_1.CreateDateColumn)(),
|
|
83
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
84
|
+
tslib_1.__metadata("design:type", Date)
|
|
85
|
+
], ActivityApproval.prototype, "createdAt", void 0);
|
|
86
|
+
tslib_1.__decorate([
|
|
87
|
+
(0, typeorm_1.UpdateDateColumn)(),
|
|
88
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
89
|
+
tslib_1.__metadata("design:type", Date)
|
|
90
|
+
], ActivityApproval.prototype, "updatedAt", void 0);
|
|
91
|
+
tslib_1.__decorate([
|
|
92
|
+
(0, typeorm_1.Column)({ nullable: true }),
|
|
93
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
94
|
+
tslib_1.__metadata("design:type", Date)
|
|
95
|
+
], ActivityApproval.prototype, "terminatedAt", void 0);
|
|
96
|
+
tslib_1.__decorate([
|
|
97
|
+
(0, typeorm_1.ManyToOne)(type => auth_base_1.User, { nullable: true }),
|
|
98
|
+
(0, type_graphql_1.Field)(type => auth_base_1.User, { nullable: true }),
|
|
99
|
+
tslib_1.__metadata("design:type", auth_base_1.User)
|
|
100
|
+
], ActivityApproval.prototype, "creator", void 0);
|
|
101
|
+
tslib_1.__decorate([
|
|
102
|
+
(0, typeorm_1.RelationId)((activityApproval) => activityApproval.creator),
|
|
103
|
+
tslib_1.__metadata("design:type", String)
|
|
104
|
+
], ActivityApproval.prototype, "creatorId", void 0);
|
|
105
|
+
tslib_1.__decorate([
|
|
106
|
+
(0, typeorm_1.ManyToOne)(type => auth_base_1.User, { nullable: true }),
|
|
107
|
+
(0, type_graphql_1.Field)(type => auth_base_1.User, { nullable: true }),
|
|
108
|
+
tslib_1.__metadata("design:type", auth_base_1.User)
|
|
109
|
+
], ActivityApproval.prototype, "updater", void 0);
|
|
110
|
+
tslib_1.__decorate([
|
|
111
|
+
(0, typeorm_1.RelationId)((activityApproval) => activityApproval.updater),
|
|
112
|
+
tslib_1.__metadata("design:type", String)
|
|
113
|
+
], ActivityApproval.prototype, "updaterId", void 0);
|
|
114
|
+
tslib_1.__decorate([
|
|
115
|
+
(0, typeorm_1.ManyToOne)(type => auth_base_1.User, { nullable: true }),
|
|
116
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
117
|
+
tslib_1.__metadata("design:type", auth_base_1.User)
|
|
118
|
+
], ActivityApproval.prototype, "terminator", void 0);
|
|
119
|
+
tslib_1.__decorate([
|
|
120
|
+
(0, typeorm_1.RelationId)((activityApproval) => activityApproval.terminator),
|
|
121
|
+
tslib_1.__metadata("design:type", String)
|
|
122
|
+
], ActivityApproval.prototype, "terminatorId", void 0);
|
|
123
|
+
ActivityApproval = tslib_1.__decorate([
|
|
124
|
+
(0, typeorm_1.Entity)(),
|
|
125
|
+
(0, typeorm_1.Index)('ix_activity_approval_0', (activityApproval) => [
|
|
126
|
+
activityApproval.domain,
|
|
127
|
+
activityApproval.activityThread,
|
|
128
|
+
activityApproval.order,
|
|
129
|
+
activityApproval.approver,
|
|
130
|
+
activityApproval.createdAt
|
|
131
|
+
], { unique: true }),
|
|
132
|
+
(0, type_graphql_1.ObjectType)({ description: 'Entity for ActivityApproval' })
|
|
133
|
+
], ActivityApproval);
|
|
134
|
+
exports.ActivityApproval = ActivityApproval;
|
|
135
|
+
//# sourceMappingURL=activity-approval.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activity-approval.js","sourceRoot":"","sources":["../../../server/service/activity-approval/activity-approval.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n CreateDateColumn,\n UpdateDateColumn,\n Entity,\n Index,\n Column,\n RelationId,\n ManyToOne,\n PrimaryGeneratedColumn\n} from 'typeorm'\nimport { ObjectType, Field, Int, ID, registerEnumType } from 'type-graphql'\n\nimport { Domain } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\nimport { ActivityThread } from '../activity-thread/activity-thread'\n\nexport enum ActivityApprovalJudgment {\n Pending = '',\n Rejected = 'rejected',\n Escalated = 'escalated',\n Delegated = 'delegated',\n Approved = 'approved',\n Aborted = 'aborted'\n}\n\nregisterEnumType(ActivityApprovalJudgment, {\n name: 'ActivityApprovalJudgment',\n description: 'judgment enumeration of a activityApproval'\n})\n\n@Entity()\n@Index(\n 'ix_activity_approval_0',\n (activityApproval: ActivityApproval) => [\n activityApproval.domain,\n activityApproval.activityThread,\n activityApproval.order,\n activityApproval.approver,\n activityApproval.createdAt\n ],\n { unique: true }\n)\n@ObjectType({ description: 'Entity for ActivityApproval' })\nexport class ActivityApproval {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID)\n readonly id: string\n\n @ManyToOne(type => Domain)\n @Field({ nullable: true })\n domain?: Domain\n\n @RelationId((activityApproval: ActivityApproval) => activityApproval.domain)\n domainId?: string\n\n @ManyToOne(type => ActivityThread, { nullable: true })\n @Field(type => ActivityThread, { nullable: true })\n activityThread?: ActivityThread\n\n @RelationId((activityApproval: ActivityApproval) => activityApproval.activityThread)\n activityThreadId?: string\n\n @Column({ nullable: true, default: 0 })\n @Field({ nullable: true, description: 'Nth order approval for given activity thread' })\n order?: number = 0\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true })\n approver?: User\n\n @RelationId((activityApproval: ActivityApproval) => activityApproval.approver)\n approverId?: string\n\n @Column({ nullable: true, default: '' })\n @Field({ nullable: true })\n judgment?: ActivityApprovalJudgment = ActivityApprovalJudgment.Pending\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n comment?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n transaction?: string\n\n @CreateDateColumn()\n @Field({ nullable: true })\n createdAt?: Date\n\n @UpdateDateColumn()\n @Field({ nullable: true })\n updatedAt?: 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((activityApproval: ActivityApproval) => activityApproval.creator)\n creatorId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true })\n updater?: User\n\n @RelationId((activityApproval: ActivityApproval) => activityApproval.updater)\n updaterId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n terminator?: User\n\n @RelationId((activityApproval: ActivityApproval) => activityApproval.terminator)\n terminatorId?: string\n}\n"]}
|