import { axiosClient } from '@/api/axiosClient'
import type { SeccionListItem, SeccionesQuery, PagedResult } from '../types'

export async function listSecciones(query: SeccionesQuery): Promise<PagedResult<SeccionListItem>> {
  const params = new URLSearchParams()
  if (query.page !== undefined) params.set('page', String(query.page))
  if (query.pageSize !== undefined) params.set('pageSize', String(query.pageSize))
  if (query.medioId !== undefined) params.set('medioId', String(query.medioId))
  if (query.tipo !== undefined) params.set('tipo', query.tipo)
  if (query.activo !== undefined) params.set('activo', String(query.activo))
  if (query.q !== undefined && query.q !== '') params.set('q', query.q)

  const response = await axiosClient.get<PagedResult<SeccionListItem>>(
    '/api/v1/admin/secciones',
    { params },
  )
  return response.data
}
