import Joi from 'joi';

export interface CreateEquipmentBody {
  name: string;
  code?: string;
  category?: string;
  description?: string;
  unitId: number;
}

export interface UpdateEquipmentBody {
  name?: string;
  code?: string;
  category?: string;
  description?: string;
  unitId?: number;
}

export const createEquipmentSchema = Joi.object<CreateEquipmentBody>({
  name: Joi.string().trim().min(1).max(150).required(),
  code: Joi.string().trim().min(1).max(30).optional(),
  category: Joi.string().trim().max(50).allow('').optional(),
  description: Joi.string().trim().max(255).allow('').optional(),
  unitId: Joi.number().integer().positive().required(),
}).required();

export const updateEquipmentSchema = Joi.object<UpdateEquipmentBody>({
  name: Joi.string().trim().min(1).max(150),
  code: Joi.string().trim().min(1).max(30),
  category: Joi.string().trim().max(50).allow(''),
  description: Joi.string().trim().max(255).allow(''),
  unitId: Joi.number().integer().positive(),
}).min(1).required();
