UNPKG

@upv/ushi-shared

Version:

Shared DTOs, types, and utilities for the USHI platform (LMS, Trials, Social, Wallet).

35 lines (34 loc) 1.27 kB
import BaseDto from '../base/BaseDto'; import { IRoleAssignmentDto, IRoleAssignment, RoleAssignmentStatus } from '../../../types/roleAssignment'; import { RoleDomain, PersonRole } from '../../enums'; /** * RoleAssignmentDto * * DTO class for managing user roles within scoped domains and contexts. * Supports auditing, expiration, and status tracking. */ declare class RoleAssignmentDto extends BaseDto<IRoleAssignmentDto> { protected _userId: string; protected _role: PersonRole; protected _domain: RoleDomain; protected _contextId?: string; protected _assignedBy?: string; protected _expiresAt?: number; protected _status: RoleAssignmentStatus; protected _revokedAt?: number; protected _revokedBy?: string; protected _notes?: string; constructor(data: IRoleAssignmentDto); serialize(): Promise<IRoleAssignment>; get userId(): string; get role(): PersonRole; get domain(): RoleDomain; get contextId(): string | undefined; get assignedBy(): string | undefined; get expiresAt(): number | undefined; get status(): RoleAssignmentStatus; get revokedAt(): number | undefined; get revokedBy(): string | undefined; get notes(): string | undefined; } export default RoleAssignmentDto;