oralify-backend
Version:
Express Node CRUD backend for Oralify
59 lines (55 loc) • 1.78 kB
text/typescript
import {ServiceMapType, SpecialityKey} from './serviceType';
import {AppointmentType, ServiceAvailability} from './availabilityExpertTypes';
export enum Gender {
Male = 'Male',
Female = 'Female',
}
export enum RoleKey {
Admin = 'Admin',
Expert = 'Expert',
Curious = 'Curious',
}
export type UserType = {
id?: string;
auth_id?: string;
phone?: string;
creation_date?: Date;
birthday?: Date;
name?: string;
reviews?: number; // TODO change to Review type
sex?: Gender;
languages?: string[]; //TODO LangKey Enum array
exp?: number /** TODO change to score*/;
headline?: string;
education?: string;
company?: string;
job?: string;
username?: string;
avatar?: string;
email?: string;
services?: ServiceMapType; //ServiceType[]; //;
appointments?: AppointmentType[];
availability?: ServiceAvailability[] /**@deprecated*/;
speciality?: SpecialityKey;
role?: RoleKey;
is_connected?: boolean; //online now
email_verified?: boolean;
phone_verified?: boolean;
};
/** Roles*/
export const roleMap = {
curious: {
icon: 'lightbulb',
img: 'https://img.freepik.com/free-vector/features-overview-concept-illustration_114360-1500.jpg?w=1480&t=st=1694564247~exp=1694564847~hmac=8a75a679ff6dca14ba1699dd62c30245a8955c786ab877acb77d6b56b6b6c03c',
name: 'Curioso',
subtitle: 'Resuelve tus dudas personalizadas',
key: 'curious',
},
specialist: {
icon: 'account-star',
img: 'https://img.freepik.com/free-vector/product-quality-concept-illustration_114360-7301.jpg?w=1480&t=st=1694564209~exp=1694564809~hmac=6ffea3cf34f3a5463a230a54b87acaa4a569710694e138944f0268d0f596d735',
name: 'Experto',
subtitle: 'Empieza a monetizar tus conocimientos cómo y cuando quieras',
key: 'specialist',
},
};