import {Dayjs} from "dayjs";
import {Invitation, InvitationType} from "./Invitation";
import {CustomSelectOptions, InvitationSelectOptions} from "../ReactComponents";

export interface AddInvitationParams {

    type: InvitationType
    visitors_emails: string[]
    title: string
    group_name: string
    message_to_visitor: string
    message_to_gate: string
    building_institute: string
    mass_title?:string
    room_no: string
    visits_dates: string[]
    visits_from: string[]
    visits_to: string[]
    behalf_user?:string
    behalf_signature?:string
}

export interface AcceptInvitationParams {
    invitation_id: number
    visitor_email: string
    visitor_firstname: string
    visitor_lastname: string
    visitor_phone: string
    personal_id: string
    vehicle_plate: string
    companions: string[]
}

export interface DeclineInvitationParams {
    invitation_id: number
    message_to_host: string
}

export interface DPassCreateForm  {
    minio_path_url: string;
    minio_path: any;
    file: any;
    visits_dates: Dayjs[],
    visits_from: Dayjs[],
    visits_to: Dayjs[],
    building_institute: string,
    building_name:string,
    institute_name:string,
    room_no: string,
    message_to_visitor: string,
    message_to_gate: string,
    visitors_emails: string[],
    title: string,
    group_name: string,
    mass_title: string,
    locale:string,
    principal_id: number,
    principal_signature_id:number,
    vehicle_allowed: boolean

}

export interface DPassGateCreateForm  {
    visits_dates: Dayjs[],
    visits_from: Dayjs[],
    visits_to: Dayjs[],
    visitors_emails: string[],
    title: string,
    visitor_firstname: string,
    visitor_lastname: string,
    personal_id: string,
    vehicle_plate: string,
    user_building_info: string,
    visitor_phone?: string,
    locale:string,
}

export interface DPassSelectOptions {
    buildings: CustomSelectOptions,
    rooms: CustomSelectOptions,
}

export interface CreateInvitationResponse {
    invitation: Invitation
    message: string
}


