import { defineStore } from 'pinia'; import { ref } from 'vue'; import { supplierServices } from '../services/supplier.services'; import type { Supplier } from '../types/suppliers.interfaces'; export const useSupplierStore = defineStore('supplier', () => { const suppliers = ref([]); const loading = ref(false); const error = ref(null); async function fetchAllSuppliers() { loading.value = true; error.value = null; try { const response = await supplierServices.getSuppliers(false); // Si la respuesta es paginada, usar response.data; si es lista, usar response.suppliers o response directamente if (Array.isArray(response)) { suppliers.value = response as Supplier[]; } else if ('suppliers' in response) { suppliers.value = (response as any).suppliers; } else if ('data' in response) { suppliers.value = (response as any).data; } else { suppliers.value = []; } } catch (e: any) { error.value = e?.message || 'Error al cargar proveedores'; suppliers.value = []; } finally { loading.value = false; } } return { suppliers, loading, error, fetchAllSuppliers, }; });