UNPKG

@alba-cars/common-modules

Version:

A package containing DTOs, validation classes and common modules and interfaces for Alba Cars

145 lines (144 loc) 4.36 kB
import { DateFilter, PaginationOptions } from "../../../../global"; import { Lead, User } from "../../../models"; import { MarketingData } from "../../../../core"; export declare enum SalaryType { WPS = "wps", BANK_TRANSFER = "bank_transfer", CASH = "cash", OTHER = "other" } export declare enum EmployeeCount { LESS_THAN_10 = "less_than_10", BETWEEN_10_50 = "between_10_50", MORE_THAN_50 = "more_than_50" } export declare enum YesNo { YES = "yes", NO = "no" } export declare enum EligibilityStatus { ELIGIBLE = 1, NOT_ELIGIBLE = 0 } export declare enum Status { PENDING = "pending", APPROVED = "approved", REJECTED = "rejected" } export declare class FinanceEligibilityRequestCreateDTO { vehicleId?: string; makeId?: string; modelId?: string; fullName: string; email?: string; contactNumber: string; currentSalary: number; existingLoans: YesNo; totalMonthlyInstallments: number; hasCreditScore: YesNo; totalCreditLimit: number; salaryType: SalaryType; previousDisputes: YesNo; employeeCount?: EmployeeCount; isCompanyOlderThanOneYear: boolean; hasLandline?: YesNo; documents?: string[]; marketing?: MarketingData; static fromPlain(plain: Record<string, unknown>): FinanceEligibilityRequestCreateDTO; toPlain(): Record<string, unknown>; } export declare class FinanceEligibilityRequestUpdateDTO { vehicleId?: string; makeId?: string; modelId?: string; fullName?: string; email?: string; contactNumber?: string; currentSalary?: number; existingLoans?: YesNo; totalMonthlyInstallments?: number; hasCreditScore?: YesNo; totalCreditLimit?: number; salaryType?: SalaryType; previousDisputes?: YesNo; employeeCount?: EmployeeCount; isCompanyOlderThanOneYear?: boolean; hasLandline?: YesNo; eligibility?: EligibilityStatus; documents?: string[]; status?: "pending" | "approved" | "rejected"; rejectionReason?: string; static fromPlain(plain: Record<string, unknown>): FinanceEligibilityRequestUpdateDTO; toPlain(): Record<string, unknown>; } export declare class FinanceEligibilityRequestResponseDTO { id: string; vehicleId?: string; vehicle?: { id: string; make: string; model: string; year: number; }; makeId?: string; modelId?: string; make?: { id: string; name: string; }; model?: { id: string; name: string; }; fullName: string; email?: string; contactNumber: string; currentSalary: number; existingLoans: YesNo; totalMonthlyInstallments: number; hasCreditScore: YesNo; totalCreditLimit: number; salaryType: SalaryType; previousDisputes: YesNo; employeeCount: EmployeeCount; isCompanyOlderThanOneYear: boolean; hasLandline: YesNo; documents: string[]; eligibility: EligibilityStatus; user?: User; lead?: Lead; status: Status; rejectionReason?: string; marketing?: MarketingData; createdAt: Date; updatedAt: Date; static fromPlain(plain: Record<string, unknown>): FinanceEligibilityRequestResponseDTO; toPlain(): Record<string, unknown>; } export declare class FinanceEligibilityFilterDTO { search?: string; vehicleId?: string; leadId?: string; eligibility?: EligibilityStatus; salaryType?: SalaryType; isActive?: boolean; createdAt?: DateFilter; marketing?: MarketingData; static fromPlain(plain: Record<string, unknown>): FinanceEligibilityFilterDTO; toPlain(): Record<string, unknown>; } export declare class FinanceEligibilityOptionsDTO extends PaginationOptions { sort?: { field: string; direction: "asc" | "desc"; }; static fromPlain(plain: Record<string, unknown>): FinanceEligibilityFilterDTO; toPlain(): Record<string, unknown>; } export declare class FinanceEligibilityFetchDTO { filter: FinanceEligibilityFilterDTO; options: FinanceEligibilityOptionsDTO; validate(): string[]; static fromPlain(plain: Record<string, unknown>): FinanceEligibilityFetchDTO; toPlain(): Record<string, unknown>; }