1.6 KiB
1.6 KiB
Domain Entities — Unit 3: frontend-cms-page
TypeScript Types
CmsInstanceStatus
export type CmsInstanceStatus = 'Available' | 'NotAvailable' | 'Inactive';
String union matching CmsInstanceStatus enum values serialized by the backend (Available, NotAvailable, Inactive).
CmsInstance
export interface CmsInstance {
id: string; // UUID
name: string;
url: string;
status: CmsInstanceStatus;
disableMessage: string | null;
lastContactedAt: string | null; // ISO 8601, null if never contacted
lastStatusPushedAt: string | null; // ISO 8601
lastIntegrityCheckFailedAt: string | null; // ISO 8601
}
CreateCmsInstanceRequest
export interface CreateCmsInstanceRequest {
name: string;
url: string;
apiKey: string;
}
Sent as body to POST /api/v1/CmsInstances.
UpdateCmsInstanceStatusRequest
export interface UpdateCmsInstanceStatusRequest {
status: CmsInstanceStatus;
disableMessage: string | null;
}
Sent as body to PUT /api/v1/CmsInstances/{id}/status. disableMessage is null unless status === 'NotAvailable'.
UpdateStatusResult
export interface UpdateStatusResult {
success: boolean;
slaveContactSuccess: boolean; // true = cliënt was reachable and confirmed
}
Returned by PUT /api/v1/CmsInstances/{id}/status. slaveContactSuccess drives the differentiated toast message.
File Location
All types added to src/api/types.ts.