From d92e3bc57ded01dcef3029f6372eb5f5f6bf120b Mon Sep 17 00:00:00 2001 From: Methapon2001 <61303214+Methapon2001@users.noreply.github.com> Date: Thu, 24 Apr 2025 13:55:22 +0700 Subject: [PATCH 1/4] feat: add relation to response --- src/controllers/07-task-controller.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/controllers/07-task-controller.ts b/src/controllers/07-task-controller.ts index 92fc696..5e9977c 100644 --- a/src/controllers/07-task-controller.ts +++ b/src/controllers/07-task-controller.ts @@ -200,6 +200,7 @@ export class TaskController extends Controller { step: { include: { value: true, + responsibleGroup: true, responsiblePerson: { include: { user: true }, }, From 08b9ddd2e1c255d5ee5455d46ff3353dd962d950 Mon Sep 17 00:00:00 2001 From: Methapon2001 <61303214+Methapon2001@users.noreply.github.com> Date: Thu, 24 Apr 2025 14:07:30 +0700 Subject: [PATCH 2/4] feat: reponse relation responsible gropu in request list --- src/controllers/06-request-list-controller.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/controllers/06-request-list-controller.ts b/src/controllers/06-request-list-controller.ts index 42b32ad..3289473 100644 --- a/src/controllers/06-request-list-controller.ts +++ b/src/controllers/06-request-list-controller.ts @@ -849,6 +849,7 @@ export class RequestListController extends Controller { include: { user: true }, }, responsibleInstitution: true, + responsibleGroup: true, }, }, }, From 4dbe89f2903ac69294a10b555989ad10b5c0ddb1 Mon Sep 17 00:00:00 2001 From: Methapon2001 <61303214+Methapon2001@users.noreply.github.com> Date: Thu, 24 Apr 2025 14:09:57 +0700 Subject: [PATCH 3/4] feat: response more relation --- src/controllers/06-request-list-controller.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/controllers/06-request-list-controller.ts b/src/controllers/06-request-list-controller.ts index 3289473..387c1d5 100644 --- a/src/controllers/06-request-list-controller.ts +++ b/src/controllers/06-request-list-controller.ts @@ -174,6 +174,7 @@ export class RequestDataController extends Controller { include: { user: true }, }, responsibleInstitution: true, + responsibleGroup: true, }, }, }, @@ -789,6 +790,7 @@ export class RequestListController extends Controller { include: { user: true }, }, responsibleInstitution: true, + responsibleGroup: true, }, }, }, From 92104c05cb313c5018ecb02ffb44af2ef68a88b9 Mon Sep 17 00:00:00 2001 From: Methapon2001 <61303214+Methapon2001@users.noreply.github.com> Date: Thu, 24 Apr 2025 14:53:04 +0700 Subject: [PATCH 4/4] feat: filter responsible only --- src/controllers/06-request-list-controller.ts | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/src/controllers/06-request-list-controller.ts b/src/controllers/06-request-list-controller.ts index 387c1d5..ca5398f 100644 --- a/src/controllers/06-request-list-controller.ts +++ b/src/controllers/06-request-list-controller.ts @@ -32,6 +32,7 @@ import { notFoundError } from "../utils/error"; import { deleteFile, fileLocation, getFile, getPresigned, listFile, setFile } from "../utils/minio"; import HttpError from "../interfaces/http-error"; import HttpStatus from "../interfaces/http-status"; +import { getGroupUser } from "../services/keycloak"; // User in company can edit. const permissionCheck = createPermCheck((_) => true); @@ -136,9 +137,24 @@ export class RequestDataController extends Controller { workflow: { step: { some: { - responsiblePerson: { - some: { userId: req.user.sub }, - }, + OR: [ + { + responsiblePerson: { + some: { userId: req.user.sub }, + }, + }, + { + responsibleGroup: { + some: { + group: { + in: await getGroupUser(req.user.sub).then((r) => + r.map(({ name }: { name: string }) => name), + ), + }, + }, + }, + }, + ], }, }, },