/** * API Client para Valuation Methods * Gestiona las operaciones CRUD para los métodos de valoración */ import { api } from '$lib/api'; export interface ValuationMethod { key: string; description: string; } export interface ValuationMethodListResponse { items: ValuationMethod[]; total: number; page: number; page_size: number; } export interface CreateValuationMethodData { key: string; description: string; } export interface UpdateValuationMethodData { key?: string; description?: string; } /** * API para Valuation Methods */ export const valuationMethodsApi = { /** * Lista todos los métodos de valoración 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/valuation-methods/?page=${page}&page_size=${pageSize}`; if (search) { url += `&search=${encodeURIComponent(search)}`; } return api.get(url); }, /** * Obtiene un método de valoración por key * @param key - Clave del método de valoración */ get: (key: string) => // CORREGIDO: Añadido '/' final api.get(`/v1/public/reference_data/valuation-methods/${key}/`), /** * Crea un nuevo método de valoración * @param data - Datos del método de valoración a crear */ create: (data: CreateValuationMethodData) => // CORREGIDO: Añadido '/' final api.post('/v1/public/reference_data/valuation-methods/', data), /** * Actualiza un método de valoración existente * @param key - Clave del método de valoración a actualizar * @param data - Datos a actualizar */ update: (key: string, data: UpdateValuationMethodData) => // CORREGIDO: Añadido '/' después de la variable key api.put(`/v1/public/reference_data/valuation-methods/${key}/`, data), /** * Elimina un método de valoración * @param key - Clave del método de valoración a eliminar */ delete: (key: string) => // CORREGIDO: Añadido '/' después de la variable key api.delete(`/v1/public/reference_data/valuation-methods/${key}/`) };