import { anticiposConfig } from './anticipos/config'
import { asistenciasConfig } from './asistencias/config'
import { carretasConfig } from './carretas/config'
import { clientesConfig } from './clientes/config'
import { comerciosConfig } from './comercios/config'
import { cuponesConfig } from './cupones/config'
import { depositosConfig } from './depositos/config'
import { ingresosConfig } from './ingresos/config'
import { pagosAnticipoConfig } from './pagos_anticipo/config'
import { rechazosConfig } from './rechazos/config'
import { retencionesConfig } from './retenciones/config'
import { salidasConfig } from './salidas/config'
import { tareasRealizadasConfig } from './tareas_realizadas/config'
import { vistaResumenIngresosConfig } from './vista_resumen_ingresos/config'
import { vistaResumenIngresosPorComercioConfig } from './vista_resumen_ingresos_por_comercio/config'
import type { TableConfig, TableName } from './types'

export const tableConfigs: Record<TableName, TableConfig> = {
  anticipos: anticiposConfig,
  asistencias: asistenciasConfig,
  carretas: carretasConfig,
  clientes: clientesConfig,
  comercios: comerciosConfig,
  cupones: cuponesConfig,
  depositos: depositosConfig,
  ingresos: ingresosConfig,
  pagos_anticipo: pagosAnticipoConfig,
  rechazos: rechazosConfig,
  retenciones: retencionesConfig,
  salidas: salidasConfig,
  tareas_realizadas: tareasRealizadasConfig,
  vista_detalle_ingresos: ingresosConfig,
  vista_resumen_ingresos: vistaResumenIngresosConfig,
  vista_resumen_ingresos_por_comercio: vistaResumenIngresosPorComercioConfig
}

export const tableNames = Object.keys(tableConfigs) as TableName[]

export function getTableConfig(name: string): TableConfig | undefined {
  return tableConfigs[name as TableName]
}
