Merge branch 'dev' of github.com:smart-chain-fr/leCoffre into dev
This commit is contained in:
commit
a3c801da6b
@ -109,30 +109,32 @@ export default class UsersController extends ApiController {
|
||||
//init IUser resource with request body values
|
||||
const userEntity = User.hydrate<User>(req.body);
|
||||
|
||||
if(userEntity.role) {
|
||||
if (userEntity.role) {
|
||||
const role = await this.roleService.getByUid(userEntity.role.uid!);
|
||||
if(!role) {
|
||||
if (!role) {
|
||||
this.httpBadRequest(response, "Role not found");
|
||||
return;
|
||||
}
|
||||
if (role.name === "super-admin" || userFound.role.name === "super-admin" ) {
|
||||
if (role.name === "super-admin" || userFound.role.name === "super-admin") {
|
||||
this.httpBadRequest(response, "Cannot assign or remove super-admin role");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if(userEntity.office_role) {
|
||||
if (userEntity.office_role) {
|
||||
const officeRole = await this.officeRoleService.getByUid(userEntity.office_role.uid!);
|
||||
if(!officeRole) {
|
||||
if (!officeRole) {
|
||||
this.httpBadRequest(response, "Office role not found");
|
||||
return;
|
||||
}
|
||||
if (officeRole.office_uid != userFound.office_uid) {
|
||||
this.httpBadRequest(response, "Cannot assign an office role from another office");
|
||||
return;
|
||||
}
|
||||
|
||||
// Not needed if you're super admin you can assign every roles from every offices
|
||||
// if (officeRole.office_uid != userFound.office_uid) {
|
||||
// this.httpBadRequest(response, "Cannot assign an office role from another office");
|
||||
// return;
|
||||
// }
|
||||
}
|
||||
|
||||
|
||||
//call service to get prisma entity
|
||||
const userEntityUpdated = await this.usersService.update(uid, userEntity);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user