mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-08-30 14:38:12 +00:00
49 lines
1.7 KiB
TypeScript
49 lines
1.7 KiB
TypeScript
import {
|
|
ChangeRequestStatus,
|
|
CompanyChangeRequest,
|
|
DocumentChangeIntent,
|
|
LicenseChangeIntent,
|
|
} from "../entities/company-change-request.entity";
|
|
|
|
/**
|
|
* A staged profile change request. Used both by the portal (to lock the settings
|
|
* page, show the reviewer note, and prefill the proposed values) and by the
|
|
* backoffice review screen (to render the proposed-vs-current diff).
|
|
*/
|
|
export class ChangeRequestResponseDto {
|
|
id: string;
|
|
companyId: string;
|
|
status: ChangeRequestStatus;
|
|
/** Proposed field values (Partial<UpdateProfileDto>) — the diff payload. */
|
|
snapshot: Record<string, any>;
|
|
documentFileIds: string[];
|
|
/** Staged business-license add/remove intents attached to this request. */
|
|
licenseChanges: LicenseChangeIntent[];
|
|
/** Staged company-document add/remove intents (e.g. the PoA letter). */
|
|
documentChanges: DocumentChangeIntent[];
|
|
note: string | null;
|
|
submittedBy: string | null;
|
|
submittedAt: Date | null;
|
|
reviewedBy: string | null;
|
|
reviewedAt: Date | null;
|
|
createdAt: Date;
|
|
updatedAt: Date;
|
|
|
|
constructor(req: CompanyChangeRequest) {
|
|
this.id = req.id;
|
|
this.companyId = req.companyId;
|
|
this.status = req.status;
|
|
this.snapshot = req.snapshot ?? {};
|
|
this.documentFileIds = req.documents?.documentFileIds ?? [];
|
|
this.licenseChanges = req.documents?.licenseChanges ?? [];
|
|
this.documentChanges = req.documents?.documentChanges ?? [];
|
|
this.note = req.note ?? null;
|
|
this.submittedBy = req.submittedBy ?? null;
|
|
this.submittedAt = req.submittedAt ?? null;
|
|
this.reviewedBy = req.reviewedBy ?? null;
|
|
this.reviewedAt = req.reviewedAt ?? null;
|
|
this.createdAt = req.createdAt;
|
|
this.updatedAt = req.updatedAt;
|
|
}
|
|
}
|