mirror of
				https://github.com/crater-invoice/crater.git
				synced 2025-10-31 13:41:09 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			63 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			63 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| import { handleError } from '@/scripts/customer/helpers/error-handling'
 | |
| const { defineStore } = window.pinia
 | |
| import axios from 'axios'
 | |
| export const useInvoiceStore = defineStore({
 | |
|   id: 'customerInvoiceStore',
 | |
|   state: () => ({
 | |
|     totalInvoices: 0,
 | |
|     invoices: [],
 | |
|     selectedViewInvoice: [],
 | |
|   }),
 | |
| 
 | |
|   actions: {
 | |
|     fetchInvoices(params, slug) {
 | |
|       return new Promise((resolve, reject) => {
 | |
|         axios
 | |
|           .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) => {
 | |
|         axios
 | |
|           .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) => {
 | |
|         axios
 | |
|           .get(`/api/v1/${slug}/customer/invoices`, { params })
 | |
|           .then((response) => {
 | |
|             this.invoices = response.data
 | |
|             resolve(response)
 | |
|           })
 | |
|           .catch((err) => {
 | |
|             handleError(err)
 | |
|             reject(err)
 | |
|           })
 | |
|       })
 | |
|     },
 | |
|   },
 | |
| })
 |