Compare commits
1 Commits
dev
...
experiment
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9a73d95598 |
@ -1,3 +1,5 @@
|
||||
import { MAX_FRANCHISE, MAX_LEASING_PERIOD } from 'constants/values';
|
||||
import dayjs from 'dayjs';
|
||||
import { z } from 'zod';
|
||||
|
||||
const ValuesSchema = z.object({
|
||||
@ -8,65 +10,65 @@ const ValuesSchema = z.object({
|
||||
product: z.string().nullable(),
|
||||
clientRisk: z.string().nullable(),
|
||||
clientType: z.string().nullable(),
|
||||
leaseObjectPrice: z.number(),
|
||||
leaseObjectPrice: z.number().min(0).max(1_000_000_000),
|
||||
supplierCurrency: z.string().nullable(),
|
||||
supplierDiscountRub: z.number(),
|
||||
supplierDiscountPerc: z.number(),
|
||||
leasingPeriod: z.number(),
|
||||
firstPaymentPerc: z.number(),
|
||||
firstPaymentRub: z.number(),
|
||||
lastPaymentPerc: z.number(),
|
||||
lastPaymentRub: z.number(),
|
||||
supplierDiscountRub: z.number().min(0).max(1_000_000_000),
|
||||
supplierDiscountPerc: z.number().min(0).max(100),
|
||||
leasingPeriod: z.number().min(13).max(MAX_LEASING_PERIOD),
|
||||
firstPaymentPerc: z.number().min(0).max(50),
|
||||
firstPaymentRub: z.number().min(0).max(1_000_000_000),
|
||||
lastPaymentPerc: z.number().min(0).max(70),
|
||||
lastPaymentRub: z.number().min(0).max(1_000_000_000),
|
||||
lastPaymentRule: z.number().nullable(),
|
||||
importProgram: z.string().nullable(),
|
||||
importProgramSum: z.number(),
|
||||
addEquipmentPrice: z.number(),
|
||||
redemptionPaymentSum: z.number(),
|
||||
importProgramSum: z.number().min(0),
|
||||
addEquipmentPrice: z.number().min(0),
|
||||
redemptionPaymentSum: z.number().min(1000).max(2000),
|
||||
balanceHolder: z.number().nullable(),
|
||||
graphType: z.number().nullable(),
|
||||
parmentsDecreasePercent: z.number(),
|
||||
parmentsDecreasePercent: z.number().min(50).max(99),
|
||||
seasonType: z.number().nullable(),
|
||||
highSeasonStart: z.number().nullable(),
|
||||
comissionPerc: z.number(),
|
||||
comissionRub: z.number(),
|
||||
saleBonus: z.number(),
|
||||
IRR_Perc: z.number(),
|
||||
comissionPerc: z.number().min(0).max(100),
|
||||
comissionRub: z.number().min(0).max(1_000_000_000),
|
||||
saleBonus: z.number().min(0),
|
||||
IRR_Perc: z.number().min(0).max(500),
|
||||
leaseObjectType: z.string().nullable(),
|
||||
deliveryTime: z.number().nullable(),
|
||||
leaseObjectCount: z.number(),
|
||||
leaseObjectCount: z.number().min(1).max(1000),
|
||||
withTrailer: z.boolean(),
|
||||
leaseObjectUsed: z.boolean(),
|
||||
maxMass: z.number(),
|
||||
countSeats: z.number(),
|
||||
maxSpeed: z.number(),
|
||||
maxMass: z.number().min(0).max(999_999),
|
||||
countSeats: z.number().min(0).max(2000),
|
||||
maxSpeed: z.number().min(0).max(2000),
|
||||
brand: z.string().nullable(),
|
||||
model: z.string().nullable(),
|
||||
configuration: z.string().nullable(),
|
||||
leaseObjectYear: z.number(),
|
||||
leaseObjectYear: z.number().min(1994).max(dayjs().year()),
|
||||
engineType: z.number().nullable(),
|
||||
leaseObjectCategory: z.number().nullable(),
|
||||
leaseObjectMotorPower: z.number(),
|
||||
engineVolume: z.number(),
|
||||
leaseObjectMotorPower: z.number().min(0).max(20_000),
|
||||
engineVolume: z.number().min(0).max(99.9999),
|
||||
leaseObjectUseFor: z.number().nullable(),
|
||||
dealer: z.string().nullable(),
|
||||
dealerPerson: z.string().nullable(),
|
||||
dealerRewardCondition: z.string().nullable(),
|
||||
dealerRewardSumm: z.number(),
|
||||
dealerRewardSumm: z.number().min(0).max(20),
|
||||
dealerBroker: z.string().nullable(),
|
||||
dealerBrokerRewardCondition: z.string().nullable(),
|
||||
dealerBrokerRewardSumm: z.number(),
|
||||
dealerBrokerRewardSumm: z.number().min(0).max(20),
|
||||
indAgent: z.string().nullable(),
|
||||
indAgentRewardCondition: z.string().nullable(),
|
||||
indAgentRewardSumm: z.number(),
|
||||
indAgentRewardSumm: z.number().min(0).max(20),
|
||||
calcDoubleAgent: z.string().nullable(),
|
||||
calcDoubleAgentRewardCondition: z.string().nullable(),
|
||||
calcDoubleAgentRewardSumm: z.number(),
|
||||
calcDoubleAgentRewardSumm: z.number().min(0).max(20),
|
||||
calcBroker: z.string().nullable(),
|
||||
calcBrokerRewardCondition: z.string().nullable(),
|
||||
calcBrokerRewardSum: z.number(),
|
||||
calcBrokerRewardSum: z.number().min(0).max(20),
|
||||
calcFinDepartment: z.string().nullable(),
|
||||
finDepartmentRewardCondtion: z.string().nullable(),
|
||||
finDepartmentRewardSumm: z.number(),
|
||||
finDepartmentRewardSumm: z.number().min(0).max(20),
|
||||
GPSBrand: z.string().nullable(),
|
||||
GPSModel: z.string().nullable(),
|
||||
regionRegistration: z.string().nullable(),
|
||||
@ -74,7 +76,7 @@ const ValuesSchema = z.object({
|
||||
infuranceOPF: z.number().nullable(),
|
||||
insKaskoType: z.number().nullable(),
|
||||
insDecentral: z.boolean(),
|
||||
insFranchise: z.number(),
|
||||
insFranchise: z.number().min(0).max(MAX_FRANCHISE),
|
||||
insUnlimitDrivers: z.boolean(),
|
||||
insAgeDrivers: z.number(),
|
||||
insExpDrivers: z.number(),
|
||||
@ -92,26 +94,26 @@ const ValuesSchema = z.object({
|
||||
quoteRedemptionGraph: z.boolean(),
|
||||
showFinGAP: z.boolean(),
|
||||
tarif: z.string().nullable(),
|
||||
creditRate: z.number(),
|
||||
creditRate: z.number().min(0).max(99.99),
|
||||
rate: z.string().nullable(),
|
||||
requirementTelematic: z.number().nullable(),
|
||||
minPriceChange: z.number(),
|
||||
maxPriceChange: z.number(),
|
||||
importerRewardPerc: z.number(),
|
||||
importerRewardRub: z.number(),
|
||||
minPriceChange: z.number().min(0).max(34_999_990),
|
||||
maxPriceChange: z.number().min(0).max(34_999_990),
|
||||
importerRewardPerc: z.number().min(0).max(99.99),
|
||||
importerRewardRub: z.number().min(0).max(1_000_000_000),
|
||||
disableChecks: z.boolean(),
|
||||
registration: z.string().nullable(),
|
||||
insNSIB: z.string().nullable(),
|
||||
technicalCard: z.string().nullable(),
|
||||
telematic: z.string().nullable(),
|
||||
tracker: z.string().nullable(),
|
||||
mileage: z.number(),
|
||||
mileage: z.number().min(0),
|
||||
calcType: z.number().nullable(),
|
||||
totalPayments: z.number(),
|
||||
totalPayments: z.number().min(0),
|
||||
objectRegistration: z.number().nullable(),
|
||||
objectRegionRegistration: z.string().nullable(),
|
||||
vehicleTaxInYear: z.number(),
|
||||
vehicleTaxInLeasingPeriod: z.number(),
|
||||
vehicleTaxInYear: z.number().min(0).max(9_999_999),
|
||||
vehicleTaxInLeasingPeriod: z.number().min(0).max(9_999_999),
|
||||
objectCategoryTax: z.number().nullable(),
|
||||
objectTypeTax: z.number().nullable(),
|
||||
typePTS: z.number().nullable(),
|
||||
@ -119,9 +121,9 @@ const ValuesSchema = z.object({
|
||||
legalClientTown: z.string().nullable(),
|
||||
subsidy: z.string().nullable(),
|
||||
fuelCard: z.string().nullable(),
|
||||
leaseObjectPriceWthtVAT: z.number(),
|
||||
VATInLeaseObjectPrice: z.number(),
|
||||
engineHours: z.number(),
|
||||
leaseObjectPriceWthtVAT: z.number().min(0).max(1_000_000_000),
|
||||
VATInLeaseObjectPrice: z.number().min(0).max(1_000_000_000),
|
||||
engineHours: z.number().min(0).max(10),
|
||||
bonusCoefficient: z.number(),
|
||||
|
||||
/** Link Values */
|
||||
@ -132,11 +134,11 @@ const ValuesSchema = z.object({
|
||||
|
||||
/** Readonly Values */
|
||||
leaseObjectRiskName: z.string().nullable(),
|
||||
insKaskoPriceLeasePeriod: z.number(),
|
||||
insKaskoPriceLeasePeriod: z.number().min(0),
|
||||
irrInfo: z.string().nullable(),
|
||||
registrationDescription: z.string().nullable(),
|
||||
depreciationGroup: z.string().nullable(),
|
||||
subsidySum: z.number(),
|
||||
subsidySum: z.number().min(0),
|
||||
plPriceRub: z.number(),
|
||||
discountRub: z.number(),
|
||||
});
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user