Files
InvoiceShelf/resources/scripts/customer/stores/invoice.js
Darko Gjorgjijoski 3ceb08bc31 Upgrade Pinia from v2 to v3 (#596)
Migrate all 37 store definitions from the deprecated object-with-id
signature to the string-id-first signature required by Pinia 3:

  defineStore({ id: 'name', ... }) → defineStore('name', { ... })
2026-04-02 16:12:11 +02:00

62 lines
1.6 KiB
JavaScript
Vendored

import { handleError } from '@/scripts/customer/helpers/error-handling'
const { defineStore } = window.pinia
import http from '@/scripts/http'
export const useInvoiceStore = defineStore('customerInvoiceStore', {
state: () => ({
totalInvoices: 0,
invoices: [],
selectedViewInvoice: [],
}),
actions: {
fetchInvoices(params, slug) {
return new Promise((resolve, reject) => {
http
.get(`/api/v1/${slug}/customer/invoices`, { params })
.then((response) => {
this.invoices = response.data.data
this.totalInvoices = response.data.meta.invoiceTotalCount
resolve(response)
})
.catch((err) => {
handleError(err)
reject(err)
})
})
},
fetchViewInvoice(params, slug) {
return new Promise((resolve, reject) => {
http
.get(`/api/v1/${slug}/customer/invoices/${params.id}`, {
params,
})
.then((response) => {
this.selectedViewInvoice = response.data.data
resolve(response)
})
.catch((err) => {
handleError(err)
reject(err)
})
})
},
searchInvoice(params, slug) {
return new Promise((resolve, reject) => {
http
.get(`/api/v1/${slug}/customer/invoices`, { params })
.then((response) => {
this.invoices = response.data
resolve(response)
})
.catch((err) => {
handleError(err)
reject(err)
})
})
},
},
})