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) {
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) {
for (let r of data.roles) {
@ -319,6 +325,10 @@ export class UserController {
//already added
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);
} 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) {
log.error(e);
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);
}
}