import Joi, { Schema as JoiSchema } from 'joi';
const productValidationSchema: JoiSchema = Joi.object<IProduct>({
productName: Joi.string().required(),
productImage: Joi.string().required(),
productWeight: Joi.number().required(),
weightUnit: Joi.string().valid('ml', 'g', 'kg').required(),
numberOfPack: Joi.string().valid('1', '3', '5', '10', '20').required(),
attachment: Joi.string().valid('with beef', 'with chicken', 'with asssorted meat').required(),
proteinLevel: Joi.string().valid('beef', 'chicken', 'turkey', 'vegan').required(),
consumerPrice: Joi.number().required(),
veganPrice: Joi.number().required(),
subscriptionPrice: Joi.number().required(),
spiceLevel: Joi.string().valid('mild', 'medium', 'hot', 'very hot', 'spicy', 'medium-stewn spicy', 'non spicy').required(),
categories: Joi.string().valid(
'suya', 'jollof rice', 'red beans', 'organic drink', 'peppered tilapia whole', 'stew', 'yam', 'millet balls',
'granola', 'soup', 'african donut mix', 'peanut butter', 'corn'
).required(),
subCategories: Joi.string().when('categories', {
is: 'suya',
then: Joi.string().valid(
'CHICKEN SKEWER', 'TILAPIA SKEWERS', 'BEEF SKEWERS', 'CHICKEN WINGS SKEWERS',
'CHICKEN SUYA', 'CATFISH SUYA', 'SUYA SPICE 200g', 'SUYA SPICE 125g', 'SUYA PASTE'
).required(),
}).when('categories', {
is: 'jollof rice',
then: Joi.string().valid('JOLLOF RICE', 'JOLLOF RICE MIX').required(),
}).when('categories', {
is: 'red beans',
then: Joi.string().valid('RED BEANS (EWA)', 'MOI MOI (BEAN CAKE)', 'BEAN FRITTERS (AKARA)').required(),
}).when('categories', {
is: 'pepper soup',
then: Joi.string().valid('GOAT MEAT', 'CATFISH', 'ASSORTED MEAT', 'PEPPER SOUP MIX').required(),
}).when('categories', {
is: 'organic drink',
then: Joi.string().valid('ARISE RED', 'REVIVE ORANGE', 'PERFORM GREEN').required(),
}).when('categories', {
is: 'peppered tilapia whole',
then: Joi.string().valid('600g', '850g').required(),
}).when('categories', {
is: 'stew',
then: Joi.string().valid('BEEF STEW', 'CHICKEN STEW', 'AYAMASHE GREEN', 'AYAMASHE RED').required(),
}).when('categories', {
is: 'yam',
then: Joi.string().valid('YAM PORRIDGE ASARO').required(),
}).when('categories', {
is: 'millet balls',
then: Joi.string().valid('FURA').required(),
}).when('categories', {
is: 'granola',
then: Joi.string().valid(
'PEANUT SMOOTHIE', 'GRANULE', 'PEANUT ENERGY BALLS',
'GRANOLA PEANUT ENERGY BALLS', 'COCONUT PEANUT ENERGY BALLS'
).required(),
}).when('categories', {
is: 'soup',
then: Joi.string().valid('OGBONO', 'EGUSI (MELON SEED)', 'GBEGIRI (BEAN SOUP)', 'EFO RIRO').required(),
}).when('categories', {
is: 'african donut mix',
then: Joi.string().valid('PUFF PUFF').required(),
}).when('categories', {
is: 'corn',
then: Joi.string().valid('CORN PUDDING(OGI)').required(),
}).required(),
storeCodes: Joi.string().required(),
barCodes: Joi.number(),
});
export { productValidationSchema };