// src/validators/actividades.validators.js
const { body, param, query } = require('express-validator');

exports.createActividadValidator = [
  body('id_categoria').isInt(),
  body('nombre').trim().isLength({ min: 3, max: 150 }),
  body('descripcion').optional().isString(),
  body('duracion_minutos').optional().isInt({ min: 1, max: 180 }),
  body('dificultad').optional().isInt({ min: 1, max: 3 }), // 1=baja,2=media,3=alta
  body('puntos_base').optional().isInt({ min: 0, max: 10000 }),
  body('activo').optional().isBoolean(),
];

exports.updateActividadValidator = [
  param('id_actividad').isInt(),
  body('id_categoria').optional().isInt(),
  body('nombre').optional().trim().isLength({ min: 3, max: 150 }),
  body('descripcion').optional().isString(),
  body('duracion_minutos').optional().isInt({ min: 1, max: 180 }),
  body('dificultad').optional().isInt({ min: 1, max: 3 }),
  body('puntos_base').optional().isInt({ min: 0, max: 10000 }),
  body('activo').optional().isBoolean(),
];

exports.listActividadesValidator = [
  query('page').optional().isInt({ min: 1 }),
  query('limit').optional().isInt({ min: 1, max: 200 }),
  query('q').optional().isString(),
  query('id_categoria').optional().isInt(),
];