Files
GoMembership/frontend/src/app.d.ts
2025-03-02 23:12:10 +01:00

94 lines
1.9 KiB
TypeScript

// See https://kit.svelte.dev/docs/types#app
interface Subscription {
id: number | -1;
name: string | '';
details: string | '';
conditions: string | '';
monthly_fee: number | 0;
hourly_rate: number | 0;
included_hours_per_year: number | 0;
included_hours_per_month: number | 0;
}
interface Membership {
id: number | -1;
status: number | -1;
start_date: string | '';
end_date: string | '';
parent_member_id: number | -1;
subscription_model: Subscription;
}
interface BankAccount {
id: number | -1;
mandate_date_signed: string | '';
bank: string | '';
account_holder_name: string | '';
iban: string | '';
bic: string | '';
mandate_reference: string | '';
}
interface Licence {
id: number | -1;
status: number | -1;
number: string | '';
issued_date: string | '';
expiration_date: string | '';
country: string | '';
categories: LicenceCategory[];
}
interface LicenceCategory {
id: number | -1;
category: string | '';
}
interface User {
email: string | '';
first_name: string | '';
last_name: string | '';
password: string | '';
phone: string | '';
notes: string | '';
address: string | '';
zip_code: string | '';
city: string | '';
status: number | -1;
id: number | -1;
role_id: number | -1;
dateofbirth: string | '';
company: string | '';
profile_picture: string | '';
payment_status: number | -1;
membership: Membership;
bank_account: BankAccount;
licence: Licence;
notes: string | '';
}
declare global {
namespace App {
// interface Error {}
interface Locals {
user: User;
users: User[];
subscriptions: Subscription[];
licence_categories: LicenceCategory[];
}
interface Types {
licenceCategory: LicenceCategory;
subscription: Subscription;
membership: Membership;
licence: Licence;
licenceCategory: LicenceCategory;
bankAccount: BankAccount;
}
// interface PageData {}
// interface Platform {}
}
}
export {};