/** * API Client para Customs Sections * Gestiona las operaciones CRUD para las secciones aduaneras */ import { api } from '$lib/api'; export interface CustomsSection { customs_code: string; section_name: string; } export interface CustomsSectionListResponse { items: CustomsSection[]; total: number; page: number; page_size: number; } export interface CreateCustomsSectionData { customs_code: string; section_name: string; } export interface UpdateCustomsSectionData { customs_code?: string; section_name?: string; } /** * API para Customs Sections */ export const customsSectionsApi = { /** * Lista todas las secciones aduaneras con paginación * @param page - Número de página (por defecto 1) * @param pageSize - Tamaño de página (por defecto 50) */ list: (page = 1, pageSize = 50) => api.get( `/v1/public/refrence_data/customs-sections?page=${page}&page_size=${pageSize}` ), /** * Obtiene una sección aduanera por código * @param customs_code - Código de la sección aduanera */ get: (customs_code: string) => api.get(`/v1/public/refrence_data/customs-sections/${customs_code}`), /** * Crea una nueva sección aduanera * @param data - Datos de la sección aduanera a crear */ create: (data: CreateCustomsSectionData) => api.post('/v1/public/refrence_data/customs-sections', data), /** * Actualiza una sección aduanera existente * @param customs_code - Código de la sección aduanera a actualizar * @param data - Datos a actualizar */ update: (customs_code: string, data: UpdateCustomsSectionData) => api.put(`/v1/public/refrence_data/customs-sections/${customs_code}`, data), /** * Elimina una sección aduanera * @param customs_code - Código de la sección aduanera a eliminar */ delete: (customs_code: string) => api.delete(`/v1/public/refrence_data/customs-sections/${customs_code}`) };