49 lines
1.2 KiB
TypeScript
49 lines
1.2 KiB
TypeScript
import type { CommunicationViewModel } from "./communication.models";
|
|
import type { MembershipViewModel } from "./membership.models";
|
|
import type { SalutationViewModel } from "../../configuration/salutation.models";
|
|
|
|
export interface MemberViewModel {
|
|
id: string;
|
|
salutation: SalutationViewModel;
|
|
firstname: string;
|
|
lastname: string;
|
|
nameaffix: string;
|
|
birthdate: Date;
|
|
internalId?: string;
|
|
firstMembershipEntry?: MembershipViewModel;
|
|
lastMembershipEntry?: MembershipViewModel;
|
|
sendNewsletter?: CommunicationViewModel;
|
|
smsAlarming?: Array<CommunicationViewModel>;
|
|
preferredCommunication?: Array<CommunicationViewModel>;
|
|
}
|
|
|
|
export interface MemberStatisticsViewModel {
|
|
id: string;
|
|
salutation: string;
|
|
firstname: string;
|
|
lastname: string;
|
|
nameaffix: string;
|
|
birthdate: Date;
|
|
todayAge: number;
|
|
ageThisYear: number;
|
|
exactAge: string;
|
|
}
|
|
|
|
export interface CreateMemberViewModel {
|
|
salutationId: number;
|
|
firstname: string;
|
|
lastname: string;
|
|
nameaffix: string;
|
|
birthdate: Date;
|
|
internalId?: string;
|
|
}
|
|
|
|
export interface UpdateMemberViewModel {
|
|
id: string;
|
|
salutationId: number;
|
|
firstname: string;
|
|
lastname: string;
|
|
nameaffix: string;
|
|
birthdate: Date;
|
|
internalId?: string;
|
|
}
|