directus-extension-generate.../src/lib/types.ts

116 lines
2.3 KiB
TypeScript
Raw Normal View History

export interface Preset {
key: string;
format?: string;
quality?: number | string;
width?: number | string;
height?: number | string;
fit?: string;
withoutEnlargement?: boolean;
focal_point_x?: number | string | null;
focal_point_y?: number | string | null;
transforms?: unknown[];
[key: string]: unknown;
}
export interface WarmResultItem {
key: string;
format: string | null;
ok: boolean;
ms: number;
cached?: boolean;
error?: string;
}
export interface WarmSummary {
requested: number;
ok: number;
failed: number;
results: WarmResultItem[];
}
export interface CompletedRecord {
file_id: string;
preset_key: string;
format: string | null;
ts: number;
}
export type FailureEventType = 'failed' | 'retry' | 'recovered';
export type FailureStatus = 'failed' | 'recovered' | 'retry';
export interface FailureEvent {
type: FailureEventType;
ts: number;
file_id: string;
preset_key: string;
format: string | null;
attempt: number;
next_retry_at?: number | null;
error?: string;
ms?: number;
}
export interface FailureRecord {
file_id: string;
preset_key: string;
format: string | null;
attempts: number;
status: FailureStatus;
first_failed_at: number;
last_failed_at: number;
next_retry_at: number | null;
error: string | null;
ms: number | null;
}
export interface FailureListQuery {
status?: FailureStatus | null;
limit: number;
offset: number;
}
export interface FailureListResult {
records: FailureRecord[];
total: number;
limit: number;
offset: number;
}
export interface FailureFileMeta {
filename_download?: string | null;
type?: string | null;
folder?: string | null;
}
export interface FailureEnrichedRecord extends FailureRecord {
file: {
filename_download: string | null;
type: string | null;
folder: string | null;
};
first_failed_at_iso: string | null;
first_failed_at_human: string;
last_failed_at_iso: string | null;
last_failed_at_human: string;
next_retry_at_iso: string | null;
next_retry_at_human: string | null;
ms_human: string | null;
}
export interface RunState {
running: boolean;
startedAt: number | null;
finishedAt: number | null;
total: number;
done: number;
generated: number;
hits: number;
failed: number;
rate: number;
eta: number | null;
cancelled: boolean;
paused?: boolean;
error?: string;
}