I have two Joi schema like below:
const updateProfile: {
body: ObjectSchema;
} = {
body: Joi.object().keys({
dob: JoiDate.date()
.format('MM/DD/YYYY')
.max(new Date())
.required()
.default('01/30/2022'),
genderId: Joi.number().integer().required(),
weightLbs: Joi.number().required(),
heightIn: Joi.number().required(),
...
}),
};
const updateUser: {
body: ObjectSchema;
} = {
body: Joi.object().keys({
firstName: Joi.string(),
lastName: Joi.string(),
profile: updateProfile
}),
};
const updateUserSchema = j2s(updateUser.body).swagger;
The generated Swagger schema contains an extra `body, is there any way to remove it?
Removing body
from updateProfile
fixed my problem:
const updateProfile: ObjectSchema = Joi.object().keys({
dob: JoiDate.date()
.format('MM/DD/YYYY')
.raw()
.max(new Date())
.required()
.default('01/30/2022'),
genderId: Joi.number().integer().required(),
weightLbs: Joi.number().required(),
heightIn: Joi.number().required(),
...
});