79 lines
2.4 KiB
TypeScript
79 lines
2.4 KiB
TypeScript
/**
|
|
* API Client para Pedimento Regimens
|
|
* Gestiona las operaciones CRUD para los regímenes de pedimento
|
|
*/
|
|
import { api } from '$lib/api';
|
|
|
|
export interface PedimentoRegimen {
|
|
code: string;
|
|
description: string;
|
|
}
|
|
|
|
export interface PedimentoRegimenListResponse {
|
|
items: PedimentoRegimen[];
|
|
total: number;
|
|
page: number;
|
|
page_size: number;
|
|
}
|
|
|
|
export interface CreatePedimentoRegimenData {
|
|
code: string;
|
|
description: string;
|
|
}
|
|
|
|
export interface UpdatePedimentoRegimenData {
|
|
code?: string;
|
|
description?: string;
|
|
}
|
|
|
|
/**
|
|
* API para Pedimento Regimens
|
|
*/
|
|
export const pedimentoRegimensApi = {
|
|
/**
|
|
* Lista todos los regímenes de pedimento con paginación y búsqueda
|
|
* @param page - Número de página (por defecto 1)
|
|
* @param pageSize - Tamaño de página (por defecto 50)
|
|
* @param search - Término de búsqueda (opcional)
|
|
*/
|
|
list: (page = 1, pageSize = 50, search?: string) => {
|
|
let url = `/v1/public/reference_data/pedimento-regimens/?page=${page}&page_size=${pageSize}`;
|
|
if (search) {
|
|
url += `&search=${encodeURIComponent(search)}`;
|
|
}
|
|
return api.get<PedimentoRegimenListResponse>(url);
|
|
},
|
|
|
|
/**
|
|
* Obtiene un régimen de pedimento por code
|
|
* @param code - Código del régimen de pedimento
|
|
*/
|
|
get: (code: string) =>
|
|
// CORREGIDO: Añadido '/' final
|
|
api.get<PedimentoRegimen>(`/v1/public/reference_data/pedimento-regimens/${code}/`),
|
|
|
|
/**
|
|
* Crea un nuevo régimen de pedimento
|
|
* @param data - Datos del régimen de pedimento a crear
|
|
*/
|
|
create: (data: CreatePedimentoRegimenData) =>
|
|
// CORREGIDO: Añadido '/' final
|
|
api.post<PedimentoRegimen>('/v1/public/reference_data/pedimento-regimens/', data),
|
|
|
|
/**
|
|
* Actualiza un régimen de pedimento existente
|
|
* @param code - Código del régimen de pedimento a actualizar
|
|
* @param data - Datos a actualizar
|
|
*/
|
|
update: (code: string, data: UpdatePedimentoRegimenData) =>
|
|
// CORREGIDO: Añadido '/' final después del código
|
|
api.put<PedimentoRegimen>(`/v1/public/reference_data/pedimento-regimens/${code}/`, data),
|
|
|
|
/**
|
|
* Elimina un régimen de pedimento
|
|
* @param code - Código del régimen de pedimento a eliminar
|
|
*/
|
|
delete: (code: string) =>
|
|
// CORREGIDO: Añadido '/' final después del código
|
|
api.delete(`/v1/public/reference_data/pedimento-regimens/${code}/`)
|
|
}; |