- 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.
70 lines
1.9 KiB
TypeScript
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}`)
|
|
};
|