You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
74 lines
1.9 KiB
74 lines
1.9 KiB
export interface User {
|
|
id: number;
|
|
email: string;
|
|
praepedeutikum_done: boolean;
|
|
is_admin: boolean;
|
|
}
|
|
export interface Entry {
|
|
id: number;
|
|
date: string;
|
|
hours: number;
|
|
minutes: number;
|
|
praktikums_typ: string;
|
|
entry_art: string;
|
|
distance_km: number;
|
|
beschreibung: string | null;
|
|
kosten: number | null;
|
|
start_time: string | null;
|
|
end_time: string | null;
|
|
lunch_break_minutes: number;
|
|
zaehlt_als_fortbildung: boolean;
|
|
kilometer_pauschale: number;
|
|
}
|
|
export type EntryInput = Omit<Entry, "id" | "kilometer_pauschale">;
|
|
export interface Progress {
|
|
typ: string;
|
|
art: string;
|
|
spent_minutes: number;
|
|
target_minutes: number;
|
|
remaining_minutes: number;
|
|
percent: number;
|
|
weekly_target: number;
|
|
actual_weekly: number | null;
|
|
estimated_end: string | null;
|
|
}
|
|
export interface Dashboard {
|
|
total_minutes: number;
|
|
target_minutes: number;
|
|
remaining_minutes: number;
|
|
completed_percent: number;
|
|
total_distance_km: number;
|
|
costs_by_year: {
|
|
year: number;
|
|
kilometer: number;
|
|
fortbildung: number;
|
|
selbsterfahrung: number;
|
|
supervision: number;
|
|
semester: number;
|
|
total: number;
|
|
}[];
|
|
last_entry: Entry | null;
|
|
running_entry: Entry | null;
|
|
enabled_praktikums_typen: string[];
|
|
mediation_presence_days: number;
|
|
mediation_presence_days_required: number;
|
|
progress: Progress[];
|
|
}
|
|
export interface Settings {
|
|
email: string;
|
|
total_required_hours: number;
|
|
weekly_target_hours: number;
|
|
praepedeutikum_done: boolean;
|
|
required_hours_matrix: Record<string, Record<string, number>>;
|
|
weekly_target_matrix: Record<string, Record<string, number>>;
|
|
praktikums_typen: string[];
|
|
enabled_praktikums_typen: string[];
|
|
praktikums_typ_labels: Record<string, string>;
|
|
entry_arten: string[];
|
|
entry_arten_by_typ: Record<string, string[]>;
|
|
}
|
|
export interface MileageRate {
|
|
id: number;
|
|
year: number;
|
|
rate_per_km: number;
|
|
}
|