import Joi from 'joi';
import { objectId } from '@/shared/validations/custom.validation';
import { generateJoiValidation } from '@/shared/validations/generateJoiValidation';
import { ClickStats } from '@/modules/clickStats/clickStats.model';
import { ClickType } from '@/modules/clickStats/clickStats.interface';

// POST validation
export const createClickStats = () => ({
  body: generateJoiValidation(ClickStats.schema),
});

// GET validation: type + propertyId required
export const getClickStatsCounts = {
  query: Joi.object().keys({
    type: Joi.string()
      .valid(...Object.values(ClickType))
      .required(),
    propertyId: Joi.string().custom(objectId).required(),
  }),
};
