UNPKG

oralify-common

Version:
102 lines (101 loc) 2.54 kB
import { ServiceType, SpecialityKey } from './serviceType'; import { AppointmentType, AvailabilitySettingsType } from './availabilityExpertTypes'; import { LanguageKey } from './languageTypes'; export declare enum Gender { Male = "Male", Female = "Female" } export declare enum RoleKey { Admin = "Admin", Expert = "Expert", Curious = "Curious" } export type CompanyType = { id?: string; specialityKey?: SpecialityKey; keywords?: string[]; description?: string; location?: string; web?: string; color?: string; icon?: string; img?: string; name: string; position?: string; }; export type UserConciseType = { id?: string; nameShort?: string; job?: string; avatar?: string; is_connected?: boolean; avgReview?: number; nReviews?: number; isVerified?: boolean; }; export type UserBackendType = UserConciseType & { username?: string; name?: string; phone?: string; creation_date?: Date | string; birthday?: Date | string; sex?: Gender; languages?: LanguageKey[]; score?: number; headline?: string; education?: string; email?: string; role?: RoleKey; email_verified?: boolean; phone_verified?: boolean; provider?: 'phone' | 'password' | 'google.com'; last_sign_in?: string; speciality?: SpecialityKey[]; }; /** 1 - user*/ /** 2 - availability []*/ /** 3 - services[] */ /** 4 - for each => backend generates timeSlots[] */ /** User type to frontend to generate the whole users*/ export type UserType = UserBackendType & { services?: ServiceType[]; reviews?: number | ReviewType[]; highlights?: CompanyType; notifications?: AppointmentType[]; availabilityexpert?: AvailabilitySettingsType[]; history?: AppointmentType[]; }; export type ShownUserType = UserConciseType & { services?: ServiceType[]; availabilityexpert?: AvailabilitySettingsType[]; }; export type ReviewType = { id?: string; curiousId: string; review: number; serviceId: string; comment?: string; expertId: string; date: Date; }; export type ShownReviewType = ReviewType & { curiousUser: UserConciseType; service: ServiceType; }; /** Roles*/ export declare const roleMap: { Curious: { icon: string; img: string; name: string; subtitle: string; key: RoleKey; }; Expert: { icon: string; img: string; name: string; subtitle: string; key: RoleKey; }; };