Untitled

 avatar
unknown
plain_text
9 months ago
933 B
6
Indexable

// Define StaffDetail schema
const staffDetailSchema = Joi.object({
    name: Joi.string().required(),
    dateOfBirth: Joi.string().required(),
    id: Joi.number().required()
});

// Define OptionalCover schema with conditional validation
const updateHomeOptionalCoversSchema = Joi.object({
    coverIncluded: Joi.boolean().required(),
    coverMappingCode: Joi.string().min(3).max(11).required(),
    staffDetails: Joi.array().items(staffDetailSchema).when(Joi.object({
        coverMappingCode: Joi.string().valid('3-0-0').required(),
        coverIncluded: Joi.boolean().valid(true).required()
    }), {
        then: Joi.array().min(1).required(),
        otherwise: Joi.optional()
    })
}).unknown(true);

// Define the main schema
export const updateHomeQuoteOfferSchema = Joi.object({
    quoteOfferId: Joi.string().required().min(3),
    optionalCovers: Joi.array().items(updateHomeOptionalCoversSchema)
}).unknown(true);
Editor is loading...
Leave a Comment