From 61fbac14c60e11b356fc84ffda6ab0cf7c4ced80 Mon Sep 17 00:00:00 2001 From: Muhammad Zhafran Ilham Date: Sat, 27 Jun 2026 22:37:00 +0700 Subject: [PATCH] fix: mengabaikan non-active project ketika assign member --- src/modules/project/repositories/project.repository.js | 3 +++ src/modules/project/services/project.service.js | 3 +++ src/routes/project.routes.js | 2 +- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/modules/project/repositories/project.repository.js b/src/modules/project/repositories/project.repository.js index e140deb..c493fa7 100644 --- a/src/modules/project/repositories/project.repository.js +++ b/src/modules/project/repositories/project.repository.js @@ -428,6 +428,9 @@ class ProjectRepository { in: userIds.map((id) => parseInt(id)), }, status: "active", + project: { + status: "active" + } }, include: { user: { diff --git a/src/modules/project/services/project.service.js b/src/modules/project/services/project.service.js index 6d5a54b..5758e40 100644 --- a/src/modules/project/services/project.service.js +++ b/src/modules/project/services/project.service.js @@ -541,6 +541,9 @@ class ProjectService { if (!project) { return error(new NotFoundError("Project not found")); } + if (project.status !== "active") { + return error(new ConflictError("Cannot assign member to a non-active project")); + } const user = await projectRepository.findUserByIdAndActive(id_user); if (!user) { diff --git a/src/routes/project.routes.js b/src/routes/project.routes.js index 459a47c..23335b0 100644 --- a/src/routes/project.routes.js +++ b/src/routes/project.routes.js @@ -853,7 +853,7 @@ router.get('/interns', verifyJWT, isMentorOrAdmin, projectController.getInterns) * 404: * description: Project or User not found * 409: - * description: Conflict (User is already an active member of this project) + * description: Conflict (User is already an active member of this project or target project is not active) * 500: * description: Internal server error */