// ========================
// Device Validation

const Joi = require("joi");

// ========================
const insertTagsSchema = Joi.object({
  device_id: Joi.number().optional(),
  tag_name: Joi.string().max(200).required(),
  tag_number: Joi.number().required(),
  tag_description: Joi.string().max(200).optional(),
  is_active: Joi.boolean().optional(),
  data_type: Joi.string().max(50).optional(),
  unit: Joi.string().max(50).optional(),
  plant_sub_section_id: Joi.number().optional(),
  is_alarm: Joi.boolean().optional(),
  is_report: Joi.boolean().optional(),
  is_history: Joi.boolean().optional(),
  lim_low_crash: Joi.number().optional(),
  lim_low: Joi.number().optional(),
  lim_high: Joi.number().optional(),
  lim_high_crash: Joi.number().optional(),
});

const updateTagsSchema = Joi.object({
  device_id: Joi.number().optional(),
  tag_name: Joi.string().max(200),
  tag_number: Joi.number(),
  tag_description: Joi.string().max(200).optional(),
  is_active: Joi.boolean(),
  data_type: Joi.string().max(50),
  unit: Joi.string().max(50),
  is_alarm: Joi.boolean().optional(),
  plant_sub_section_id: Joi.number().optional(),
  is_report: Joi.boolean().optional(),
  is_history: Joi.boolean().optional(),
  lim_low_crash: Joi.number().optional(),
  lim_low: Joi.number().optional(),
  lim_high: Joi.number().optional(),
  lim_high_crash: Joi.number().optional(),
}).min(1);

// ✅ Export dengan CommonJS
module.exports = {
  insertTagsSchema,
  updateTagsSchema,
};
