import vine from '@vinejs/vine'

export const listCarriersValidator = vine.compile(
  vine.object({
    page: vine.number().optional(),
    limit: vine.number().optional(),
    search: vine.string().optional(),
    is_enabled: vine.boolean().optional(),
    sort_by_carrier: vine.enum(['asc', 'desc']).optional(),
    sort_by_created_at: vine.enum(['asc', 'desc']).optional(),
    sort_by_updated_at: vine.enum(['asc', 'desc']).optional(),
  })
)

export const toggleCarriersValidator = vine.compile(
  vine.object({
    is_enabled: vine.boolean(),
  })
)

export const updateCarrierCredentialsValidator = vine.compile(
  vine.object({
    dhl_username: vine.string().optional(),
    dhl_password: vine.string().optional(),
    dhl_account_number: vine.string().optional(),

    aramex_username: vine.string().optional(),
    aramex_password: vine.string().optional(),
    aramex_account_number: vine.string().optional(),
    aramex_account_pin: vine.string().optional(),
    aramex_entity: vine.string().optional(),
    aramex_country_code: vine.string().optional(),

    smsa_passkey: vine.string().optional(),
    smsa_soap_passkey: vine.string().optional(),

    fedex_api_key: vine.string().optional(),
    fedex_secret_key: vine.string().optional(),
    fedex_account_number: vine.string().optional(),
  })
)
