zoriakinc-messaging
Version:
Angular Messaging Module
101 lines (100 loc) • 2.24 kB
TypeScript
export interface ILink {
link: string | string[];
icon?: string;
text: string;
permitted_roles: string[];
childs?: ILink[];
}
export interface StaffAuthResponse {
user_data: StaffData;
user_role: any;
token: string;
}
export interface DonorAuthResponse {
user_data: Donor;
token: string;
}
export interface Donor {
id: number;
public_id: number;
user: any;
user_id: number;
first_name: string;
last_name: string;
display_name: string;
created_at: string;
updated_at: string;
email: string;
birth_date: string;
gender: string;
phone: string;
address: string;
status: string;
blood_test_results: any[];
clinic_details: Clinic;
nurse_details: any;
doctor_details: any;
assistant_details: any;
unread_messages_count: number;
avatar: any;
organ: any;
notes: any[];
blood_test_status: any;
days: number;
days_since_triggers?: DaysSinceTrigger[];
}
export interface StaffData {
first_name: string;
last_name: string;
user_id: number;
email: string;
clinics_details: Clinic[];
avatar: any;
display_name: string;
}
export interface Clinic {
name: string;
address: string;
phone: string;
}
export interface AuthObject {
apiBaseUrl: string;
userGroup: string;
}
export interface Doctor extends StaffData {
}
export interface Nurse extends StaffData {
}
export interface Assistant extends StaffData {
}
export interface ServerMessage {
id: number;
content: string;
created_at: Date;
sender?: any;
sender_user_id?: number;
recipient?: any;
recipient_user_id?: number;
clinic?: any;
is_donor_message?: boolean;
sender_display_name?: string;
}
export interface PreviewMessage {
id: number;
content: string;
created_at: Date;
is_self_message: boolean;
sender_display_name?: string;
}
export interface DaysSinceTrigger {
created_at: Date;
donor_id: string;
creator_display_name: string;
required_days_since: number;
is_greater_days_included: boolean;
required_blood_test_status: string;
content: string;
start_date: string;
end_date: string;
frequency: string;
}