lib/common/explorer/handlers/user-entity-pwd-and-roles.save-handler.ts
Handler for saving user entities, ensuring appropriate permissions and roles are applied.
Methods |
handle |
handle(target: string, payload: User, currentUser: User)
|
Returns :
User
|
import { Injectable } from "@nestjs/common";
import { EntitySaveHandler } from "../explorer.types";
import { User } from "../../user/user.types";
import { Roles } from "../../../shared/constants";
/**
* Handler for saving user entities, ensuring appropriate permissions and roles are applied.
*/
@Injectable()
export class UserEntityPwdAndRolesSaveHandler
implements EntitySaveHandler<User>
{
handle(target: string, payload: User, currentUser: User) {
if (!currentUser.roles.find((v) => v.code === Roles.ROOT)) {
if (payload.id) {
delete payload.password;
delete payload.login;
}
delete payload.roles;
}
return payload;
}
}