Some checks are pending
Build Nginx-based docker image / build-static-assets (push) Waiting to run
54 lines
1002 B
TypeScript
54 lines
1002 B
TypeScript
/* Copyright (C) 2024-2025 LibreWeddingPlanner contributors*/
|
|
|
|
import { AttendanceSummary } from "./group";
|
|
import { Guest } from "./guest";
|
|
|
|
export interface Entity {
|
|
id?: string;
|
|
}
|
|
|
|
export type TableArrangementStatus = 'in_progress' | 'completed' | 'not_started';
|
|
|
|
export type TableArrangement = {
|
|
id: string;
|
|
number: number;
|
|
name: string;
|
|
guests?: Guest[];
|
|
discomfort?: number;
|
|
valid?: boolean;
|
|
progress: number;
|
|
status: TableArrangementStatus;
|
|
}
|
|
|
|
export type User = {
|
|
id: string;
|
|
email: string;
|
|
}
|
|
|
|
export type Captcha = {
|
|
id: string;
|
|
answer: string;
|
|
}
|
|
|
|
export type StructuredErrors = {
|
|
[key: string]: string[] | string;
|
|
};
|
|
|
|
export type GlobalSummary = {
|
|
expenses: ExpenseSummary;
|
|
guests: AttendanceSummary
|
|
}
|
|
|
|
export type ExpenseSummary = {
|
|
projected: ExpensePossibleSummary;
|
|
confirmed: ExpensePossibleSummary;
|
|
status: StatusSummary;
|
|
}
|
|
|
|
export type ExpensePossibleSummary = {
|
|
total: number;
|
|
guests: number;
|
|
}
|
|
export type StatusSummary = {
|
|
paid: number;
|
|
} |