Files
plantillas-proyectos/frontend/src/lib/api/dashboard/reference_data/pedimento_regimens.ts

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}/`)
};