File

lib/common/explorer/handlers/user-entity-pwd-and-roles.save-handler.ts

Description

Handler for saving user entities, ensuring appropriate permissions and roles are applied.

Index

Methods

Methods

handle
handle(target: string, payload: User, currentUser: User)
Parameters :
Name Type Optional
target string No
payload User No
currentUser User No
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;
  }
}

results matching ""

    No results matching ""