add logic check roles per application is exists
This commit is contained in:
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user