import { ControlsOf } from '@/shared/forms/form-validations'; export interface Session { access_unixtime: number; expire_unixtime: number; } export interface Login extends Session { token: string; } export type UserData = | { name: string; lastname1: string; lastname2: string; fullname: string; type_id: 1 | 2; type: 'Frontdesk' | 'Staff'; } | { fullname: string; email: string; phone: string; adviser: string; people: number; type_id: 3; type: 'User'; will_attend: true; the_event: TheEvent; qr_base64: string; } | { fullname: string; email: string; phone: string; adviser: string; people: number; type_id: 3; type: 'User'; will_attend: false; }; export interface TheEvent { place: string; date: string; time: string; } export interface LoginCredentials { email: string | null; } export interface SignupCredentials { name: string | null; email: string | null; acceptTerms: boolean; } export type LoginForm = ControlsOf; export type SignupForm = ControlsOf; export interface ScannedUser { first_access: 0 | 1; last_access_unixtime: number; unixtime: number; fullname: string; company: string; country_code: string; qrcodedata: string; } export interface SearchedUser { name: string; company: string; email: string; initial_survey_filled: boolean; by_staff: boolean; qrcodedata: string; } export interface CreateUser { name: string | null; lastname1: string | null; lastname2: string | null; email: string | null; emailc: string | null; phone: string | null; mexico_state_id: number | null; other1: string | null; other2: string | null; } export type CreateUserForm = ControlsOf; export type CreatedUser = Partial & { id: number };