import {FilterStatusType} from "../ReactComponents";
import {GetRequestParams} from "../Axios";
import {Order} from "../../components/UI/DuaList/ListHeader/ListHead";

export interface AccountRequest {

    afm:string
    created_at: any;
    id: number
    title: string
    type: AccountRequestType
    username: string
    status: AccountRequestStatus
    firstname_el: string
    lastname_el: string
    firstname_en: string
    lastname_en: string
    personal_email: string
    mobile_phone: string
    lab: string
    scientific_supervisor: string
    partner: string
    work_relation: 'ΕΚΤΑΚΤΟ'
    collaboration_type: 'contract' | 'scholarship' | 'thesis' | 'apprenticeship' | 'other'
    office: string
    office_phone: string
    notes: string
    operator_dua_id: number
    unit?: string
    research_group: string
    department: string
    comments: string
    ydep_email?: string

}

export interface AccountRequestStatus {
    new_name: string
    description: string
    id: number
    name: AccountRequestStatusName
    view_name: string
    view_name_el: string
    view_name_plural: string
    type: FilterStatusType
    ui_type: FilterStatusType
}

export interface AccountRequestType {
    new_name: string
    description: string
    id: number
    name: 'new_account' | 'confirmation' | 'remove_account' | 'new_account_dua'
    view_name: string
    view_name_plural: string
    ui_type: FilterStatusType
}

export type AccountRequestStatusName  =  'pending' | 'email_sent' | 'completed' | 'in_Error' | 'cancelled'

export interface GetAccountRequestsParams extends GetRequestParams {
    order:Order,
    order_by: string
    types: string[],
    status: string,
    search: string
}

