690320:2126 UUID agian by Claude Sonnet #02
Build and Deploy / deploy (push) Failing after 4m27s

This commit is contained in:
2026-03-20 21:26:23 +07:00
parent 90cbbb8f11
commit a723cae244
20 changed files with 93 additions and 77 deletions
+3 -3
View File
@@ -89,10 +89,10 @@ export interface CirculationListResponse {
* DTO for creating a circulation
*/
export interface CreateCirculationDto {
correspondenceId: number | string;
projectId?: number | string;
correspondenceId: string; // ADR-019: UUID string only
projectId?: string; // ADR-019: UUID string only
subject: string;
assigneeIds: (number | string)[];
assigneeIds: string[]; // ADR-019: UUID string only
remarks?: string;
}
+3 -3
View File
@@ -76,7 +76,7 @@ export interface Correspondence {
}
export interface CreateCorrespondenceDto {
projectId: number;
projectId: string; // ADR-019: UUID string only
typeId: number;
subTypeId?: number;
disciplineId?: number;
@@ -87,7 +87,7 @@ export interface CreateCorrespondenceDto {
description?: string;
details?: Record<string, unknown>;
isInternal?: boolean;
originatorId?: number;
recipients?: { organizationId: number; type: 'TO' | 'CC' }[];
originatorId?: string; // ADR-019: UUID string only
recipients?: { organizationId: string; type: 'TO' | 'CC' }[]; // ADR-019: UUID string only
attachments?: File[];
}
@@ -1,14 +1,14 @@
// File: src/types/dto/circulation/create-circulation.dto.ts
export interface CreateCirculationDto {
/** เอกสารต้นเรื่องที่จะเวียน (Correspondence ID or UUID) */
correspondenceId: number | string;
/** UUID ของเอกสารต้นเรื่องที่จะเวียน (ADR-019: UUID string only) */
correspondenceId: string;
/** หัวข้อเรื่อง (Subject) */
subject: string;
/** รายชื่อ User ID/UUID ที่ต้องการส่งให้ (ผู้รับผิดชอบ) */
assigneeIds: (number | string)[];
/** UUID ของ User ที่ต้องการส่งให้ (ADR-019: UUID string only) */
assigneeIds: string[];
/** หมายเหตุเพิ่มเติม (ถ้ามี) */
remarks?: string;
+2 -2
View File
@@ -1,7 +1,7 @@
export interface CreateContractDto {
contractCode: string;
contractName: string;
projectId: number | string;
projectId: string; // ADR-019: UUID string only
description?: string;
startDate?: string;
endDate?: string;
@@ -11,7 +11,7 @@ export type UpdateContractDto = Partial<CreateContractDto>;
export interface SearchContractDto {
search?: string;
projectId?: number | string;
projectId?: string; // ADR-019: UUID string only
page?: number;
limit?: number;
}
@@ -1,8 +1,8 @@
// File: src/types/dto/correspondence/create-correspondence.dto.ts
export interface CreateCorrespondenceDto {
/** ID or UUID ของโครงการ */
projectId: number | string;
/** UUID ของโครงการ (ADR-019: UUID string only) */
projectId: string;
/** ID ของประเภทเอกสาร (เช่น RFA, LETTER) */
typeId: number;
@@ -34,11 +34,11 @@ export interface CreateCorrespondenceDto {
/** เอกสารภายในหรือไม่ (True = ภายใน) */
isInternal?: boolean;
/** * ✅ Field สำหรับ Impersonation (เลือกองค์กรผู้ส่ง)
* ใช้กรณี Admin สร้างเอกสารแทนผู้อื่น
/** ✅ Field สำหรับ Impersonation (เลือกองค์กรผู้ส่ง)
* ใช้กรณี Admin สร้างเอกสารแทนผู้อื่น (ADR-019: UUID string only)
*/
originatorId?: number | string;
originatorId?: string;
/** รายชื่อผู้รับ */
recipients?: { organizationId: number | string; type: 'TO' | 'CC' }[];
/** รายชื่อผู้รับ (ADR-019: UUID string only) */
recipients?: { organizationId: string; type: 'TO' | 'CC' }[];
}
+6 -6
View File
@@ -3,8 +3,8 @@ import type { RFAItem } from '@/types/rfa';
// --- Create ---
export interface CreateRfaDto {
/** ID or UUID ของโครงการ */
projectId: number | string; // ADR-019: Accept UUID
/** UUID ของโครงการ (ADR-019: UUID string only) */
projectId: string;
/** ประเภท RFA (เช่น DWG, MAT) */
rfaTypeId: number;
@@ -24,8 +24,8 @@ export interface CreateRfaDto {
/** Contract UUID (optional) */
contractId?: string; // ADR-019: Contract UUID
/** ส่งถึงใคร (สำหรับ Routing Step 1) */
toOrganizationId: number | string; // ADR-019: Accept UUID
/** ส่งถึงใคร (สำหรับ Routing Step 1) (ADR-019: UUID string only) */
toOrganizationId: string;
/** รายละเอียดเพิ่มเติม */
description?: string;
@@ -48,8 +48,8 @@ export type UpdateRfaDto = Partial<CreateRfaDto>;
// --- Search ---
export interface SearchRfaDto {
/** Filter by Project ID or UUID (optional to allow cross-project search) */
projectId?: number | string; // ADR-019: Accept UUID
/** Filter by Project UUID (ADR-019: UUID string only) */
projectId?: string;
/** กรองตามประเภท RFA */
rfaTypeId?: number;
@@ -9,12 +9,12 @@ export enum TransmittalPurpose {
// --- Create ---
export interface CreateTransmittalDto {
projectId?: number | string; // ADR-019: Accept UUID
recipientOrganizationId?: number | string; // ADR-019: Accept UUID
projectId?: string; // ADR-019: UUID string only
recipientOrganizationId?: string; // ADR-019: UUID string only
subject: string;
purpose?: string;
remarks?: string;
correspondenceId: number | string; // ADR-019: Accept UUID
correspondenceId: string; // ADR-019: UUID string only
items: CreateTransmittalItemDto[];
}
@@ -30,7 +30,7 @@ export type UpdateTransmittalDto = Partial<CreateTransmittalDto>;
// --- Search ---
export interface SearchTransmittalDto {
/** บังคับระบุ Project */
projectId: number | string; // ADR-019: Accept UUID
projectId: string; // ADR-019: UUID string only
purpose?: TransmittalPurpose;
+1 -1
View File
@@ -8,7 +8,7 @@ export interface CreateUserDto {
firstName?: string;
lastName?: string;
lineId?: string;
primaryOrganizationId?: number | string; // ADR-019: Accept UUID
primaryOrganizationId?: string; // ADR-019: UUID string only
isActive?: boolean;
}
+2 -2
View File
@@ -54,9 +54,9 @@ export interface RFA {
}
export interface CreateRFADto {
projectId: number | string; // ADR-019: Accept UUID
projectId: string; // ADR-019: UUID string only
contractId?: string; // ADR-019: Contract UUID
toOrganizationId?: number | string; // ADR-019: Recipient org UUID
toOrganizationId?: string; // ADR-019: UUID string only
rfaTypeId: number;
disciplineId?: number;
subject: string;
+5 -5
View File
@@ -30,7 +30,7 @@ export interface TransmittalItem {
export interface Transmittal {
uuid: string; // ADR-019: from correspondence.uuid
id?: number; // Excluded from API responses (ADR-019)
correspondenceId?: number | string;
correspondenceId?: string; // ADR-019: UUID string only
transmittalNo: string;
subject: string;
purpose?: TransmittalPurpose;
@@ -74,9 +74,9 @@ export interface CreateTransmittalItemDto {
* DTO for creating a transmittal
*/
export interface CreateTransmittalDto {
projectId?: number | string; // ADR-019: Accept UUID
recipientOrganizationId?: number | string; // ADR-019: Accept UUID
correspondenceId: number | string; // ADR-019: Accept UUID
projectId?: string; // ADR-019: UUID string only
recipientOrganizationId?: string; // ADR-019: UUID string only
correspondenceId: string; // ADR-019: UUID string only
subject: string;
purpose?: TransmittalPurpose;
remarks?: string;
@@ -89,6 +89,6 @@ export interface CreateTransmittalDto {
export interface SearchTransmittalDto {
page?: number;
limit?: number;
projectId?: number | string; // ADR-019: Accept UUID
projectId?: string; // ADR-019: UUID string only
search?: string;
}
+7 -8
View File
@@ -5,10 +5,9 @@ export interface Role {
}
export interface UserOrganization {
organizationId: number;
orgCode: string;
orgName: string;
orgNameTh?: string;
uuid: string; // ADR-019: Public identifier
organizationCode: string; // Matches backend Organization entity
organizationName: string; // Matches backend Organization entity
}
export interface User {
@@ -20,8 +19,8 @@ export interface User {
lastName: string;
isActive: boolean;
lineId?: string;
primaryOrganizationId?: number | string; // ADR-019: May be INT or UUID
organization?: UserOrganization;
organization?: UserOrganization; // ADR-019: use organization.uuid — never expose INT id
roles?: Role[];
// Security fields (from backend v1.5.1)
@@ -42,7 +41,7 @@ export interface CreateUserDto {
password?: string;
isActive: boolean;
lineId?: string;
primaryOrganizationId?: number | string; // ADR-019: Accept UUID
primaryOrganizationId?: string; // ADR-019: UUID string only
roleIds: number[];
}
@@ -53,5 +52,5 @@ export interface SearchUserDto {
limit?: number;
search?: string;
roleId?: number;
primaryOrganizationId?: number | string; // ADR-019: Accept UUID
primaryOrganizationId?: string; // ADR-019: UUID string only
}