UNPKG

@upv/ushi-shared

Version:

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

43 lines (42 loc) 1.57 kB
/** * RoleDomain * * Logical domain scopes used in role-based access control across the USHI platform. * Enables contextual permission separation (e.g., global vs LMS vs trial-specific). */ export declare enum RoleDomain { GLOBAL = "global",// System-wide or infrastructure roles LMS = "lms",// Learning Management System roles SOCIAL = "social",// Social community platform roles TRIAL = "trial" } /** * PersonRole * * Enumerates all assignable user roles across different domains. * Used in both backend authorization logic and frontend feature gating. */ export declare enum PersonRole { ADMIN = "admin",// Platform or domain admin STUDENT = "student",// LMS learner CREATOR = "creator",// Content author or LMS contributor COACH = "coach",// Mentor or instructor PARTICIPANT = "participant",// Clinical trial participant MODERATOR = "moderator",// Social platform moderator RESEARCHER = "researcher",// Investigator or trial team member ORGANIZER = "organizer",// Trial or study coordinator SPONSOR = "sponsor" } /** * PersonStatus * * Represents the state of a user account throughout its lifecycle. * Used for gating login, activation, and administrative control. */ export declare enum PersonStatus { PENDING = "pending",// Awaiting email verification or invite acceptance VALIDATED = "validated",// Email verified, ready for activation ACTIVE = "active",// Fully enabled account SUSPENDED = "suspended",// Temporarily blocked (e.g., violations, manual) DELETED = "deleted" }