Files
plantillas-proyectos/frontend/src/lib/api/dashboard/refrence_data/customs_sections.ts
acazares cf18c8e07d feat: Implement create/edit dialog for pedimentos management
- Added create-edit-dialog component for creating and editing pedimentos.
- Integrated dialog with data table actions for editing existing pedimentos.
- Implemented infinite scroll functionality in the data table for loading more pedimentos.
- Enhanced server-side loading of pedimentos with authentication checks.
- Added filtering options for pedimentos based on status, client ID, and year.
- Improved error handling and user feedback for actions like creating, editing, and deleting pedimentos.
2025-11-06 18:35:47 -06:00

70 lines
1.9 KiB
TypeScript

/**
* 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<CustomsSectionListResponse>(
`/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<CustomsSection>(`/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<CustomsSection>('/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<CustomsSection>(`/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}`)
};