251209:1453 Frontend: progress nest = UAT & Bug Fixing
This commit is contained in:
88
frontend/types/transmittal.ts
Normal file
88
frontend/types/transmittal.ts
Normal file
@@ -0,0 +1,88 @@
|
||||
// File: types/transmittal.ts
|
||||
// TypeScript interfaces for Transmittal module - aligned with backend entities
|
||||
|
||||
/**
|
||||
* Transmittal purpose enum
|
||||
*/
|
||||
export type TransmittalPurpose = 'FOR_APPROVAL' | 'FOR_INFORMATION' | 'FOR_REVIEW' | 'OTHER';
|
||||
|
||||
/**
|
||||
* Item type in a transmittal
|
||||
*/
|
||||
export type TransmittalItemType = 'DRAWING' | 'RFA' | 'CORRESPONDENCE';
|
||||
|
||||
/**
|
||||
* Transmittal item - document included in a transmittal
|
||||
*/
|
||||
export interface TransmittalItem {
|
||||
transmittalId: number;
|
||||
itemType: TransmittalItemType;
|
||||
itemId: number;
|
||||
description?: string;
|
||||
// Joined data for display
|
||||
documentNumber?: string;
|
||||
documentTitle?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Main Transmittal entity
|
||||
*/
|
||||
export interface Transmittal {
|
||||
id: number;
|
||||
correspondenceId: number;
|
||||
transmittalNo: string;
|
||||
subject: string;
|
||||
purpose?: TransmittalPurpose;
|
||||
remarks?: string;
|
||||
createdAt: string;
|
||||
// Joined relations from API
|
||||
items?: TransmittalItem[];
|
||||
correspondence?: {
|
||||
id: number;
|
||||
correspondence_number: string;
|
||||
project_id: number;
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Paginated response for transmittal list
|
||||
*/
|
||||
export interface TransmittalListResponse {
|
||||
data: Transmittal[];
|
||||
meta: {
|
||||
total: number;
|
||||
page: number;
|
||||
limit: number;
|
||||
totalPages: number;
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Item DTO for creating transmittal
|
||||
*/
|
||||
export interface CreateTransmittalItemDto {
|
||||
itemType: TransmittalItemType;
|
||||
itemId: number;
|
||||
description?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* DTO for creating a transmittal
|
||||
*/
|
||||
export interface CreateTransmittalDto {
|
||||
correspondenceId: number;
|
||||
subject: string;
|
||||
purpose?: TransmittalPurpose;
|
||||
remarks?: string;
|
||||
items: CreateTransmittalItemDto[];
|
||||
}
|
||||
|
||||
/**
|
||||
* DTO for search/filter params
|
||||
*/
|
||||
export interface SearchTransmittalDto {
|
||||
page?: number;
|
||||
limit?: number;
|
||||
projectId?: number;
|
||||
search?: string;
|
||||
}
|
||||
Reference in New Issue
Block a user