@alba-cars/common-modules
Version:
A package containing DTOs, validation classes and common modules and interfaces for Alba Cars
205 lines (204 loc) • 6.36 kB
TypeScript
import { UserCreateDTO, UserGetDTO, UserUpdateDTO } from "../../../auth";
export declare enum Designation {
SALES_MANAGER = "sales-manager",
SALES_EXECUTIVE = "sales-executive",
CO_FOUNDER = "co-founder",
CHIEF_SALES_OFFICER = "chief sales officer",
CHIEF_PURCHASING_OFFICER = "Chief Purchasing Officer",
PURCHASE_MANAGER = "Purchase Manager",
PURCHASER = "Purchaser",
FINANCE_MANAGER = "Finance Manager",
HEAD_OF_ACCOUNTS = "Head of Accounts",
CHIEF_MARKETING_OFFICER = "Chief Marketing Officer",
MARKETING_MANAGER = "Marketing Manager",
AFTERCARE_DIRECTOR = "Aftercare Director",
SALES_COORDINATOR = "sales-coordinator",
AFTERCARE = "aftercare",
DIRECTOR_OF_TECHNOLOGY = "Director of Technology",
PURCHASE_EXECUTIVE = "Purchase Executive",
RELATIONSHIP_MANAGER = "Relationship Manager",
SALES_CONTROLLER = "Sales Controller",
LOGISTICS_MANAGER = "Logistics Manager",
MARKETING_OPERATIONS_MANAGER = "Marketing Operations Manager",
CALL_CENTER_MANAGER = "Call Center Manager",
TEAM_LEADER = "Team Leader",
BUSINESS_OPERATIONS_MANAGER = "Business Operations Manager",
BUSINESS_RELATIONSHIP_MANAGER = "Business Relationship Manager",
SENIOR_PURCHASE_EXECUTIVE = "Senior Purchase Executive",
F_I_TEAM_LEADER = "F & I Team Leader",
F_I_COORDINATOR = "F & I Coordinator",
HANDOVER_FINANCE_SPECIALIST = "Handover & Finance Specialist",
FINANCE_INSURANCE_COORDINATOR = "Finance & Insurance Coordinator",
FINANCE_INSURANCE_TEAM_LEADER = "Finance & Insurance Team Leader",
CUSTOMER_CARE_SPECIALIST = "Customer Care Specialist",
AFTER_SALES_COORDINATOR = "After Sales Coordinator"
}
export declare enum TeamCategory {
SALES = "sales",
MANAGEMENT = "management",
PURCHASES = "purchases",
SALES_COORDINATOR = "sales-coordinator",
AFTERCARE = "aftercare"
}
export declare enum Languages {
ARABIC = "Arabic",
AFRIKAANS = "Afrikaans",
PERSIAN = "Persian",
TURKISH = "Turkish",
HEBREW = "Hebrew",
HINDI = "Hindi",
URDU = "Urdu",
BENGALI = "Bengali",
PUNJABI = "Punjabi",
MALAYALAM = "Malayalam",
TAMIL = "Tamil",
TELUGU = "Telugu",
SINHALESE = "Sinhalese",
MANDARIN = "Mandarin",
CANTONESE = "Cantonese",
KOREAN = "Korean",
JAPANESE = "Japanese",
VIETNAMESE = "Vietnamese",
THAI = "Thai",
TAGALOG = "Tagalog",
FILIPINO = "Filipino",
INDONESIAN = "Indonesian",
MALAY = "Malay",
ENGLISH = "English",
FRENCH = "French",
GERMAN = "German",
SPANISH = "Spanish",
ITALIAN = "Italian",
RUSSIAN = "Russian",
PORTUGUESE = "Portuguese",
SWAHILI = "Swahili",
AMHARIC = "Amharic",
SOMALI = "Somali",
ROMANIAN = "Romanian",
SWEDISH = "Swedish"
}
export declare class SalesAgentFilterDTO {
search?: string;
name?: string;
email?: string;
phone?: string;
status?: number;
teamCategory?: TeamCategory;
designation?: Designation;
sortOrder?: number;
languages?: Languages[];
isActive?: boolean;
createdAtStart?: Date;
createdAtEnd?: Date;
lastLoginStart?: Date;
lastLoginEnd?: Date;
nationality?: string;
previousWorkplace?: string;
validate(): string[];
static fromPlain(plain: Record<string, unknown>): SalesAgentFilterDTO;
toPlain(): Record<string, unknown>;
}
export declare class SalesAgentOptionsDTO {
page?: number;
limit?: number;
sortBy?: string;
sortOrder?: "ASC" | "DESC";
includeInactive?: boolean;
searchQuery?: string;
validate(): string[];
static fromPlain(plain: Record<string, unknown>): SalesAgentOptionsDTO;
toPlain(): Record<string, unknown>;
}
export declare class SalesAgentGetDTO {
id: string;
refId: number;
user: UserGetDTO;
name: string;
phone: string;
email: string;
photo?: string;
agentShortIntro?: string;
agentIntro?: string;
sortOrder?: number;
bioVideoUrl?: string;
status: number;
teamCategory: TeamCategory;
designation: Designation;
languages: Languages[];
filter?: SalesAgentFilterDTO;
options?: SalesAgentOptionsDTO;
nationality?: string;
previousWorkplace?: string;
static fromPlain(plain: Record<string, unknown>): SalesAgentGetDTO;
static toPlain(instance: SalesAgentGetDTO): Record<string, unknown>;
toPlain(): Record<string, unknown>;
}
export declare class SalesAgentResponseDTO {
id: string;
refId: number;
user: UserGetDTO;
name: string;
phone: string;
email: string;
photo?: string;
agentShortIntro?: string;
agentIntro?: string;
bioVideoUrl?: string;
status: number;
sortOrder?: number;
teamCategory: TeamCategory;
designation: Designation;
languages: Languages[];
isActive: boolean;
createdAt: Date;
updatedAt: Date;
lastLogin?: Date;
nationality?: string;
previousWorkplace?: string;
validate(): string[];
static fromPlain(plain: Record<string, unknown>): SalesAgentResponseDTO;
toPlain(): Record<string, unknown>;
}
export declare class SalesAgentCreateDTO {
name: string;
phone?: string;
email: string;
sortOrder?: number;
photo?: string;
agentShortIntro?: string;
agentIntro?: string;
bioVideoUrl?: string;
status?: number;
teamCategory: TeamCategory;
designation: Designation;
languages: Languages[];
nationality?: string;
previousWorkplace?: string;
validate(): string[];
toUserDTO(): UserCreateDTO;
toSalesAgentData(): Partial<any>;
static fromPlain(plain: Record<string, unknown>): SalesAgentCreateDTO;
toPlain(): Record<string, unknown>;
}
export declare class SalesAgentUpdateDTO {
name?: string;
phone?: string;
email?: string;
photo?: string;
agentShortIntro?: string;
sortOrder?: number;
agentIntro?: string;
bioVideoUrl?: string;
status?: number;
teamCategory?: TeamCategory;
designation?: Designation;
languages?: Languages[];
isActive?: boolean;
nationality?: string;
previousWorkplace?: string;
validate(): string[];
toUserDTO(): UserUpdateDTO;
toSalesAgentData(): Partial<any>;
static fromPlain(plain: Record<string, unknown>): SalesAgentUpdateDTO;
toPlain(): Record<string, unknown>;
}