add logic check roles per application is exists

This commit is contained in:
2025-01-12 22:34:58 +07:00
parent 085cae47e1
commit 1b5d7b7095

View File

@ -311,7 +311,13 @@ export class UserController {
}); });
if (data != null) { if (data != null) {
const new_role = await repo_role.findOneBy({ id: param.id_role }); // const new_role = await repo_role.findOneBy({ id: param.id_role });
const new_role = await repo_role.findOne({
relations: {
application: true,
},
where: { id: param.id_role }
});
if (data.roles) { if (data.roles) {
for (let r of data.roles) { for (let r of data.roles) {
@ -319,6 +325,10 @@ export class UserController {
//already added //already added
return ReturnHelper.errorResponse(res, 409, 401, Language.lang.failed_insert + ", roles already exists ", ""); return ReturnHelper.errorResponse(res, 409, 401, Language.lang.failed_insert + ", roles already exists ", "");
} }
if (r.application.id == new_role.application.id) {
return ReturnHelper.errorResponse(res, 409, 402, Language.lang.failed_insert + ", roles in this application already exists ", "");
}
} }
} }
@ -332,13 +342,13 @@ export class UserController {
return ReturnHelper.successResponseAny(res, 200, Language.lang.success_update, data); return ReturnHelper.successResponseAny(res, 200, Language.lang.success_update, data);
} else { } else {
return ReturnHelper.errorResponse(res, 404, 402, Language.lang.failed_not_found, ""); return ReturnHelper.errorResponse(res, 404, 403, Language.lang.failed_not_found, "");
} }
} catch (e: unknown) { } catch (e: unknown) {
log.error(e); log.error(e);
const err = e as Error; const err = e as Error;
return ReturnHelper.errorResponse(res, 500, 403, Language.lang.failed_update, err.message); return ReturnHelper.errorResponse(res, 500, 404, Language.lang.failed_update, err.message);
} }
} }