import vine from '@vinejs/vine'
import {
  normalizeArray,
  normalizeStringArray,
  setFirstSecondOfDay,
  setLastSecondOfDay,
} from '../../Helper/Helper.js'

export const paymentCollectionReportForDriverByAdminValidator = vine.compile(
  vine.object({
    delivery_agent_ids: vine.any().transform(normalizeArray).optional(),
    filter_by_payment_method: vine.any().transform(normalizeArray).optional(),
    // filter_by_payment_method: vine
    //   .number()
    //   .in(Object.values(PaymentMethods).filter((value) => typeof value === 'number'))
    //   .optional(),
    filter_by_payment_type: vine.any().transform(normalizeStringArray).optional(),
    // filter_by_payment_type: vine.array(vine.enum(['shipping', 'cod'])).optional(),
    filter_by_payment_start_date: vine.date().transform(setFirstSecondOfDay).optional(),
    filter_by_payment_end_date: vine.date().transform(setLastSecondOfDay).optional(),
    filter_by_customer_id: vine.any().transform(normalizeArray).optional(),

    file_name: vine.string().minLength(3).maxLength(100).optional(),
  })
)
