UNPKG

@upv/ushi-shared

Version:

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

69 lines (68 loc) 2.09 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const BaseDto_1 = __importDefault(require("../base/BaseDto")); /** * IdentityProfileDto * * DTO for structured legal identity associated with a user. * Useful for secure trials, identity verification, or eConsent. */ class IdentityProfileDto extends BaseDto_1.default { constructor(data) { super(data); this._userId = data.userId; this._firstName = data.firstName; this._middleName = data.middleName; this._lastName = data.lastName; this._suffix = data.suffix; this._preferredName = data.preferredName; this._motherMaidenName = data.motherMaidenName; this._documentId = data.documentId; this._identityProvider = data.identityProvider; } async serialize() { return { ...(await this.serializeBase()), userId: this._userId, firstName: this._firstName, middleName: this._middleName ?? null, lastName: this._lastName, suffix: this._suffix ?? null, preferredName: this._preferredName ?? null, motherMaidenName: this._motherMaidenName ?? null, documentId: this._documentId ?? null, identityProvider: this._identityProvider ?? null, }; } get userId() { return this._userId; } get firstName() { return this._firstName; } get middleName() { return this._middleName; } get lastName() { return this._lastName; } get suffix() { return this._suffix; } get preferredName() { return this._preferredName; } get motherMaidenName() { return this._motherMaidenName; } get documentId() { return this._documentId; } get identityProvider() { return this._identityProvider; } } exports.default = IdentityProfileDto;