Untitled
unknown
plain_text
a year ago
2.1 kB
10
Indexable
import Joi from 'joi'; import { CoverCode } from './path-to-cover-code'; // Adjust the import path as needed const BuildingSchema = Joi.object({ city: Joi.string().required(), area: Joi.string().required(), propertyTypeCode: Joi.number().required(), buildingName: Joi.string().required(), flatVillaNo: Joi.number().required(), poBox: Joi.number().required(), numberOfFloors: Joi.number().required(), numberOfBedrooms: Joi.number().required(), latitude: Joi.number().required(), longitude: Joi.number().required(), street: Joi.string().required(), zone: Joi.string().required(), grl: Joi.string().required(), infoMapStatus: Joi.string().required(), effectiveDate: Joi.string().required(), mortgageCode: Joi.number().required(), mortgage: Joi.string().required(), }); const CoverageDetailsSchema = Joi.object({ listedItems: Joi.object({ contents: Joi.array().items( Joi.object({ coverDescription: Joi.string().required(), coverageLimit: Joi.number().required(), }) ).optional(), personalPossessions: Joi.array().items( Joi.object({ coverDescription: Joi.string().required(), coverageLimit: Joi.number().required(), }) ).optional(), }).optional(), mandatoryCovers: Joi.array().items( Joi.object({ coverCode: Joi.string().valid(CoverCode.CONTENTS, CoverCode.PERSONAL_POSESSIONS, CoverCode.BUILDING).required(), coverIncluded: Joi.boolean().optional(), coverageLimit: Joi.number().required(), coverageRange: Joi.string().optional(), }) ).required(), }).optional(); export const UpdateHomeFormSchema = Joi.object({ building: BuildingSchema, coverageDetails: CoverageDetailsSchema, }).xor('building', 'coverageDetails'); // Ensure that either 'building' or 'coverageDetails' is required, but not both
Editor is loading...
Leave a Comment