export interface IResult { _id: string; name: string; logo: string; agency: IAgency; role: IRole; user: IUser; permissions: IPermissions; } export interface IAgency { _id?: string; name?: string; type?: string; licenceNo?: number; fileBox?: string; } export interface IPermissions { module: IModule[]; } export interface IModule { moduleId: string; name: string; options: IOption[]; router: string; } export interface IOption { _id: string; name: string; actions: IAction[]; options?: IOption[]; } export enum IAction { Add = 'add', Delete = 'delete', Edit = 'edit', View = 'view' } export interface IRole { agencyClient: IAgencyClient; name: string; isAdmin: boolean; type: string; } export interface IAgencyClient { _id: string; name: string; } export interface IUser { name: string; email: string; expirationDate: string; avatarUrl: string; cellPhone: string; identificationNo: string; password: string; isOwner: boolean; } export interface IClient { status: string; recordStatus: string; _id: string; filebox?: string; firstName: string; lastName: string; fullName: string; createdAt: Date; updatedAt: Date; __v: number; job?: string; imgUrl?: string; isCompany?: boolean; }