73 lines
1.9 KiB
TypeScript
73 lines
1.9 KiB
TypeScript
import type { ZombieGame } from './map-aliases.js';
|
|
|
|
export interface LaunchFileSummary {
|
|
name: string;
|
|
kind: 'script' | 'plugin' | 'config';
|
|
path: string;
|
|
versionId: number | null;
|
|
version: number | null;
|
|
sha256: string;
|
|
size: number;
|
|
}
|
|
|
|
export interface LaunchRecipeSummary {
|
|
game: ZombieGame;
|
|
mapSlug: string;
|
|
mapName: string;
|
|
expectedMap: string;
|
|
capturedAt: string;
|
|
image: string;
|
|
configFile: string;
|
|
configSource: string;
|
|
files: LaunchFileSummary[];
|
|
fingerprint: string;
|
|
}
|
|
|
|
export interface BlueprintSummary {
|
|
id: string;
|
|
name: string;
|
|
description: string;
|
|
createdAt: string;
|
|
recipe: LaunchRecipeSummary;
|
|
entries: { count: number; recipe: LaunchRecipeSummary }[];
|
|
totalServers: number;
|
|
}
|
|
|
|
export interface CollectionPreview {
|
|
id: string;
|
|
expiresAt: string;
|
|
blueprintName: string;
|
|
entries: { count: number; existing: number; missing: number; existingServers: string[]; recipe: LaunchRecipeSummary }[];
|
|
servers: { entryIndex: number; name: string | null; port: number | null; hasSavedKey: boolean }[];
|
|
blockers: string[];
|
|
ready: boolean;
|
|
}
|
|
|
|
export interface CollectionSummary {
|
|
id: string;
|
|
name: string;
|
|
created_at: string;
|
|
total: number;
|
|
done: number;
|
|
failed: number;
|
|
active: number;
|
|
}
|
|
|
|
export interface CollectionDetail {
|
|
collection: CollectionSummary;
|
|
servers: { id: string; server: string; port: number; map_slug: string; state: string; stage: string;
|
|
started_at: string; finished_at: string | null; error: string | null; server_exists: number }[];
|
|
}
|
|
|
|
export interface LaunchPreview {
|
|
id: string;
|
|
expiresAt: string;
|
|
name: string | null;
|
|
port: number | null;
|
|
hasSavedKey: boolean;
|
|
recipe: LaunchRecipeSummary;
|
|
blueprintName: string | null;
|
|
checks: { label: string; state: 'pass' | 'blocked' | 'info'; detail: string }[];
|
|
ready: boolean;
|
|
}
|