Add HTTP client wrapper and upgrade Axios to v1 (#594)

* refactor: add HTTP client wrapper and upgrade axios to v1

Introduce a thin HTTP wrapper (resources/scripts/http) that centralizes
axios configuration, interceptors, and auth header injection. All 43
files now import from the wrapper instead of axios directly, making
future library swaps a single-file change. Upgrade axios from 0.30.0
to 1.14.0.

* fix: restore window.Ls assignment removed during axios refactor

company.js uses window.Ls.set() to persist selected company,
which broke after the axios plugin (that set window.Ls) was deleted.
This commit is contained in:
Darko Gjorgjijoski
2026-04-02 15:08:23 +02:00
committed by GitHub
parent a38f09cf7b
commit 691178857f
46 changed files with 637 additions and 394 deletions

View File

@@ -42,7 +42,7 @@
"@vuelidate/core": "^2.0.3",
"@vuelidate/validators": "^2.0.4",
"@vueuse/core": "^12.4.0",
"axios": "0.30.0",
"axios": "^1",
"chart.js": "^2.9.4",
"guid": "^0.0.12",
"laravel-vite-plugin": "^1.1.1",
@@ -61,4 +61,4 @@
"vue-router": "^4.5.0",
"vuedraggable": "^4.1.0"
}
}
}

View File

@@ -116,7 +116,6 @@
<script setup>
import { computed, onMounted, reactive, ref } from 'vue'
import axios from 'axios'
import { useModalStore } from '@/scripts/stores/modal'
import { useTaxTypeStore } from '@/scripts/admin/stores/tax-type'
import { useGlobalStore } from '@/scripts/admin/stores/global'

View File

@@ -1,4 +1,4 @@
import axios from 'axios'
import http from '@/scripts/http'
import { defineStore } from 'pinia'
import { useNotificationStore } from '@/scripts/stores/notification'
import { handleError } from '@/scripts/helpers/error-handling'
@@ -22,9 +22,9 @@ export const useAuthStore = (useWindow = false) => {
actions: {
login(data) {
return new Promise((resolve, reject) => {
axios.get('/sanctum/csrf-cookie').then((response) => {
http.get('/sanctum/csrf-cookie').then((response) => {
if (response) {
axios
http
.post('/login', data)
.then((response) => {
resolve(response)
@@ -45,7 +45,7 @@ export const useAuthStore = (useWindow = false) => {
logout() {
return new Promise((resolve, reject) => {
axios
http
.post('/auth/logout')
.then((response) => {
const notificationStore = useNotificationStore()

View File

@@ -1,4 +1,4 @@
import axios from 'axios'
import http from '@/scripts/http'
import { defineStore } from 'pinia'
import { useNotificationStore } from '@/scripts/stores/notification'
import { handleError } from '@/scripts/helpers/error-handling'
@@ -21,7 +21,7 @@ export const useBackupStore = (useWindow = false) => {
actions: {
fetchBackups(params) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/backups`, { params })
.then((response) => {
this.backups = response.data.data
@@ -36,7 +36,7 @@ export const useBackupStore = (useWindow = false) => {
createBackup(data) {
return new Promise((resolve, reject) => {
axios
http
.post(`/api/v1/backups`, data)
.then((response) => {
const notificationStore = useNotificationStore()
@@ -55,7 +55,7 @@ export const useBackupStore = (useWindow = false) => {
removeBackup(params) {
return new Promise((resolve, reject) => {
axios
http
.delete(`/api/v1/backups/${params.disk}`, { params })
.then((response) => {
const notificationStore = useNotificationStore()

View File

@@ -1,4 +1,4 @@
import axios from 'axios'
import http from '@/scripts/http'
import { defineStore } from 'pinia'
import { useNotificationStore } from '@/scripts/stores/notification'
import { handleError } from '@/scripts/helpers/error-handling'
@@ -27,7 +27,7 @@ export const useCategoryStore = (useWindow = false) => {
actions: {
fetchCategories(params) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/categories`, { params })
.then((response) => {
this.categories = response.data.data
@@ -42,7 +42,7 @@ export const useCategoryStore = (useWindow = false) => {
fetchCategory(id) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/categories/${id}`)
.then((response) => {
this.currentCategory = response.data.data
@@ -57,7 +57,7 @@ export const useCategoryStore = (useWindow = false) => {
addCategory(data) {
return new Promise((resolve, reject) => {
axios
http
.post('/api/v1/categories', data)
.then((response) => {
this.categories.push(response.data.data)
@@ -77,7 +77,7 @@ export const useCategoryStore = (useWindow = false) => {
updateCategory(data) {
return new Promise((resolve, reject) => {
axios
http
.put(`/api/v1/categories/${data.id}`, data)
.then((response) => {
if (response.data) {
@@ -104,7 +104,7 @@ export const useCategoryStore = (useWindow = false) => {
deleteCategory(id) {
return new Promise((resolve) => {
axios
http
.delete(`/api/v1/categories/${id}`)
.then((response) => {
let index = this.categories.findIndex(

View File

@@ -1,4 +1,4 @@
import axios from 'axios'
import http from '@/scripts/http'
import { defineStore } from 'pinia'
import { useNotificationStore } from '@/scripts/stores/notification'
import { handleError } from '@/scripts/helpers/error-handling'
@@ -26,7 +26,7 @@ export const useCompanyStore = (useWindow = false) => {
fetchBasicMailConfig() {
return new Promise((resolve, reject) => {
axios
http
.get('/api/v1/company/mail/config')
.then((response) => {
resolve(response)
@@ -40,7 +40,7 @@ export const useCompanyStore = (useWindow = false) => {
updateCompany(data) {
return new Promise((resolve, reject) => {
axios
http
.put('/api/v1/company', data)
.then((response) => {
const notificationStore = useNotificationStore()
@@ -66,7 +66,7 @@ export const useCompanyStore = (useWindow = false) => {
updateCompanyLogo(data) {
return new Promise((resolve, reject) => {
axios
http
.post('/api/v1/company/upload-logo', data)
.then((response) => {
resolve(response)
@@ -80,7 +80,7 @@ export const useCompanyStore = (useWindow = false) => {
addNewCompany(data) {
return new Promise((resolve, reject) => {
axios
http
.post('/api/v1/companies', data)
.then((response) => {
const notificationStore = useNotificationStore()
@@ -99,7 +99,7 @@ export const useCompanyStore = (useWindow = false) => {
fetchCompany(params) {
return new Promise((resolve, reject) => {
axios
http
.get('/api/v1/current-company', params)
.then((response) => {
Object.assign(this.companyForm, response.data.data.address)
@@ -115,7 +115,7 @@ export const useCompanyStore = (useWindow = false) => {
fetchUserCompanies() {
return new Promise((resolve, reject) => {
axios
http
.get('/api/v1/companies')
.then((response) => {
resolve(response)
@@ -129,7 +129,7 @@ export const useCompanyStore = (useWindow = false) => {
fetchCompanySettings(settings) {
return new Promise((resolve, reject) => {
axios
http
.get('/api/v1/company/settings', {
params: {
settings,
@@ -147,7 +147,7 @@ export const useCompanyStore = (useWindow = false) => {
updateCompanySettings({ data, message }) {
return new Promise((resolve, reject) => {
axios
http
.post('/api/v1/company/settings', data)
.then((response) => {
Object.assign(this.selectedCompanySettings, data.settings)
@@ -172,7 +172,7 @@ export const useCompanyStore = (useWindow = false) => {
deleteCompany(data) {
return new Promise((resolve, reject) => {
axios
http
.post(`/api/v1/companies/delete`, data)
.then((response) => {
resolve(response)

View File

@@ -1,4 +1,4 @@
import axios from 'axios'
import http from '@/scripts/http'
import { defineStore } from 'pinia'
import { useNotificationStore } from '@/scripts/stores/notification'
import customFieldStub from '@/scripts/admin/stub/custom-field'
@@ -41,7 +41,7 @@ export const useCustomFieldStore = (useWindow = false) => {
fetchCustomFields(params) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/custom-fields`, { params })
.then((response) => {
this.customFields = response.data.data
@@ -63,7 +63,7 @@ export const useCustomFieldStore = (useWindow = false) => {
this.isRequestOngoing = true
axios
http
.get(`/api/v1/custom-fields`, { params })
.then((response) => {
this.customFields = response.data.data
@@ -80,7 +80,7 @@ export const useCustomFieldStore = (useWindow = false) => {
fetchCustomField(id) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/custom-fields/${id}`)
.then((response) => {
this.currentCustomField = response.data.data
@@ -107,7 +107,7 @@ export const useCustomFieldStore = (useWindow = false) => {
addCustomField(params) {
const notificationStore = useNotificationStore()
return new Promise((resolve, reject) => {
axios
http
.post(`/api/v1/custom-fields`, params)
.then((response) => {
let data = {
@@ -139,7 +139,7 @@ export const useCustomFieldStore = (useWindow = false) => {
const notificationStore = useNotificationStore()
return new Promise((resolve, reject) => {
axios
http
.put(`/api/v1/custom-fields/${params.id}`, params)
.then((response) => {
let data = {
@@ -174,7 +174,7 @@ export const useCustomFieldStore = (useWindow = false) => {
deleteCustomFields(id) {
const notificationStore = useNotificationStore()
return new Promise((resolve, reject) => {
axios
http
.delete(`/api/v1/custom-fields/${id}`)
.then((response) => {
let index = this.customFields.findIndex(

View File

@@ -1,4 +1,4 @@
import axios from 'axios'
import http from '@/scripts/http'
import { defineStore } from 'pinia'
import { useRoute } from 'vue-router'
import { handleError } from '@/scripts/helpers/error-handling'
@@ -75,7 +75,7 @@ export const useCustomerStore = (useWindow = false) => {
fetchCustomers(params) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/customers`, { params })
.then((response) => {
this.customers = response.data.data
@@ -92,7 +92,7 @@ export const useCustomerStore = (useWindow = false) => {
fetchViewCustomer(params) {
return new Promise((resolve, reject) => {
this.isFetchingViewData = true
axios
http
.get(`/api/v1/customers/${params.id}/stats`, { params })
.then((response) => {
@@ -112,7 +112,7 @@ export const useCustomerStore = (useWindow = false) => {
fetchCustomer(id) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/customers/${id}`)
.then((response) => {
Object.assign(this.currentCustomer, response.data.data)
@@ -129,7 +129,7 @@ export const useCustomerStore = (useWindow = false) => {
addCustomer(data) {
return new Promise((resolve, reject) => {
axios
http
.post('/api/v1/customers', data)
.then((response) => {
this.customers.push(response.data.data)
@@ -151,7 +151,7 @@ export const useCustomerStore = (useWindow = false) => {
updateCustomer(data) {
return new Promise((resolve, reject) => {
axios
http
.put(`/api/v1/customers/${data.id}`, data)
.then((response) => {
if (response.data) {
@@ -177,7 +177,7 @@ export const useCustomerStore = (useWindow = false) => {
deleteCustomer(id) {
const notificationStore = useNotificationStore()
return new Promise((resolve, reject) => {
axios
http
.post(`/api/v1/customers/delete`, id)
.then((response) => {
let index = this.customers.findIndex(
@@ -201,7 +201,7 @@ export const useCustomerStore = (useWindow = false) => {
const notificationStore = useNotificationStore()
return new Promise((resolve, reject) => {
axios
http
.post(`/api/v1/customers/delete`, { ids: this.selectedCustomers })
.then((response) => {
this.selectedCustomers.forEach((customer) => {

View File

@@ -1,4 +1,4 @@
import axios from 'axios'
import http from '@/scripts/http'
import { defineStore } from 'pinia'
import { useGlobalStore } from '@/scripts/admin/stores/global'
import { handleError } from '@/scripts/helpers/error-handling'
@@ -40,7 +40,7 @@ export const useDashboardStore = (useWindow = false) => {
actions: {
loadData(params) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/dashboard`, { params })
.then((response) => {
// Stats

View File

@@ -1,4 +1,4 @@
import axios from 'axios'
import http from '@/scripts/http'
import { defineStore } from 'pinia'
import { useNotificationStore } from '@/scripts/stores/notification'
import { handleError } from '@/scripts/helpers/error-handling'
@@ -71,7 +71,7 @@ export const useDiskStore = (useWindow = false) => {
actions: {
fetchDiskEnv(data) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/disks/${data.disk}`)
.then((response) => {
resolve(response)
@@ -85,7 +85,7 @@ export const useDiskStore = (useWindow = false) => {
fetchDisks(params) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/disks`, { params })
.then((response) => {
this.disks = response.data.data
@@ -100,7 +100,7 @@ export const useDiskStore = (useWindow = false) => {
fetchDiskDrivers() {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/disk/drivers`)
.then((response) => {
this.diskConfigData = response.data
@@ -116,7 +116,7 @@ export const useDiskStore = (useWindow = false) => {
deleteFileDisk(id) {
return new Promise((resolve, reject) => {
axios
http
.delete(`/api/v1/disks/${id}`)
.then((response) => {
if (response.data.success) {
@@ -141,7 +141,7 @@ export const useDiskStore = (useWindow = false) => {
updateDisk(data) {
return new Promise((resolve, reject) => {
axios
http
.put(`/api/v1/disks/${data.id}`, data)
.then((response) => {
if (response.data) {
@@ -166,7 +166,7 @@ export const useDiskStore = (useWindow = false) => {
createDisk(data) {
return new Promise((resolve, reject) => {
axios
http
.post(`/api/v1/disks`, data)
.then((response) => {
if (response.data) {

View File

@@ -1,4 +1,4 @@
import axios from 'axios'
import http from '@/scripts/http'
import moment from 'moment'
import Guid from 'guid'
import _ from 'lodash'
@@ -100,7 +100,7 @@ export const useEstimateStore = (useWindow = false) => {
previewEstimate(params) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/estimates/${params.id}/send/preview`, { params })
.then((response) => {
resolve(response)
@@ -114,7 +114,7 @@ export const useEstimateStore = (useWindow = false) => {
fetchEstimates(params) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/estimates`, { params })
.then((response) => {
this.estimates = response.data.data
@@ -130,7 +130,7 @@ export const useEstimateStore = (useWindow = false) => {
getNextNumber(params, setState = false) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/next-number?key=estimate`, { params })
.then((response) => {
if (setState) {
@@ -147,7 +147,7 @@ export const useEstimateStore = (useWindow = false) => {
fetchEstimate(id) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/estimates/${id}`)
.then((response) => {
this.setEstimateData(response.data.data)
@@ -222,7 +222,7 @@ export const useEstimateStore = (useWindow = false) => {
const notificationStore = useNotificationStore()
return new Promise((resolve, reject) => {
axios
http
.post(`/api/v1/estimates/${data.id}/send`, data)
.then((response) => {
if (!data.is_preview) {
@@ -242,7 +242,7 @@ export const useEstimateStore = (useWindow = false) => {
addEstimate(data) {
return new Promise((resolve, reject) => {
axios
http
.post('/api/v1/estimates', data)
.then((response) => {
this.estimates = [...this.estimates, response.data.estimate]
@@ -266,7 +266,7 @@ export const useEstimateStore = (useWindow = false) => {
const notificationStore = useNotificationStore()
return new Promise((resolve, reject) => {
axios
http
.post(`/api/v1/estimates/delete`, id)
.then((response) => {
let index = this.estimates.findIndex(
@@ -292,7 +292,7 @@ export const useEstimateStore = (useWindow = false) => {
const notificationStore = useNotificationStore()
return new Promise((resolve, reject) => {
axios
http
.post(`/api/v1/estimates/delete`, { ids: this.selectedEstimates })
.then((response) => {
this.selectedEstimates.forEach((estimate) => {
@@ -318,7 +318,7 @@ export const useEstimateStore = (useWindow = false) => {
updateEstimate(data) {
return new Promise((resolve, reject) => {
axios
http
.put(`/api/v1/estimates/${data.id}`, data)
.then((response) => {
let pos = this.estimates.findIndex(
@@ -341,7 +341,7 @@ export const useEstimateStore = (useWindow = false) => {
cloneEstimate(data) {
return new Promise((resolve, reject) => {
axios
http
.post(`/api/v1/estimates/${data.id}/clone`, data)
.then((response) => {
const notificationStore = useNotificationStore()
@@ -360,7 +360,7 @@ export const useEstimateStore = (useWindow = false) => {
markAsAccepted(data) {
return new Promise((resolve, reject) => {
axios
http
.post(`/api/v1/estimates/${data.id}/status`, data)
.then((response) => {
let pos = this.estimates.findIndex(
@@ -387,7 +387,7 @@ export const useEstimateStore = (useWindow = false) => {
markAsRejected(data) {
return new Promise((resolve, reject) => {
axios
http
.post(`/api/v1/estimates/${data.id}/status`, data)
.then((response) => {
const notificationStore = useNotificationStore()
@@ -407,7 +407,7 @@ export const useEstimateStore = (useWindow = false) => {
markAsSent(data) {
return new Promise((resolve, reject) => {
axios
http
.post(`/api/v1/estimates/${data.id}/status`, data)
.then((response) => {
let pos = this.estimates.findIndex(
@@ -435,7 +435,7 @@ export const useEstimateStore = (useWindow = false) => {
convertToInvoice(id) {
const notificationStore = useNotificationStore()
return new Promise((resolve, reject) => {
axios
http
.post(`/api/v1/estimates/${id}/convert-to-invoice`)
.then((response) => {
notificationStore.showNotification({
@@ -453,7 +453,7 @@ export const useEstimateStore = (useWindow = false) => {
searchEstimate(data) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/estimates?${data}`)
.then((response) => {
resolve(response)
@@ -487,7 +487,7 @@ export const useEstimateStore = (useWindow = false) => {
selectCustomer(id) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/customers/${id}`)
.then((response) => {
this.newEstimate.customer = response.data.data
@@ -502,7 +502,7 @@ export const useEstimateStore = (useWindow = false) => {
},
fetchEstimateTemplates(params) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/estimates/templates`, { params })
.then((response) => {
this.templates = response.data.estimateTemplates

View File

@@ -1,4 +1,4 @@
import axios from 'axios'
import http from '@/scripts/http'
import { defineStore } from 'pinia'
import { useNotificationStore } from '@/scripts/stores/notification'
import { handleError } from '@/scripts/helpers/error-handling'
@@ -37,7 +37,7 @@ export const useExchangeRateStore = (useWindow = false) => {
actions: {
fetchProviders(params) {
return new Promise((resolve, reject) => {
axios
http
.get('/api/v1/exchange-rate-providers', { params })
.then((response) => {
this.providers = response.data.data
@@ -52,7 +52,7 @@ export const useExchangeRateStore = (useWindow = false) => {
fetchDefaultProviders() {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/config?key=exchange_rate_drivers`)
.then((response) => {
this.drivers = response.data.exchange_rate_drivers
@@ -68,7 +68,7 @@ export const useExchangeRateStore = (useWindow = false) => {
fetchProvider(id) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/exchange-rate-providers/${id}`)
.then((response) => {
this.currentExchangeRate = response.data.data
@@ -84,7 +84,7 @@ export const useExchangeRateStore = (useWindow = false) => {
addProvider(data) {
return new Promise((resolve, reject) => {
axios
http
.post('/api/v1/exchange-rate-providers', data)
.then((response) => {
notificationStore.showNotification({
@@ -104,7 +104,7 @@ export const useExchangeRateStore = (useWindow = false) => {
updateProvider(data) {
return new Promise((resolve, reject) => {
axios
http
.put(`/api/v1/exchange-rate-providers/${data.id}`, data)
.then((response) => {
notificationStore.showNotification({
@@ -122,7 +122,7 @@ export const useExchangeRateStore = (useWindow = false) => {
deleteExchangeRate(id) {
return new Promise((resolve, reject) => {
axios
http
.delete(`/api/v1/exchange-rate-providers/${id}`)
.then((response) => {
let index = this.drivers.findIndex((driver) => driver.id === id)
@@ -148,7 +148,7 @@ export const useExchangeRateStore = (useWindow = false) => {
},
fetchCurrencies(params) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/supported-currencies`, { params })
.then((response) => {
this.supportedCurrencies = response.data.supportedCurrencies
@@ -163,7 +163,7 @@ export const useExchangeRateStore = (useWindow = false) => {
},
fetchActiveCurrency(params) {
return new Promise((resolve, reject) => {
axios
http
.get('/api/v1/used-currencies', { params })
.then((response) => {
this.activeUsedCurrencies = response.data.activeUsedCurrencies
@@ -178,7 +178,7 @@ export const useExchangeRateStore = (useWindow = false) => {
},
fetchBulkCurrencies() {
return new Promise((resolve, reject) => {
axios
http
.get('/api/v1/currencies/used')
.then((response) => {
this.bulkCurrencies = response.data.currencies.map((_m) => {
@@ -196,7 +196,7 @@ export const useExchangeRateStore = (useWindow = false) => {
},
updateBulkExchangeRate(data) {
return new Promise((resolve, reject) => {
axios
http
.post('/api/v1/currencies/bulk-update-exchange-rate', data)
.then((response) => {
resolve(response)
@@ -209,7 +209,7 @@ export const useExchangeRateStore = (useWindow = false) => {
},
getCurrentExchangeRate(currencyId) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/currencies/${currencyId}/exchange-rate`)
.then((response) => {
resolve(response)
@@ -221,7 +221,7 @@ export const useExchangeRateStore = (useWindow = false) => {
},
getCurrencyConverterServers() {
return new Promise((resolve, reject) => {
axios
http
.get('/api/v1/config?key=currency_converter_servers')
.then((response) => {
resolve(response)
@@ -234,7 +234,7 @@ export const useExchangeRateStore = (useWindow = false) => {
},
checkForActiveProvider(currency_id) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/currencies/${currency_id}/active-provider`)
.then((response) => {
resolve(response)

View File

@@ -1,4 +1,4 @@
import axios from 'axios'
import http from '@/scripts/http'
import { defineStore } from 'pinia'
import { handleError } from '@/scripts/helpers/error-handling'
import { useNotificationStore } from '@/scripts/stores/notification'
@@ -38,7 +38,7 @@ export const useExpenseStore = (useWindow = false) => {
fetchExpenses(params) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/expenses`, { params })
.then((response) => {
this.expenses = response.data.data
@@ -54,7 +54,7 @@ export const useExpenseStore = (useWindow = false) => {
fetchExpense(id) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/expenses/${id}`)
.then((response) => {
if (response.data) {
@@ -97,7 +97,7 @@ export const useExpenseStore = (useWindow = false) => {
const formData = utils.toFormData(data)
return new Promise((resolve, reject) => {
axios
http
.post('/api/v1/expenses', formData)
.then((response) => {
this.expenses.push(response.data)
@@ -127,7 +127,7 @@ export const useExpenseStore = (useWindow = false) => {
formData.append('is_attachment_receipt_removed', isAttachmentReceiptRemoved)
return new Promise((resolve) => {
axios.post(`/api/v1/expenses/${id}`, formData).then((response) => {
http.post(`/api/v1/expenses/${id}`, formData).then((response) => {
let pos = this.expenses.findIndex(
(expense) => expense.id === response.data.id
)
@@ -175,7 +175,7 @@ export const useExpenseStore = (useWindow = false) => {
const notificationStore = useNotificationStore()
return new Promise((resolve, reject) => {
axios
http
.post(`/api/v1/expenses/delete`, id)
.then((response) => {
let index = this.expenses.findIndex(
@@ -200,7 +200,7 @@ export const useExpenseStore = (useWindow = false) => {
const notificationStore = useNotificationStore()
return new Promise((resolve, reject) => {
axios
http
.post(`/api/v1/expenses/delete`, { ids: this.selectedExpenses })
.then((response) => {
this.selectedExpenses.forEach((expense) => {
@@ -223,7 +223,7 @@ export const useExpenseStore = (useWindow = false) => {
},
fetchPaymentModes(params) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/payment-methods`, { params })
.then((response) => {
this.paymentModes = response.data.data

View File

@@ -1,4 +1,4 @@
import axios from 'axios'
import http from '@/scripts/http'
import { defineStore } from 'pinia'
import { useCompanyStore } from './company'
import { useUserStore } from './user'
@@ -48,7 +48,7 @@ export const useGlobalStore = (useWindow = false) => {
actions: {
bootstrap() {
return new Promise((resolve, reject) => {
axios
http
.get('/api/v1/bootstrap')
.then(async (response) => {
const companyStore = useCompanyStore()
@@ -123,7 +123,7 @@ export const useGlobalStore = (useWindow = false) => {
resolve(this.currencies)
} else {
this.areCurrenciesLoading = true
axios
http
.get('/api/v1/currencies')
.then((response) => {
this.currencies = response.data.data.filter((currency) => {
@@ -143,7 +143,7 @@ export const useGlobalStore = (useWindow = false) => {
fetchConfig(params) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/config`, { params })
.then((response) => {
if (response.data.languages) {
@@ -165,7 +165,7 @@ export const useGlobalStore = (useWindow = false) => {
if (this.dateFormats.length) {
resolve(this.dateFormats)
} else {
axios
http
.get('/api/v1/date/formats')
.then((response) => {
this.dateFormats = response.data.date_formats
@@ -184,7 +184,7 @@ export const useGlobalStore = (useWindow = false) => {
if (this.timeFormats.length) {
resolve(this.timeFormats)
} else {
axios
http
.get('/api/v1/time/formats')
.then((response) => {
this.timeFormats = response.data.time_formats
@@ -203,7 +203,7 @@ export const useGlobalStore = (useWindow = false) => {
if (this.timeZones.length) {
resolve(this.timeZones)
} else {
axios
http
.get('/api/v1/timezones')
.then((response) => {
this.timeZones = response.data.time_zones
@@ -222,7 +222,7 @@ export const useGlobalStore = (useWindow = false) => {
if (this.countries.length) {
resolve(this.countries)
} else {
axios
http
.get('/api/v1/countries')
.then((response) => {
this.countries = response.data.data
@@ -238,7 +238,7 @@ export const useGlobalStore = (useWindow = false) => {
fetchPlaceholders(params) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/number-placeholders`, { params })
.then((response) => {
resolve(response)
@@ -260,7 +260,7 @@ export const useGlobalStore = (useWindow = false) => {
updateGlobalSettings({ data, message }) {
return new Promise((resolve, reject) => {
axios
http
.post('/api/v1/settings', data)
.then((response) => {
Object.assign(this.globalSettings, data.settings)

View File

@@ -1,4 +1,4 @@
import axios from 'axios'
import http from '@/scripts/http'
import { defineStore } from 'pinia'
import { useCompanyStore } from './company'
import { handleError } from '@/scripts/helpers/error-handling'
@@ -28,7 +28,7 @@ export const useInstallationStore = (useWindow = false) => {
actions: {
fetchInstallationLanguages() {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/installation/languages`)
.then((response) => {
resolve(response)
@@ -42,7 +42,7 @@ export const useInstallationStore = (useWindow = false) => {
fetchInstallationRequirements() {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/installation/requirements`)
.then((response) => {
resolve(response)
@@ -56,7 +56,7 @@ export const useInstallationStore = (useWindow = false) => {
fetchInstallationStep() {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/installation/wizard-step`)
.then((response) => {
resolve(response)
@@ -70,7 +70,7 @@ export const useInstallationStore = (useWindow = false) => {
addInstallationStep(data) {
return new Promise((resolve, reject) => {
axios
http
.post(`/api/v1/installation/wizard-step`, data)
.then((response) => {
resolve(response)
@@ -84,7 +84,7 @@ export const useInstallationStore = (useWindow = false) => {
addInstallationLanguage(data) {
return new Promise((resolve, reject) => {
axios
http
.post(`/api/v1/installation/wizard-language`, data)
.then((response) => {
resolve(response)
@@ -98,7 +98,7 @@ export const useInstallationStore = (useWindow = false) => {
fetchInstallationPermissions() {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/installation/permissions`)
.then((response) => {
resolve(response)
@@ -112,7 +112,7 @@ export const useInstallationStore = (useWindow = false) => {
fetchInstallationDatabase(params) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/installation/database/config`, { params })
.then((response) => {
resolve(response)
@@ -126,7 +126,7 @@ export const useInstallationStore = (useWindow = false) => {
addInstallationDatabase(data) {
return new Promise((resolve, reject) => {
axios
http
.post(`/api/v1/installation/database/config`, data)
.then((response) => {
resolve(response)
@@ -140,7 +140,7 @@ export const useInstallationStore = (useWindow = false) => {
addInstallationFinish() {
return new Promise((resolve, reject) => {
axios
http
.post(`/api/v1/installation/finish`)
.then((response) => {
resolve(response)
@@ -154,7 +154,7 @@ export const useInstallationStore = (useWindow = false) => {
setInstallationDomain(data) {
return new Promise((resolve, reject) => {
axios
http
.put(`/api/v1/installation/set-domain`, data)
.then((response) => {
resolve(response)
@@ -168,9 +168,9 @@ export const useInstallationStore = (useWindow = false) => {
installationLogin() {
return new Promise((resolve, reject) => {
axios.get('/sanctum/csrf-cookie').then((response) => {
http.get('/sanctum/csrf-cookie').then((response) => {
if (response) {
axios
http
.post('/api/v1/installation/login')
.then((response) => {
companyStore.setSelectedCompany(response.data.company)
@@ -187,7 +187,7 @@ export const useInstallationStore = (useWindow = false) => {
checkAuthenticated() {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/auth/check`)
.then((response) => {
resolve(response)

View File

@@ -1,4 +1,4 @@
import axios from 'axios'
import http from '@/scripts/http'
import moment from 'moment'
import Guid from 'guid'
import _ from 'lodash'
@@ -108,7 +108,7 @@ export const useInvoiceStore = (useWindow = false) => {
previewInvoice(params) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/invoices/${params.id}/send/preview`, { params })
.then((response) => {
resolve(response)
@@ -122,7 +122,7 @@ export const useInvoiceStore = (useWindow = false) => {
fetchInvoices(params) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/invoices`, { params })
.then((response) => {
this.invoices = response.data.data
@@ -138,7 +138,7 @@ export const useInvoiceStore = (useWindow = false) => {
fetchInvoice(id) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/invoices/${id}`)
.then((response) => {
this.setInvoiceData(response.data.data)
@@ -204,7 +204,7 @@ export const useInvoiceStore = (useWindow = false) => {
sendInvoice(data) {
return new Promise((resolve, reject) => {
axios
http
.post(`/api/v1/invoices/${data.id}/send`, data)
.then((response) => {
notificationStore.showNotification({
@@ -222,7 +222,7 @@ export const useInvoiceStore = (useWindow = false) => {
addInvoice(data) {
return new Promise((resolve, reject) => {
axios
http
.post('/api/v1/invoices', data)
.then((response) => {
this.invoices = [...this.invoices, response.data.invoice]
@@ -243,7 +243,7 @@ export const useInvoiceStore = (useWindow = false) => {
deleteInvoice(id) {
return new Promise((resolve, reject) => {
axios
http
.post(`/api/v1/invoices/delete`, id)
.then((response) => {
let index = this.invoices.findIndex(
@@ -266,7 +266,7 @@ export const useInvoiceStore = (useWindow = false) => {
deleteMultipleInvoices(id) {
return new Promise((resolve, reject) => {
axios
http
.post(`/api/v1/invoices/delete`, { ids: this.selectedInvoices })
.then((response) => {
this.selectedInvoices.forEach((invoice) => {
@@ -292,7 +292,7 @@ export const useInvoiceStore = (useWindow = false) => {
updateInvoice(data) {
return new Promise((resolve, reject) => {
axios
http
.put(`/api/v1/invoices/${data.id}`, data)
.then((response) => {
let pos = this.invoices.findIndex(
@@ -316,7 +316,7 @@ export const useInvoiceStore = (useWindow = false) => {
cloneInvoice(data) {
return new Promise((resolve, reject) => {
axios
http
.post(`/api/v1/invoices/${data.id}/clone`, data)
.then((response) => {
notificationStore.showNotification({
@@ -334,7 +334,7 @@ export const useInvoiceStore = (useWindow = false) => {
markAsSent(data) {
return new Promise((resolve, reject) => {
axios
http
.post(`/api/v1/invoices/${data.id}/status`, data)
.then((response) => {
let pos = this.invoices.findIndex(
@@ -360,7 +360,7 @@ export const useInvoiceStore = (useWindow = false) => {
getNextNumber(params, setState = false) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/next-number?key=invoice`, { params })
.then((response) => {
if (setState) {
@@ -377,7 +377,7 @@ export const useInvoiceStore = (useWindow = false) => {
searchInvoice(data) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/invoices?${data}`)
.then((response) => {
resolve(response)
@@ -411,7 +411,7 @@ export const useInvoiceStore = (useWindow = false) => {
selectCustomer(id) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/customers/${id}`)
.then((response) => {
this.newInvoice.customer = response.data.data
@@ -427,7 +427,7 @@ export const useInvoiceStore = (useWindow = false) => {
fetchInvoiceTemplates(params) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/invoices/templates`, { params })
.then((response) => {
this.templates = response.data.invoiceTemplates

View File

@@ -1,4 +1,4 @@
import axios from 'axios'
import http from '@/scripts/http'
import { defineStore } from 'pinia'
import { useNotificationStore } from '@/scripts/stores/notification'
import { handleError } from '@/scripts/helpers/error-handling'
@@ -45,7 +45,7 @@ export const useItemStore = (useWindow = false) => {
},
fetchItems(params) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/items`, { params })
.then((response) => {
this.items = response.data.data
@@ -62,7 +62,7 @@ export const useItemStore = (useWindow = false) => {
fetchItem(id) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/items/${id}`)
.then((response) => {
if (response.data) {
@@ -79,7 +79,7 @@ export const useItemStore = (useWindow = false) => {
addItem(data) {
return new Promise((resolve, reject) => {
axios
http
.post('/api/v1/items', data)
.then((response) => {
const notificationStore = useNotificationStore()
@@ -102,7 +102,7 @@ export const useItemStore = (useWindow = false) => {
updateItem(data) {
return new Promise((resolve, reject) => {
axios
http
.put(`/api/v1/items/${data.id}`, data)
.then((response) => {
if (response.data) {
@@ -133,7 +133,7 @@ export const useItemStore = (useWindow = false) => {
const notificationStore = useNotificationStore()
return new Promise((resolve, reject) => {
axios
http
.post(`/api/v1/items/delete`, id)
.then((response) => {
let index = this.items.findIndex((item) => item.id === id)
@@ -157,7 +157,7 @@ export const useItemStore = (useWindow = false) => {
const notificationStore = useNotificationStore()
return new Promise((resolve, reject) => {
axios
http
.post(`/api/v1/items/delete`, { ids: this.selectedItems })
.then((response) => {
this.selectedItems.forEach((item) => {
@@ -205,7 +205,7 @@ export const useItemStore = (useWindow = false) => {
const notificationStore = useNotificationStore()
return new Promise((resolve, reject) => {
axios
http
.post(`/api/v1/units`, data)
.then((response) => {
this.itemUnits.push(response.data.data)
@@ -239,7 +239,7 @@ export const useItemStore = (useWindow = false) => {
const notificationStore = useNotificationStore()
return new Promise((resolve, reject) => {
axios
http
.put(`/api/v1/units/${data.id}`, data)
.then((response) => {
let pos = this.itemUnits.findIndex(
@@ -274,7 +274,7 @@ export const useItemStore = (useWindow = false) => {
fetchItemUnits(params) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/units`, { params })
.then((response) => {
this.itemUnits = response.data.data
@@ -289,7 +289,7 @@ export const useItemStore = (useWindow = false) => {
fetchItemUnit(id) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/units/${id}`)
.then((response) => {
this.currentItemUnit = response.data.data
@@ -306,7 +306,7 @@ export const useItemStore = (useWindow = false) => {
const notificationStore = useNotificationStore()
return new Promise((resolve, reject) => {
axios
http
.delete(`/api/v1/units/${id}`)
.then((response) => {
if (!response.data.error) {

View File

@@ -1,4 +1,4 @@
import axios from 'axios'
import http from '@/scripts/http'
import { defineStore } from 'pinia'
import { useNotificationStore } from '@/scripts/stores/notification'
import { handleError } from '@/scripts/helpers/error-handling'
@@ -57,7 +57,7 @@ export const useMailDriverStore = (useWindow = false) => {
actions: {
fetchMailDrivers() {
return new Promise((resolve, reject) => {
axios
http
.get('/api/v1/mail/drivers')
.then((response) => {
if (response.data) {
@@ -74,7 +74,7 @@ export const useMailDriverStore = (useWindow = false) => {
fetchMailConfig() {
return new Promise((resolve, reject) => {
axios
http
.get('/api/v1/mail/config')
.then((response) => {
if (response.data) {
@@ -92,7 +92,7 @@ export const useMailDriverStore = (useWindow = false) => {
updateMailConfig(data) {
return new Promise((resolve, reject) => {
axios
http
.post('/api/v1/mail/config', data)
.then((response) => {
const notificationStore = useNotificationStore()
@@ -118,7 +118,7 @@ export const useMailDriverStore = (useWindow = false) => {
sendTestMail(data) {
return new Promise((resolve, reject) => {
axios
http
.post('/api/v1/mail/test', data)
.then((response) => {
const notificationStore = useNotificationStore()

View File

@@ -1,4 +1,4 @@
import axios from 'axios'
import http from '@/scripts/http'
import { defineStore } from 'pinia'
import { handleError } from '@/scripts/helpers/error-handling'
import { useNotificationStore } from '@/scripts/stores/notification'
@@ -27,7 +27,7 @@ export const useModuleStore = (useWindow = false) => {
actions: {
fetchModules(params) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/modules`)
.then((response) => {
this.modules = response.data.data
@@ -43,7 +43,7 @@ export const useModuleStore = (useWindow = false) => {
fetchModule(id) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/modules/${id}`)
.then((response) => {
if (response.data.error === 'invalid_token') {
@@ -67,7 +67,7 @@ export const useModuleStore = (useWindow = false) => {
checkApiToken(token) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/modules/check?api_token=${token}`)
.then((response) => {
const notificationStore = useNotificationStore()
@@ -88,7 +88,7 @@ export const useModuleStore = (useWindow = false) => {
disableModule(module) {
return new Promise((resolve, reject) => {
axios
http
.post(`/api/v1/modules/${module}/disable`)
.then((response) => {
const notificationStore = useNotificationStore()
@@ -109,7 +109,7 @@ export const useModuleStore = (useWindow = false) => {
enableModule(module) {
return new Promise((resolve, reject) => {
axios
http
.post(`/api/v1/modules/${module}/enable`)
.then((response) => {
const notificationStore = useNotificationStore()

View File

@@ -1,4 +1,4 @@
import axios from 'axios'
import http from '@/scripts/http'
import { defineStore } from 'pinia'
import { handleError } from '@/scripts/helpers/error-handling'
@@ -40,7 +40,7 @@ export const useNotesStore = (useWindow = false) => {
fetchNotes(params) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/notes`, { params })
.then((response) => {
this.notes = response.data.data
@@ -55,7 +55,7 @@ export const useNotesStore = (useWindow = false) => {
fetchNote(id) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/notes/${id}`)
.then((response) => {
this.currentNote = response.data.data
@@ -70,7 +70,7 @@ export const useNotesStore = (useWindow = false) => {
addNote(data) {
return new Promise((resolve, reject) => {
axios
http
.post('/api/v1/notes', data)
.then((response) => {
this.notes.push(response.data)
@@ -85,7 +85,7 @@ export const useNotesStore = (useWindow = false) => {
updateNote(data) {
return new Promise((resolve, reject) => {
axios
http
.put(`/api/v1/notes/${data.id}`, data)
.then((response) => {
if (response.data) {
@@ -105,7 +105,7 @@ export const useNotesStore = (useWindow = false) => {
deleteNote(id) {
return new Promise((resolve, reject) => {
axios
http
.delete(`/api/v1/notes/${id}`)
.then((response) => {
let index = this.notes.findIndex((note) => note.id === id)

View File

@@ -1,4 +1,4 @@
import axios from 'axios'
import http from '@/scripts/http'
import moment from 'moment'
import { defineStore } from 'pinia'
import { useRoute } from 'vue-router'
@@ -99,7 +99,7 @@ export const usePaymentStore = (useWindow = false) => {
fetchPayments(params) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/payments`, { params })
.then((response) => {
this.payments = response.data.data
@@ -115,7 +115,7 @@ export const usePaymentStore = (useWindow = false) => {
fetchPayment(id) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/payments/${id}`)
.then((response) => {
Object.assign(this.currentPayment, response.data.data)
@@ -130,7 +130,7 @@ export const usePaymentStore = (useWindow = false) => {
addPayment(data) {
return new Promise((resolve, reject) => {
axios
http
.post('/api/v1/payments', data)
.then((response) => {
this.payments.push(response.data)
@@ -150,7 +150,7 @@ export const usePaymentStore = (useWindow = false) => {
updatePayment(data) {
return new Promise((resolve, reject) => {
axios
http
.put(`/api/v1/payments/${data.id}`, data)
.then((response) => {
if (response.data) {
@@ -179,7 +179,7 @@ export const usePaymentStore = (useWindow = false) => {
const notificationStore = useNotificationStore()
return new Promise((resolve, reject) => {
axios
http
.post(`/api/v1/payments/delete`, id)
.then((response) => {
let index = this.payments.findIndex(
@@ -203,7 +203,7 @@ export const usePaymentStore = (useWindow = false) => {
deleteMultiplePayments() {
const notificationStore = useNotificationStore()
return new Promise((resolve, reject) => {
axios
http
.post(`/api/v1/payments/delete`, { ids: this.selectedPayments })
.then((response) => {
this.selectedPayments.forEach((payment) => {
@@ -260,7 +260,7 @@ export const usePaymentStore = (useWindow = false) => {
searchPayment(params) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/payments`, { params })
.then((response) => {
this.payments = response.data
@@ -275,7 +275,7 @@ export const usePaymentStore = (useWindow = false) => {
previewPayment(params) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/payments/${params.id}/send/preview`, { params })
.then((response) => {
resolve(response)
@@ -289,7 +289,7 @@ export const usePaymentStore = (useWindow = false) => {
sendEmail(data) {
return new Promise((resolve, reject) => {
axios
http
.post(`/api/v1/payments/${data.id}/send`, data)
.then((response) => {
const notificationStore = useNotificationStore()
@@ -308,7 +308,7 @@ export const usePaymentStore = (useWindow = false) => {
getNextNumber(params, setState = false) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/next-number?key=payment`, { params })
.then((response) => {
if (setState) {
@@ -331,7 +331,7 @@ export const usePaymentStore = (useWindow = false) => {
fetchPaymentModes(params) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/payment-methods`, { params })
.then((response) => {
this.paymentModes = response.data.data
@@ -346,7 +346,7 @@ export const usePaymentStore = (useWindow = false) => {
fetchPaymentMode(id) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/payment-methods/${id}`)
.then((response) => {
this.currentPaymentMode = response.data.data
@@ -362,7 +362,7 @@ export const usePaymentStore = (useWindow = false) => {
addPaymentMode(data) {
const notificationStore = useNotificationStore()
return new Promise((resolve, reject) => {
axios
http
.post(`/api/v1/payment-methods`, data)
.then((response) => {
this.paymentModes.push(response.data.data)
@@ -382,7 +382,7 @@ export const usePaymentStore = (useWindow = false) => {
updatePaymentMode(data) {
const notificationStore = useNotificationStore()
return new Promise((resolve, reject) => {
axios
http
.put(`/api/v1/payment-methods/${data.id}`, data)
.then((response) => {
if (response.data) {
@@ -410,7 +410,7 @@ export const usePaymentStore = (useWindow = false) => {
const notificationStore = useNotificationStore()
return new Promise((resolve, reject) => {
axios
http
.delete(`/api/v1/payment-methods/${id}`)
.then((response) => {
let index = this.paymentModes.findIndex(

View File

@@ -1,7 +1,7 @@
const { defineStore } = window.pinia
import { handleError } from '@/scripts/helpers/error-handling'
import { useNotificationStore } from '@/scripts/stores/notification'
import axios from 'axios'
import http from '@/scripts/http'
export const usePDFDriverStore = (useWindow = false) => {
const defineStoreFunc = useWindow ? window.pinia.defineStore : defineStore
@@ -28,7 +28,7 @@ export const usePDFDriverStore = (useWindow = false) => {
actions: {
async fetchDrivers() {
try {
const response = await axios.get('/api/v1/pdf/drivers')
const response = await http.get('/api/v1/pdf/drivers')
this.pdf_drivers = response.data
} catch (err) {
handleError(err)
@@ -37,7 +37,7 @@ export const usePDFDriverStore = (useWindow = false) => {
},
async fetchConfig() {
try {
const response = await axios.get('/api/v1/pdf/config')
const response = await http.get('/api/v1/pdf/config')
this.pdfDriverConfig = response.data
this.pdf_driver = response.data.pdf_driver
} catch (err) {
@@ -47,7 +47,7 @@ export const usePDFDriverStore = (useWindow = false) => {
},
async updateConfig(data) {
try {
const response = await axios.post('/api/v1/pdf/config', data)
const response = await http.post('/api/v1/pdf/config', data)
const notificationStore = useNotificationStore()
if (response.data.success) {
notificationStore.showNotification({

View File

@@ -1,5 +1,5 @@
import { defineStore } from 'pinia'
import axios from 'axios'
import http from '@/scripts/http'
import recurringInvoiceStub from '@/scripts/admin/stub/recurring-invoice'
import recurringInvoiceItemStub from '@/scripts/admin/stub/recurring-invoice-item'
import TaxStub from '../stub/tax'
@@ -162,7 +162,7 @@ export const useRecurringInvoiceStore = (useWindow = false) => {
addRecurringInvoice(data) {
return new Promise((resolve, reject) => {
axios
http
.post('/api/v1/recurring-invoices', data)
.then((response) => {
this.recurringInvoices = [
@@ -187,7 +187,7 @@ export const useRecurringInvoiceStore = (useWindow = false) => {
fetchRecurringInvoice(id) {
return new Promise((resolve, reject) => {
this.isFetchingViewData = true
axios
http
.get(`/api/v1/recurring-invoices/${id}`)
.then((response) => {
Object.assign(this.newRecurringInvoice, response.data.data)
@@ -207,7 +207,7 @@ export const useRecurringInvoiceStore = (useWindow = false) => {
updateRecurringInvoice(data) {
return new Promise((resolve, reject) => {
axios
http
.put(`/api/v1/recurring-invoices/${data.id}`, data)
.then((response) => {
resolve(response)
@@ -234,7 +234,7 @@ export const useRecurringInvoiceStore = (useWindow = false) => {
selectCustomer(id) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/customers/${id}`)
.then((response) => {
this.newRecurringInvoice.customer = response.data.data
@@ -250,7 +250,7 @@ export const useRecurringInvoiceStore = (useWindow = false) => {
searchRecurringInvoice(data) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/recurring-invoices?${data}`)
.then((response) => {
resolve(response)
@@ -264,7 +264,7 @@ export const useRecurringInvoiceStore = (useWindow = false) => {
fetchRecurringInvoices(params) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/recurring-invoices`, { params })
.then((response) => {
this.recurringInvoices = response.data.data
@@ -282,7 +282,7 @@ export const useRecurringInvoiceStore = (useWindow = false) => {
deleteRecurringInvoice(id) {
return new Promise((resolve, reject) => {
axios
http
.post(`/api/v1/recurring-invoices/delete`, id)
.then((response) => {
let index = this.recurringInvoices.findIndex(
@@ -304,7 +304,7 @@ export const useRecurringInvoiceStore = (useWindow = false) => {
if (id) {
ids = [id]
}
axios
http
.post(`/api/v1/recurring-invoices/delete`, {
ids: ids,
})
@@ -492,7 +492,7 @@ export const useRecurringInvoiceStore = (useWindow = false) => {
fetchRecurringInvoiceFrequencyDate(params) {
return new Promise((resolve, reject) => {
axios
http
.get('/api/v1/recurring-invoice-frequency', { params })
.then((response) => {
this.newRecurringInvoice.next_invoice_at =

View File

@@ -1,4 +1,3 @@
import axios from 'axios'
import { defineStore } from 'pinia'
import { useBackupStore } from './backup'
import { useCategoryStore } from './category'

View File

@@ -1,4 +1,4 @@
import axios from 'axios'
import http from '@/scripts/http'
import { defineStore } from 'pinia'
import { useNotificationStore } from '@/scripts/stores/notification'
import _ from 'lodash'
@@ -38,7 +38,7 @@ export const useRoleStore = (useWindow = false) => {
actions: {
fetchRoles(params) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/roles`, { params })
.then((response) => {
this.roles = response.data.data
@@ -53,7 +53,7 @@ export const useRoleStore = (useWindow = false) => {
fetchRole(id) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/roles/${id}`)
.then((response) => {
this.currentRole.name = response.data.data.name
@@ -81,7 +81,7 @@ export const useRoleStore = (useWindow = false) => {
addRole(data) {
const notificationStore = useNotificationStore()
return new Promise((resolve, reject) => {
axios
http
.post('/api/v1/roles', data)
.then((response) => {
this.roles.push(response.data.role)
@@ -101,7 +101,7 @@ export const useRoleStore = (useWindow = false) => {
updateRole(data) {
const notificationStore = useNotificationStore()
return new Promise((resolve, reject) => {
axios
http
.put(`/api/v1/roles/${data.id}`, data)
.then((response) => {
if (response.data) {
@@ -128,7 +128,7 @@ export const useRoleStore = (useWindow = false) => {
if (this.allAbilities.length) {
resolve(this.allAbilities)
} else {
axios
http
.get(`/api/v1/abilities`, { params })
.then((response) => {
this.allAbilities = response.data.abilities
@@ -146,7 +146,7 @@ export const useRoleStore = (useWindow = false) => {
deleteRole(id) {
const notificationStore = useNotificationStore()
return new Promise((resolve, reject) => {
axios
http
.delete(`/api/v1/roles/${id}`)
.then((response) => {
let index = this.roles.findIndex((role) => role.id === id)

View File

@@ -1,4 +1,4 @@
import axios from 'axios'
import http from '@/scripts/http'
import { defineStore } from 'pinia'
import { useNotificationStore } from '@/scripts/stores/notification'
import { handleError } from '@/scripts/helpers/error-handling'
@@ -44,7 +44,7 @@ export const useTaxTypeStore = (useWindow = false) => {
fetchTaxTypes(params) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/tax-types`, { params })
.then((response) => {
this.taxTypes = response.data.data
@@ -59,7 +59,7 @@ export const useTaxTypeStore = (useWindow = false) => {
fetchTaxType(id) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/tax-types/${id}`)
.then((response) => {
this.currentTaxType = response.data.data
@@ -75,7 +75,7 @@ export const useTaxTypeStore = (useWindow = false) => {
addTaxType(data) {
const notificationStore = useNotificationStore()
return new Promise((resolve, reject) => {
axios
http
.post('/api/v1/tax-types', data)
.then((response) => {
this.taxTypes.push(response.data.data)
@@ -95,7 +95,7 @@ export const useTaxTypeStore = (useWindow = false) => {
updateTaxType(data) {
const notificationStore = useNotificationStore()
return new Promise((resolve, reject) => {
axios
http
.put(`/api/v1/tax-types/${data.id}`, data)
.then((response) => {
if (response.data) {
@@ -119,7 +119,7 @@ export const useTaxTypeStore = (useWindow = false) => {
fetchSalesTax(data) {
return new Promise((resolve, reject) => {
axios
http
.post('/api/m/sales-tax-us/current-tax', data)
.then((response) => {
if (response.data) {
@@ -141,7 +141,7 @@ export const useTaxTypeStore = (useWindow = false) => {
deleteTaxType(id) {
return new Promise((resolve, reject) => {
axios
http
.delete(`/api/v1/tax-types/${id}`)
.then((response) => {
if (response.data.success) {

View File

@@ -1,4 +1,4 @@
import axios from 'axios'
import http from '@/scripts/http'
import { defineStore } from 'pinia'
import { useNotificationStore } from '@/scripts/stores/notification'
import { handleError } from '@/scripts/helpers/error-handling'
@@ -31,7 +31,7 @@ export const useUserStore = (useWindow = false) => {
actions: {
updateCurrentUser(data) {
return new Promise((resolve, reject) => {
axios
http
.put('/api/v1/me', data)
.then((response) => {
this.currentUser = response.data.data
@@ -52,7 +52,7 @@ export const useUserStore = (useWindow = false) => {
fetchCurrentUser(params) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/me`, params)
.then((response) => {
this.currentUser = response.data.data
@@ -68,7 +68,7 @@ export const useUserStore = (useWindow = false) => {
uploadAvatar(data) {
return new Promise((resolve, reject) => {
axios
http
.post('/api/v1/me/upload-avatar', data)
.then((response) => {
this.currentUser.avatar = response.data.data.avatar
@@ -83,7 +83,7 @@ export const useUserStore = (useWindow = false) => {
fetchUserSettings(settings) {
return new Promise((resolve, reject) => {
axios
http
.get('/api/v1/me/settings', {
params: {
settings,
@@ -101,7 +101,7 @@ export const useUserStore = (useWindow = false) => {
updateUserSettings(data) {
return new Promise((resolve, reject) => {
axios
http
.put('/api/v1/me/settings', data)
.then((response) => {
if (data.settings.language) {

View File

@@ -1,4 +1,4 @@
import axios from 'axios'
import http from '@/scripts/http'
import { defineStore } from 'pinia'
import { useNotificationStore } from '@/scripts/stores/notification'
import { handleError } from '@/scripts/helpers/error-handling'
@@ -42,7 +42,7 @@ export const useUsersStore = (useWindow = false) => {
fetchUsers(params) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/users`, { params })
.then((response) => {
this.users = response.data.data
@@ -58,7 +58,7 @@ export const useUsersStore = (useWindow = false) => {
fetchUser(id) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/users/${id}`)
.then((response) => {
this.userData = response.data.data
@@ -82,7 +82,7 @@ export const useUsersStore = (useWindow = false) => {
fetchRoles(state) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/roles`)
.then((response) => {
this.roles = response.data.data
@@ -97,7 +97,7 @@ export const useUsersStore = (useWindow = false) => {
addUser(data) {
return new Promise((resolve, reject) => {
axios
http
.post('/api/v1/users', data)
.then((response) => {
this.users.push(response.data)
@@ -118,7 +118,7 @@ export const useUsersStore = (useWindow = false) => {
updateUser(data) {
return new Promise((resolve, reject) => {
axios
http
.put(`/api/v1/users/${data.id}`, data)
.then((response) => {
if (response) {
@@ -145,7 +145,7 @@ export const useUsersStore = (useWindow = false) => {
const notificationStore = useNotificationStore()
return new Promise((resolve, reject) => {
axios
http
.post(`/api/v1/users/delete`, { users: id.ids })
.then((response) => {
let index = this.users.findIndex((user) => user.id === id)
@@ -165,7 +165,7 @@ export const useUsersStore = (useWindow = false) => {
deleteMultipleUsers() {
return new Promise((resolve, reject) => {
axios
http
.post(`/api/v1/users/delete`, { users: this.selectedUsers })
.then((response) => {
this.selectedUsers.forEach((user) => {
@@ -190,7 +190,7 @@ export const useUsersStore = (useWindow = false) => {
searchUsers(params) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/search`, { params })
.then((response) => {
this.userList = response.data.users.data

View File

@@ -41,7 +41,7 @@
</template>
<script type="text/babel" setup>
import axios from 'axios'
import http from '@/scripts/http'
import { reactive, ref, computed } from 'vue'
import { required, email, helpers } from '@vuelidate/validators'
import { useVuelidate } from '@vuelidate/core'
@@ -74,7 +74,7 @@ async function onSubmit(e) {
if (!v$.value.$invalid) {
try {
isLoading.value = true
let res = await axios.post('/api/v1/auth/password/email', formData)
let res = await http.post('/api/v1/auth/password/email', formData)
if (res.data) {
notificationStore.showNotification({
type: 'success',

View File

@@ -56,7 +56,7 @@
</template>
<script setup>
import axios from 'axios'
import http from '@/scripts/http'
import { ref, computed, onMounted } from 'vue'
import { useNotificationStore } from '@/scripts/stores/notification'
import { useRouter } from 'vue-router'
@@ -96,8 +96,6 @@ const getInputType = computed(() => {
})
async function onSubmit() {
axios.defaults.withCredentials = true
v$.value.$touch()
if (v$.value.$invalid) {

View File

@@ -58,7 +58,7 @@ import useVuelidate from '@vuelidate/core'
import { required, email, minLength, sameAs } from '@vuelidate/validators'
import { useNotificationStore } from '@/scripts/stores/notification'
import { useRoute, useRouter } from 'vue-router'
import axios from 'axios'
import http from '@/scripts/http'
import { useI18n } from 'vue-i18n'
import { handleError } from '@/scripts/helpers/error-handling'
@@ -141,7 +141,7 @@ async function onSubmit(e) {
token: route.params.token,
}
isLoading.value = true
let res = await axios.post('/api/v1/auth/reset/password', data)
let res = await http.post('/api/v1/auth/reset/password', data)
isLoading.value = false
if (res.data) {
notificationStore.showNotification({

View File

@@ -673,7 +673,7 @@ import { useRoute } from 'vue-router'
import { useDialogStore } from '@/scripts/stores/dialog'
import { useI18n } from 'vue-i18n'
import moment from 'moment'
import axios from 'axios'
import http from '@/scripts/http'
import ModulePlaceholder from './partials/ModulePlaceholder.vue'
import RecentModuleCard from './partials/RecentModuleCard.vue'
import { useNotificationStore } from '@/scripts/stores/notification'
@@ -853,7 +853,7 @@ async function installModule() {
module: moduleData.value.module_name,
}
let requestResponse = await axios.post(currentStep.stepUrl, updateParams)
let requestResponse = await http.post(currentStep.stepUrl, updateParams)
currentStep.completed = true
if (requestResponse.data) {

View File

@@ -214,7 +214,7 @@
<script setup>
import { useNotificationStore } from '@/scripts/stores/notification'
import axios from 'axios'
import http from '@/scripts/http'
import LoadingIcon from '@/scripts/components/icons/LoadingIcon.vue'
import { reactive, ref, onMounted, computed } from 'vue'
import { useI18n } from 'vue-i18n'
@@ -301,7 +301,7 @@ window.addEventListener('beforeunload', (event) => {
// Created
axios.get('/api/v1/app/version').then((res) => {
http.get('/api/v1/app/version').then((res) => {
currentVersion.value = res.data.version
insiderChannel.value = res.data.channel === 'insider'
})
@@ -344,7 +344,7 @@ function statusClass(step) {
async function checkUpdate() {
try {
isCheckingforUpdate.value = true
let response = await axios.get('/api/v1/check/update', {
let response = await http.get('/api/v1/check/update', {
params: {
channel: insiderChannel ? 'insider' : ''
}
@@ -409,7 +409,7 @@ function onUpdateApp() {
path: path || null,
}
let requestResponse = await axios.post(
let requestResponse = await http.post(
currentStep.stepUrl,
updateParams
)

View File

@@ -73,7 +73,7 @@ I
</template>
<script setup>
import axios from 'axios'
import http from '@/scripts/http'
import { ref, reactive, computed, onMounted } from 'vue'
import { useRoute, useRouter } from 'vue-router'
import InvoiceInformationCard from '@/scripts/components/InvoiceInformationCard.vue'
@@ -85,7 +85,7 @@ const router = useRouter()
loadInvoice()
async function loadInvoice() {
let res = await axios.get(`/customer/invoices/${route.params.hash}`)
let res = await http.get(`/customer/invoices/${route.params.hash}`)
invoiceData.value = res.data.data
}

View File

@@ -379,7 +379,7 @@
<script setup>
import { ref, onMounted, watch } from 'vue'
import axios from 'axios'
import http from '@/scripts/http'
import utils from '@/scripts/helpers/utilities'
const props = defineProps({
@@ -456,7 +456,7 @@ function reset() {
function upload(formData) {
return (
axios
http
.post(props.uploadUrl, formData)
// get data
.then((x) => x.data)

View File

@@ -1,5 +1,5 @@
const { defineStore } = window.pinia
import axios from 'axios'
import http from '@/scripts/http'
import { useNotificationStore } from '@/scripts/stores/notification'
import router from '@/scripts/customer/customer-router'
import { handleError } from '@/scripts/customer/helpers/error-handling'
@@ -20,9 +20,9 @@ export const useAuthStore = defineStore({
login(data) {
const notificationStore = useNotificationStore(true)
return new Promise((resolve, reject) => {
axios.get('/sanctum/csrf-cookie').then((response) => {
http.get('/sanctum/csrf-cookie').then((response) => {
if (response) {
axios
http
.post(`/${data.company}/customer/login`, data)
.then((response) => {
notificationStore.showNotification({
@@ -47,7 +47,7 @@ export const useAuthStore = defineStore({
forgotPassword(data) {
const notificationStore = useNotificationStore(true)
return new Promise((resolve, reject) => {
axios
http
.post(`/api/v1/${data.company}/customer/auth/password/email`, data)
.then((response) => {
@@ -75,7 +75,7 @@ export const useAuthStore = defineStore({
resetPassword(data, company) {
return new Promise((resolve, reject) => {
axios
http
.post(`/api/v1/${company}/customer/auth/reset/password`, data)
.then((response) => {
@@ -102,7 +102,7 @@ export const useAuthStore = defineStore({
logout(data) {
return new Promise((resolve, reject) => {
axios
http
.post(`/${data}/customer/logout`)
.then((response) => {
const notificationStore = useNotificationStore()

View File

@@ -1,6 +1,6 @@
const { defineStore } = window.pinia
import { useGlobalStore } from '@/scripts/customer/stores/global'
import axios from 'axios'
import http from '@/scripts/http'
import { handleError } from '@/scripts/customer/helpers/error-handling'
export const useDashboardStore = defineStore({
@@ -19,7 +19,7 @@ export const useDashboardStore = defineStore({
loadData(data) {
const globalStore = useGlobalStore()
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/${globalStore.companySlug}/customer/dashboard`, {
data,
})

View File

@@ -1,6 +1,6 @@
const { defineStore } = window.pinia
import { useNotificationStore } from '@/scripts/stores/notification'
import axios from 'axios'
import http from '@/scripts/http'
import { handleError } from '@/scripts/customer/helpers/error-handling'
export const useEstimateStore = defineStore({
@@ -13,7 +13,7 @@ export const useEstimateStore = defineStore({
actions: {
fetchEstimate(params, slug) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/${slug}/customer/estimates`, { params })
.then((response) => {
this.estimates = response.data.data
@@ -29,7 +29,7 @@ export const useEstimateStore = defineStore({
fetchViewEstimate(params, slug) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/${slug}/customer/estimates/${params.id}`, {
params,
})
@@ -47,7 +47,7 @@ export const useEstimateStore = defineStore({
searchEstimate(params, slug) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/${slug}/customer/estimates`, { params })
.then((response) => {
this.estimates = response.data
@@ -62,7 +62,7 @@ export const useEstimateStore = defineStore({
acceptEstimate({ slug, id, status }) {
return new Promise((resolve, reject) => {
axios
http
.post(`/api/v1/${slug}/customer/estimate/${id}/status`, { status })
.then((response) => {
let pos = this.estimates.findIndex(
@@ -89,7 +89,7 @@ export const useEstimateStore = defineStore({
rejectEstimate({ slug, id, status }) {
return new Promise((resolve, reject) => {
axios
http
.post(`/api/v1/${slug}/customer/estimate/${id}/status`, { status })
.then((response) => {
let pos = this.estimates.findIndex(

View File

@@ -1,7 +1,7 @@
import { handleError } from '@/scripts/customer/helpers/error-handling'
import { useUserStore } from './user'
const { defineStore } = window.pinia
import axios from 'axios'
import http from '@/scripts/http'
const { global } = window.i18n
export const useGlobalStore = defineStore({
id: 'CustomerPortalGlobalStore',
@@ -22,7 +22,7 @@ export const useGlobalStore = defineStore({
this.companySlug = data
const userStore = useUserStore()
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/${data}/customer/bootstrap`)
.then((response) => {
this.currentUser = response.data.data
@@ -51,7 +51,7 @@ export const useGlobalStore = defineStore({
if (this.countries.length) {
resolve(this.countries)
} else {
axios
http
.get(`/api/v1/${this.companySlug}/customer/countries`)
.then((response) => {
this.countries = response.data.data

View File

@@ -1,6 +1,6 @@
import { handleError } from '@/scripts/customer/helpers/error-handling'
const { defineStore } = window.pinia
import axios from 'axios'
import http from '@/scripts/http'
export const useInvoiceStore = defineStore({
id: 'customerInvoiceStore',
state: () => ({
@@ -12,7 +12,7 @@ export const useInvoiceStore = defineStore({
actions: {
fetchInvoices(params, slug) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/${slug}/customer/invoices`, { params })
.then((response) => {
this.invoices = response.data.data
@@ -28,7 +28,7 @@ export const useInvoiceStore = defineStore({
fetchViewInvoice(params, slug) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/${slug}/customer/invoices/${params.id}`, {
params,
})
@@ -46,7 +46,7 @@ export const useInvoiceStore = defineStore({
searchInvoice(params, slug) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/${slug}/customer/invoices`, { params })
.then((response) => {
this.invoices = response.data

View File

@@ -1,6 +1,6 @@
import { handleError } from '@/scripts/customer/helpers/error-handling'
const { defineStore } = window.pinia
import axios from 'axios'
import http from '@/scripts/http'
export const usePaymentStore = defineStore({
id: 'customerPaymentStore',
@@ -13,7 +13,7 @@ export const usePaymentStore = defineStore({
actions: {
fetchPayments(params, slug) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/${slug}/customer/payments`, { params })
.then((response) => {
this.payments = response.data.data
@@ -29,7 +29,7 @@ export const usePaymentStore = defineStore({
fetchViewPayment(params, slug) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/${slug}/customer/payments/${params.id}`)
.then((response) => {
@@ -45,7 +45,7 @@ export const usePaymentStore = defineStore({
searchPayment(params, slug) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/${slug}/customer/payments`, { params })
.then((response) => {
this.payments = response.data
@@ -60,7 +60,7 @@ export const usePaymentStore = defineStore({
fetchPaymentModes(params, slug) {
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/${slug}/customer/payment-method`, { params })
.then((response) => {
resolve(response)

View File

@@ -2,7 +2,7 @@ import { handleError } from '@/scripts/customer/helpers/error-handling'
const { defineStore } = window.pinia
import { useNotificationStore } from '@/scripts/stores/notification'
import stubs from '@/scripts/customer/stubs/address'
import axios from 'axios'
import http from '@/scripts/http'
import { useGlobalStore } from '@/scripts/customer/stores/global'
export const useUserStore = defineStore({
@@ -37,7 +37,7 @@ export const useUserStore = defineStore({
fetchCurrentUser() {
const globalStore = useGlobalStore()
return new Promise((resolve, reject) => {
axios
http
.get(`/api/v1/${globalStore.companySlug}/customer/me`)
.then((response) => {
Object.assign(this.userForm, response.data.data)
@@ -53,7 +53,7 @@ export const useUserStore = defineStore({
updateCurrentUser({ data, message }) {
const globalStore = useGlobalStore()
return new Promise((resolve, reject) => {
axios
http
.post(`/api/v1/${globalStore.companySlug}/customer/profile`, data)
.then((response) => {
this.userForm = response.data.data

40
resources/scripts/http/index.js vendored Normal file
View File

@@ -0,0 +1,40 @@
import axios from 'axios'
import Ls from '@/scripts/services/ls.js'
window.Ls = Ls
const instance = axios.create({
withCredentials: true,
headers: {
common: {
'X-Requested-With': 'XMLHttpRequest',
},
},
})
instance.interceptors.request.use(function (config) {
const companyId = Ls.get('selectedCompany')
const authToken = Ls.get('auth.token')
if (authToken) {
config.headers.Authorization = authToken
}
if (companyId) {
config.headers.company = companyId
}
return config
})
function http(config) {
return instance(config)
}
http.get = instance.get.bind(instance)
http.post = instance.post.bind(instance)
http.put = instance.put.bind(instance)
http.delete = instance.delete.bind(instance)
http.patch = instance.patch.bind(instance)
export default http

View File

@@ -1,6 +1,6 @@
import '../sass/invoiceshelf.scss'
import 'v-tooltip/dist/v-tooltip.css'
import '@/scripts/plugins/axios.js'
import '@/scripts/http'
import * as VueRouter from 'vue-router'
import router from '@/scripts/router/index'
import * as pinia from 'pinia'

View File

@@ -1,31 +0,0 @@
import axios from 'axios'
import Ls from '@/scripts/services/ls.js'
window.Ls = Ls
window.axios = axios
axios.defaults.withCredentials = true
axios.defaults.headers.common = {
'X-Requested-With': 'XMLHttpRequest',
}
/**
* Interceptors
*/
axios.interceptors.request.use(function (config) {
// Pass selected company to header on all requests
const companyId = Ls.get('selectedCompany')
const authToken = Ls.get('auth.token')
if (authToken) {
config.headers.Authorization = authToken
}
if (companyId) {
config.headers.company = companyId
}
return config
})

432
yarn.lock
View File

@@ -32,11 +32,136 @@
"@babel/helper-string-parser" "^7.25.9"
"@babel/helper-validator-identifier" "^7.25.9"
"@esbuild/aix-ppc64@0.25.9":
version "0.25.9"
resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.25.9.tgz#bef96351f16520055c947aba28802eede3c9e9a9"
integrity sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA==
"@esbuild/android-arm64@0.25.9":
version "0.25.9"
resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.25.9.tgz#d2e70be7d51a529425422091e0dcb90374c1546c"
integrity sha512-IDrddSmpSv51ftWslJMvl3Q2ZT98fUSL2/rlUXuVqRXHCs5EUF1/f+jbjF5+NG9UffUDMCiTyh8iec7u8RlTLg==
"@esbuild/android-arm@0.25.9":
version "0.25.9"
resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.25.9.tgz#d2a753fe2a4c73b79437d0ba1480e2d760097419"
integrity sha512-5WNI1DaMtxQ7t7B6xa572XMXpHAaI/9Hnhk8lcxF4zVN4xstUgTlvuGDorBguKEnZO70qwEcLpfifMLoxiPqHQ==
"@esbuild/android-x64@0.25.9":
version "0.25.9"
resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.25.9.tgz#5278836e3c7ae75761626962f902a0d55352e683"
integrity sha512-I853iMZ1hWZdNllhVZKm34f4wErd4lMyeV7BLzEExGEIZYsOzqDWDf+y082izYUE8gtJnYHdeDpN/6tUdwvfiw==
"@esbuild/darwin-arm64@0.25.9":
version "0.25.9"
resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.9.tgz"
integrity sha512-XIpIDMAjOELi/9PB30vEbVMs3GV1v2zkkPnuyRRURbhqjyzIINwj+nbQATh4H9GxUgH1kFsEyQMxwiLFKUS6Rg==
"@esbuild/darwin-x64@0.25.9":
version "0.25.9"
resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.25.9.tgz#e27dbc3b507b3a1cea3b9280a04b8b6b725f82be"
integrity sha512-jhHfBzjYTA1IQu8VyrjCX4ApJDnH+ez+IYVEoJHeqJm9VhG9Dh2BYaJritkYK3vMaXrf7Ogr/0MQ8/MeIefsPQ==
"@esbuild/freebsd-arm64@0.25.9":
version "0.25.9"
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.9.tgz#364e3e5b7a1fd45d92be08c6cc5d890ca75908ca"
integrity sha512-z93DmbnY6fX9+KdD4Ue/H6sYs+bhFQJNCPZsi4XWJoYblUqT06MQUdBCpcSfuiN72AbqeBFu5LVQTjfXDE2A6Q==
"@esbuild/freebsd-x64@0.25.9":
version "0.25.9"
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.25.9.tgz#7c869b45faeb3df668e19ace07335a0711ec56ab"
integrity sha512-mrKX6H/vOyo5v71YfXWJxLVxgy1kyt1MQaD8wZJgJfG4gq4DpQGpgTB74e5yBeQdyMTbgxp0YtNj7NuHN0PoZg==
"@esbuild/linux-arm64@0.25.9":
version "0.25.9"
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.25.9.tgz#48d42861758c940b61abea43ba9a29b186d6cb8b"
integrity sha512-BlB7bIcLT3G26urh5Dmse7fiLmLXnRlopw4s8DalgZ8ef79Jj4aUcYbk90g8iCa2467HX8SAIidbL7gsqXHdRw==
"@esbuild/linux-arm@0.25.9":
version "0.25.9"
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.25.9.tgz#6ce4b9cabf148274101701d112b89dc67cc52f37"
integrity sha512-HBU2Xv78SMgaydBmdor38lg8YDnFKSARg1Q6AT0/y2ezUAKiZvc211RDFHlEZRFNRVhcMamiToo7bDx3VEOYQw==
"@esbuild/linux-ia32@0.25.9":
version "0.25.9"
resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.25.9.tgz#207e54899b79cac9c26c323fc1caa32e3143f1c4"
integrity sha512-e7S3MOJPZGp2QW6AK6+Ly81rC7oOSerQ+P8L0ta4FhVi+/j/v2yZzx5CqqDaWjtPFfYz21Vi1S0auHrap3Ma3A==
"@esbuild/linux-loong64@0.25.9":
version "0.25.9"
resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.25.9.tgz#0ba48a127159a8f6abb5827f21198b999ffd1fc0"
integrity sha512-Sbe10Bnn0oUAB2AalYztvGcK+o6YFFA/9829PhOCUS9vkJElXGdphz0A3DbMdP8gmKkqPmPcMJmJOrI3VYB1JQ==
"@esbuild/linux-mips64el@0.25.9":
version "0.25.9"
resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.25.9.tgz#a4d4cc693d185f66a6afde94f772b38ce5d64eb5"
integrity sha512-YcM5br0mVyZw2jcQeLIkhWtKPeVfAerES5PvOzaDxVtIyZ2NUBZKNLjC5z3/fUlDgT6w89VsxP2qzNipOaaDyA==
"@esbuild/linux-ppc64@0.25.9":
version "0.25.9"
resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.25.9.tgz#0f5805c1c6d6435a1dafdc043cb07a19050357db"
integrity sha512-++0HQvasdo20JytyDpFvQtNrEsAgNG2CY1CLMwGXfFTKGBGQT3bOeLSYE2l1fYdvML5KUuwn9Z8L1EWe2tzs1w==
"@esbuild/linux-riscv64@0.25.9":
version "0.25.9"
resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.25.9.tgz#6776edece0f8fca79f3386398b5183ff2a827547"
integrity sha512-uNIBa279Y3fkjV+2cUjx36xkx7eSjb8IvnL01eXUKXez/CBHNRw5ekCGMPM0BcmqBxBcdgUWuUXmVWwm4CH9kg==
"@esbuild/linux-s390x@0.25.9":
version "0.25.9"
resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.25.9.tgz#3f6f29ef036938447c2218d309dc875225861830"
integrity sha512-Mfiphvp3MjC/lctb+7D287Xw1DGzqJPb/J2aHHcHxflUo+8tmN/6d4k6I2yFR7BVo5/g7x2Monq4+Yew0EHRIA==
"@esbuild/linux-x64@0.25.9":
version "0.25.9"
resolved "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.9.tgz"
resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.25.9.tgz#831fe0b0e1a80a8b8391224ea2377d5520e1527f"
integrity sha512-iSwByxzRe48YVkmpbgoxVzn76BXjlYFXC7NvLYq+b+kDjyyk30J0JY47DIn8z1MO3K0oSl9fZoRmZPQI4Hklzg==
"@esbuild/netbsd-arm64@0.25.9":
version "0.25.9"
resolved "https://registry.yarnpkg.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.9.tgz#06f99d7eebe035fbbe43de01c9d7e98d2a0aa548"
integrity sha512-9jNJl6FqaUG+COdQMjSCGW4QiMHH88xWbvZ+kRVblZsWrkXlABuGdFJ1E9L7HK+T0Yqd4akKNa/lO0+jDxQD4Q==
"@esbuild/netbsd-x64@0.25.9":
version "0.25.9"
resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.25.9.tgz#db99858e6bed6e73911f92a88e4edd3a8c429a52"
integrity sha512-RLLdkflmqRG8KanPGOU7Rpg829ZHu8nFy5Pqdi9U01VYtG9Y0zOG6Vr2z4/S+/3zIyOxiK6cCeYNWOFR9QP87g==
"@esbuild/openbsd-arm64@0.25.9":
version "0.25.9"
resolved "https://registry.yarnpkg.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.9.tgz#afb886c867e36f9d86bb21e878e1185f5d5a0935"
integrity sha512-YaFBlPGeDasft5IIM+CQAhJAqS3St3nJzDEgsgFixcfZeyGPCd6eJBWzke5piZuZ7CtL656eOSYKk4Ls2C0FRQ==
"@esbuild/openbsd-x64@0.25.9":
version "0.25.9"
resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.25.9.tgz#30855c9f8381fac6a0ef5b5f31ac6e7108a66ecf"
integrity sha512-1MkgTCuvMGWuqVtAvkpkXFmtL8XhWy+j4jaSO2wxfJtilVCi0ZE37b8uOdMItIHz4I6z1bWWtEX4CJwcKYLcuA==
"@esbuild/openharmony-arm64@0.25.9":
version "0.25.9"
resolved "https://registry.yarnpkg.com/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.9.tgz#2f2144af31e67adc2a8e3705c20c2bd97bd88314"
integrity sha512-4Xd0xNiMVXKh6Fa7HEJQbrpP3m3DDn43jKxMjxLLRjWnRsfxjORYJlXPO4JNcXtOyfajXorRKY9NkOpTHptErg==
"@esbuild/sunos-x64@0.25.9":
version "0.25.9"
resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.25.9.tgz#69b99a9b5bd226c9eb9c6a73f990fddd497d732e"
integrity sha512-WjH4s6hzo00nNezhp3wFIAfmGZ8U7KtrJNlFMRKxiI9mxEK1scOMAaa9i4crUtu+tBr+0IN6JCuAcSBJZfnphw==
"@esbuild/win32-arm64@0.25.9":
version "0.25.9"
resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.25.9.tgz#d789330a712af916c88325f4ffe465f885719c6b"
integrity sha512-mGFrVJHmZiRqmP8xFOc6b84/7xa5y5YvR1x8djzXpJBSv/UsNK6aqec+6JDjConTgvvQefdGhFDAs2DLAds6gQ==
"@esbuild/win32-ia32@0.25.9":
version "0.25.9"
resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.25.9.tgz#52fc735406bd49688253e74e4e837ac2ba0789e3"
integrity sha512-b33gLVU2k11nVx1OhX3C8QQP6UHQK4ZtN56oFWvVXvz2VkDoe6fbG8TOgHFxEvqeqohmRnIHe5A1+HADk4OQww==
"@esbuild/win32-x64@0.25.9":
version "0.25.9"
resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.25.9.tgz#585624dc829cfb6e7c0aa6c3ca7d7e6daa87e34f"
integrity sha512-PPOl1mi6lpLNQxnGoyAfschAodRFYXJ+9fs6WHXz7CSWKbOqiMZsubC+BQsVKuul+3vKLuwTHsS2c2y9EoKwxQ==
"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0":
version "4.4.1"
resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz"
@@ -216,7 +341,7 @@
"@nodelib/fs.stat" "2.0.5"
run-parallel "^1.1.9"
"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5":
"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
version "2.0.5"
resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz"
integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
@@ -229,16 +354,71 @@
"@nodelib/fs.scandir" "2.1.5"
fastq "^1.6.0"
"@parcel/watcher-android-arm64@2.5.0":
version "2.5.0"
resolved "https://registry.yarnpkg.com/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.0.tgz#e32d3dda6647791ee930556aee206fcd5ea0fb7a"
integrity sha512-qlX4eS28bUcQCdribHkg/herLe+0A9RyYC+mm2PXpncit8z5b3nSqGVzMNR3CmtAOgRutiZ02eIJJgP/b1iEFQ==
"@parcel/watcher-darwin-arm64@2.5.0":
version "2.5.0"
resolved "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.0.tgz"
integrity sha512-hyZ3TANnzGfLpRA2s/4U1kbw2ZI4qGxaRJbBH2DCSREFfubMswheh8TeiC1sGZ3z2jUf3s37P0BBlrD3sjVTUw==
"@parcel/watcher-darwin-x64@2.5.0":
version "2.5.0"
resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.0.tgz#f9f1d5ce9d5878d344f14ef1856b7a830c59d1bb"
integrity sha512-9rhlwd78saKf18fT869/poydQK8YqlU26TMiNg7AIu7eBp9adqbJZqmdFOsbZ5cnLp5XvRo9wcFmNHgHdWaGYA==
"@parcel/watcher-freebsd-x64@2.5.0":
version "2.5.0"
resolved "https://registry.yarnpkg.com/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.0.tgz#2b77f0c82d19e84ff4c21de6da7f7d096b1a7e82"
integrity sha512-syvfhZzyM8kErg3VF0xpV8dixJ+RzbUaaGaeb7uDuz0D3FK97/mZ5AJQ3XNnDsXX7KkFNtyQyFrXZzQIcN49Tw==
"@parcel/watcher-linux-arm-glibc@2.5.0":
version "2.5.0"
resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.0.tgz#92ed322c56dbafa3d2545dcf2803334aee131e42"
integrity sha512-0VQY1K35DQET3dVYWpOaPFecqOT9dbuCfzjxoQyif1Wc574t3kOSkKevULddcR9znz1TcklCE7Ht6NIxjvTqLA==
"@parcel/watcher-linux-arm-musl@2.5.0":
version "2.5.0"
resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.0.tgz#cd48e9bfde0cdbbd2ecd9accfc52967e22f849a4"
integrity sha512-6uHywSIzz8+vi2lAzFeltnYbdHsDm3iIB57d4g5oaB9vKwjb6N6dRIgZMujw4nm5r6v9/BQH0noq6DzHrqr2pA==
"@parcel/watcher-linux-arm64-glibc@2.5.0":
version "2.5.0"
resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.0.tgz#7b81f6d5a442bb89fbabaf6c13573e94a46feb03"
integrity sha512-BfNjXwZKxBy4WibDb/LDCriWSKLz+jJRL3cM/DllnHH5QUyoiUNEp3GmL80ZqxeumoADfCCP19+qiYiC8gUBjA==
"@parcel/watcher-linux-arm64-musl@2.5.0":
version "2.5.0"
resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.0.tgz#dcb8ff01077cdf59a18d9e0a4dff7a0cfe5fd732"
integrity sha512-S1qARKOphxfiBEkwLUbHjCY9BWPdWnW9j7f7Hb2jPplu8UZ3nes7zpPOW9bkLbHRvWM0WDTsjdOTUgW0xLBN1Q==
"@parcel/watcher-linux-x64-glibc@2.5.0":
version "2.5.0"
resolved "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.0.tgz"
resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.0.tgz#2e254600fda4e32d83942384d1106e1eed84494d"
integrity sha512-d9AOkusyXARkFD66S6zlGXyzx5RvY+chTP9Jp0ypSTC9d4lzyRs9ovGf/80VCxjKddcUvnsGwCHWuF2EoPgWjw==
"@parcel/watcher-linux-x64-musl@2.5.0":
version "2.5.0"
resolved "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.0.tgz"
resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.0.tgz#01fcea60fedbb3225af808d3f0a7b11229792eef"
integrity sha512-iqOC+GoTDoFyk/VYSFHwjHhYrk8bljW6zOhPuhi5t9ulqiYq1togGJB5e3PwYVFFfeVgc6pbz3JdQyDoBszVaA==
"@parcel/watcher-win32-arm64@2.5.0":
version "2.5.0"
resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.0.tgz#87cdb16e0783e770197e52fb1dc027bb0c847154"
integrity sha512-twtft1d+JRNkM5YbmexfcH/N4znDtjgysFaV9zvZmmJezQsKpkfLYJ+JFV3uygugK6AtIM2oADPkB2AdhBrNig==
"@parcel/watcher-win32-ia32@2.5.0":
version "2.5.0"
resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.0.tgz#778c39b56da33e045ba21c678c31a9f9d7c6b220"
integrity sha512-+rgpsNRKwo8A53elqbbHXdOMtY/tAtTzManTWShB5Kk54N8Q9mzNWV7tV+IbGueCbcj826MfWGU3mprWtuf1TA==
"@parcel/watcher-win32-x64@2.5.0":
version "2.5.0"
resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.0.tgz#33873876d0bbc588aacce38e90d1d7480ce81cb7"
integrity sha512-lPrxve92zEHdgeff3aiu4gDOIt4u7sJYha6wbdEZDCDUhtjTsOMiaJzG5lMY4GkWH8p0fMmO2Ppq5G5XXG+DQw==
"@parcel/watcher@^2.4.1":
version "2.5.0"
resolved "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.0.tgz"
@@ -278,16 +458,106 @@
resolved "https://registry.npmjs.org/@remirror/core-constants/-/core-constants-3.0.0.tgz"
integrity sha512-42aWfPrimMfDKDi4YegyS7x+/0tlzaqwPQCULLanv3DMIlu96KTJR0fM5isWX2UViOqlGnX6YFgqWepcX+XMNg==
"@rollup/rollup-android-arm-eabi@4.49.0":
version "4.49.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.49.0.tgz#ba432433f5e7b419dba2be407d1d59fea6b8de48"
integrity sha512-rlKIeL854Ed0e09QGYFlmDNbka6I3EQFw7iZuugQjMb11KMpJCLPFL4ZPbMfaEhLADEL1yx0oujGkBQ7+qW3eA==
"@rollup/rollup-android-arm64@4.49.0":
version "4.49.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.49.0.tgz#4e05c86e0fb9af6eaf52fc298dcdec577477e35c"
integrity sha512-cqPpZdKUSQYRtLLr6R4X3sD4jCBO1zUmeo3qrWBCqYIeH8Q3KRL4F3V7XJ2Rm8/RJOQBZuqzQGWPjjvFUcYa/w==
"@rollup/rollup-darwin-arm64@4.49.0":
version "4.49.0"
resolved "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.49.0.tgz"
integrity sha512-99kMMSMQT7got6iYX3yyIiJfFndpojBmkHfTc1rIje8VbjhmqBXE+nb7ZZP3A5skLyujvT0eIUCUsxAe6NjWbw==
"@rollup/rollup-darwin-x64@4.49.0":
version "4.49.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.49.0.tgz#d44e05bee55b781d7c2cf535d9f9169787c3599d"
integrity sha512-y8cXoD3wdWUDpjOLMKLx6l+NFz3NlkWKcBCBfttUn+VGSfgsQ5o/yDUGtzE9HvsodkP0+16N0P4Ty1VuhtRUGg==
"@rollup/rollup-freebsd-arm64@4.49.0":
version "4.49.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.49.0.tgz#107786b4d604495224c3543bfd2cae33ddf76500"
integrity sha512-3mY5Pr7qv4GS4ZvWoSP8zha8YoiqrU+e0ViPvB549jvliBbdNLrg2ywPGkgLC3cmvN8ya3za+Q2xVyT6z+vZqA==
"@rollup/rollup-freebsd-x64@4.49.0":
version "4.49.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.49.0.tgz#54e105c3da27f31084ca6913fed603627755abde"
integrity sha512-C9KzzOAQU5gU4kG8DTk+tjdKjpWhVWd5uVkinCwwFub2m7cDYLOdtXoMrExfeBmeRy9kBQMkiyJ+HULyF1yj9w==
"@rollup/rollup-linux-arm-gnueabihf@4.49.0":
version "4.49.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.49.0.tgz#725c23e0766b5d9368180bc2c427a51e31d0e147"
integrity sha512-OVSQgEZDVLnTbMq5NBs6xkmz3AADByCWI4RdKSFNlDsYXdFtlxS59J+w+LippJe8KcmeSSM3ba+GlsM9+WwC1w==
"@rollup/rollup-linux-arm-musleabihf@4.49.0":
version "4.49.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.49.0.tgz#6946b0d2f132f2baf5657945b81565d8abd51cc0"
integrity sha512-ZnfSFA7fDUHNa4P3VwAcfaBLakCbYaxCk0jUnS3dTou9P95kwoOLAMlT3WmEJDBCSrOEFFV0Y1HXiwfLYJuLlA==
"@rollup/rollup-linux-arm64-gnu@4.49.0":
version "4.49.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.49.0.tgz#83510a6d03e748619241a17f5a879418a963c5ed"
integrity sha512-Z81u+gfrobVK2iV7GqZCBfEB1y6+I61AH466lNK+xy1jfqFLiQ9Qv716WUM5fxFrYxwC7ziVdZRU9qvGHkYIJg==
"@rollup/rollup-linux-arm64-musl@4.49.0":
version "4.49.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.49.0.tgz#085b98d44c10908626dd40f26bf924433bbd8471"
integrity sha512-zoAwS0KCXSnTp9NH/h9aamBAIve0DXeYpll85shf9NJ0URjSTzzS+Z9evmolN+ICfD3v8skKUPyk2PO0uGdFqg==
"@rollup/rollup-linux-loongarch64-gnu@4.49.0":
version "4.49.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.49.0.tgz#13e0a4808e9f7924f2cc8c133603f627c7a00543"
integrity sha512-2QyUyQQ1ZtwZGiq0nvODL+vLJBtciItC3/5cYN8ncDQcv5avrt2MbKt1XU/vFAJlLta5KujqyHdYtdag4YEjYQ==
"@rollup/rollup-linux-ppc64-gnu@4.49.0":
version "4.49.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.49.0.tgz#aeee4e47fc9ca5d6687e686fea4696202af6b2f4"
integrity sha512-k9aEmOWt+mrMuD3skjVJSSxHckJp+SiFzFG+v8JLXbc/xi9hv2icSkR3U7uQzqy+/QbbYY7iNB9eDTwrELo14g==
"@rollup/rollup-linux-riscv64-gnu@4.49.0":
version "4.49.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.49.0.tgz#603e4591643f1d7851a96d096cf7fcd273f7b0e1"
integrity sha512-rDKRFFIWJ/zJn6uk2IdYLc09Z7zkE5IFIOWqpuU0o6ZpHcdniAyWkwSUWE/Z25N/wNDmFHHMzin84qW7Wzkjsw==
"@rollup/rollup-linux-riscv64-musl@4.49.0":
version "4.49.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.49.0.tgz#f8fd9b01f1888e1816d5a398789d430511286c00"
integrity sha512-FkkhIY/hYFVnOzz1WeV3S9Bd1h0hda/gRqvZCMpHWDHdiIHn6pqsY3b5eSbvGccWHMQ1uUzgZTKS4oGpykf8Tw==
"@rollup/rollup-linux-s390x-gnu@4.49.0":
version "4.49.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.49.0.tgz#37a1fd372d9b93d2b75b2f37c482ecf52f52849b"
integrity sha512-gRf5c+A7QiOG3UwLyOOtyJMD31JJhMjBvpfhAitPAoqZFcOeK3Kc1Veg1z/trmt+2P6F/biT02fU19GGTS529A==
"@rollup/rollup-linux-x64-gnu@4.49.0":
version "4.49.0"
resolved "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.49.0.tgz"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.49.0.tgz#131e66dbf7e71cb2a389acc45319bd4c990e093a"
integrity sha512-BR7+blScdLW1h/2hB/2oXM+dhTmpW3rQt1DeSiCP9mc2NMMkqVgjIN3DDsNpKmezffGC9R8XKVOLmBkRUcK/sA==
"@rollup/rollup-linux-x64-musl@4.49.0":
version "4.49.0"
resolved "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.49.0.tgz"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.49.0.tgz#b7245a5ea57db9679e8bf3032c25a5d2c5f54056"
integrity sha512-hDMOAe+6nX3V5ei1I7Au3wcr9h3ktKzDvF2ne5ovX8RZiAHEtX1A5SNNk4zt1Qt77CmnbqT+upb/umzoPMWiPg==
"@rollup/rollup-win32-arm64-msvc@4.49.0":
version "4.49.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.49.0.tgz#768a128bb5da3c5472c3c56aec77507d28bc7209"
integrity sha512-wkNRzfiIGaElC9kXUT+HLx17z7D0jl+9tGYRKwd8r7cUqTL7GYAvgUY++U2hK6Ar7z5Z6IRRoWC8kQxpmM7TDA==
"@rollup/rollup-win32-ia32-msvc@4.49.0":
version "4.49.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.49.0.tgz#ce3f3b2eebe585340631498666718f00983a6a62"
integrity sha512-gq5aW/SyNpjp71AAzroH37DtINDcX1Qw2iv9Chyz49ZgdOP3NV8QCyKZUrGsYX9Yyggj5soFiRCgsL3HwD8TdA==
"@rollup/rollup-win32-x64-msvc@4.49.0":
version "4.49.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.49.0.tgz#c2a0e3b81262a7e9dd12ce18b350a97558dd50bc"
integrity sha512-gEtqFbzmZLFk2xKh7g0Rlo8xzho8KrEFEkzvHbfUGkrgXOpZ4XagQ6n+wIZFNh1nTb8UD16J4nFSFKXYgnbdBg==
"@rvxlab/tailwind-plugin-ios-full-height@^1.1.0":
version "1.1.0"
resolved "https://registry.npmjs.org/@rvxlab/tailwind-plugin-ios-full-height/-/tailwind-plugin-ios-full-height-1.1.0.tgz"
@@ -332,7 +602,7 @@
dependencies:
"@tanstack/virtual-core" "3.11.2"
"@tiptap/core@^2.11.2", "@tiptap/core@^2.7.0":
"@tiptap/core@^2.11.2":
version "2.11.2"
resolved "https://registry.npmjs.org/@tiptap/core/-/core-2.11.2.tgz"
integrity sha512-Z437c/sQg31yrRVgLJVkQuih+7Og5tjRx6FE/zE47QgEayqQ9yXH0LrTAbPiY6IfY1X+f2A0h3e5Y/WGD6rC3Q==
@@ -458,7 +728,7 @@
resolved "https://registry.npmjs.org/@tiptap/extension-text/-/extension-text-2.11.2.tgz"
integrity sha512-fJZeKYM5jeJ7NpS3FWLnC/NAvg+mZNbcTaRgXMo5ljBCgiMcYHhYg9p/RHk4SeICZBBpR9WSSZXHMACd9CbJiA==
"@tiptap/pm@^2.11.2", "@tiptap/pm@^2.7.0":
"@tiptap/pm@^2.11.2":
version "2.11.2"
resolved "https://registry.npmjs.org/@tiptap/pm/-/pm-2.11.2.tgz"
integrity sha512-lNOMFRcD0mGy7Hf8tFMHW/fnglvq3dA0grs0QrSY4cHyYbH9BHtQjLMDceczXdXbXZq7nEqC40UBWNnqtaclpw==
@@ -517,7 +787,7 @@
"@tiptap/extension-bubble-menu" "^2.11.2"
"@tiptap/extension-floating-menu" "^2.11.2"
"@types/estree@^1.0.6", "@types/estree@1.0.8":
"@types/estree@1.0.8", "@types/estree@^1.0.6":
version "1.0.8"
resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz"
integrity sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==
@@ -545,7 +815,7 @@
resolved "https://registry.npmjs.org/@types/mdurl/-/mdurl-2.0.0.tgz"
integrity sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==
"@types/node@^18.0.0 || ^20.0.0 || >=22.0.0", "@types/node@^20.11.9":
"@types/node@^20.11.9":
version "20.19.11"
resolved "https://registry.npmjs.org/@types/node/-/node-20.19.11.tgz"
integrity sha512-uug3FEEGv0r+jrecvUUpbY8lLisvIjg6AAic6a2bSP5OEOLeJsDSnvhCDov7ipFFMXS3orMpzlmi0ZcuGkBbow==
@@ -581,7 +851,7 @@
"@vue/compiler-core" "3.5.13"
"@vue/shared" "3.5.13"
"@vue/compiler-sfc@^3.5.13", "@vue/compiler-sfc@3.5.13":
"@vue/compiler-sfc@3.5.13", "@vue/compiler-sfc@^3.5.13":
version "3.5.13"
resolved "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.13.tgz"
integrity sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==
@@ -696,7 +966,7 @@ acorn-jsx@^5.3.2:
resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz"
integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^8.15.0, acorn@^8.9.0:
acorn@^8.15.0, acorn@^8.9.0:
version "8.15.0"
resolved "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz"
integrity sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==
@@ -773,14 +1043,14 @@ autoprefixer@^10.4.20:
picocolors "^1.0.1"
postcss-value-parser "^4.2.0"
axios@0.30.0:
version "0.30.0"
resolved "https://registry.npmjs.org/axios/-/axios-0.30.0.tgz"
integrity sha512-Z4F3LjCgfjZz8BMYalWdMgAQUnEtKDmpwNHjh/C8pQZWde32TF64cqnSeyL3xD/aTIASRU30RHTNzRiV/NpGMg==
axios@^1:
version "1.14.0"
resolved "https://registry.yarnpkg.com/axios/-/axios-1.14.0.tgz#7c29f4cf2ea91ef05018d5aa5399bf23ed3120eb"
integrity sha512-3Y8yrqLSwjuzpXuZ0oIYZ/XGgLwUIBU3uLvbcpb0pidD9ctpShJd43KSlEEkVQg6DS0G9NKyzOvBfUtDKEyHvQ==
dependencies:
follow-redirects "^1.15.4"
form-data "^4.0.0"
proxy-from-env "^1.1.0"
follow-redirects "^1.15.11"
form-data "^4.0.5"
proxy-from-env "^2.1.0"
balanced-match@^1.0.0:
version "1.0.2"
@@ -819,7 +1089,7 @@ braces@^3.0.3, braces@~3.0.2:
dependencies:
fill-range "^7.1.1"
browserslist@^4.23.3, "browserslist@>= 4.21.0":
browserslist@^4.23.3:
version "4.24.4"
resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz"
integrity sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==
@@ -919,16 +1189,16 @@ color-convert@^2.0.1:
dependencies:
color-name "~1.1.4"
color-name@^1.0.0, color-name@~1.1.4:
version "1.1.4"
resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz"
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
color-name@1.1.3:
version "1.1.3"
resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz"
integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
color-name@^1.0.0, color-name@~1.1.4:
version "1.1.4"
resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz"
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
combined-stream@^1.0.8:
version "1.0.8"
resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz"
@@ -1157,7 +1427,7 @@ eslint-visitor-keys@^4.2.1:
resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz"
integrity sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==
"eslint@^6.0.0 || ^7.0.0 || >=8.0.0", "eslint@^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0", eslint@^9.18.0, eslint@>=6.0.0, eslint@>=7.0.0:
eslint@^9.18.0:
version "9.34.0"
resolved "https://registry.npmjs.org/eslint/-/eslint-9.34.0.tgz"
integrity sha512-RNCHRX5EwdrESy3Jc9o8ie8Bog+PeYvvSR8sDGoZxNFTvZ4dlxUB3WzQ3bQMztFrSRODGrLLj8g6OFuGY/aiQg==
@@ -1198,16 +1468,7 @@ eslint-visitor-keys@^4.2.1:
natural-compare "^1.4.0"
optionator "^0.9.3"
espree@^10.0.1:
version "10.4.0"
resolved "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz"
integrity sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==
dependencies:
acorn "^8.15.0"
acorn-jsx "^5.3.2"
eslint-visitor-keys "^4.2.1"
espree@^10.4.0:
espree@^10.0.1, espree@^10.4.0:
version "10.4.0"
resolved "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz"
integrity sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==
@@ -1332,10 +1593,10 @@ flatted@^3.2.9:
resolved "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz"
integrity sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==
follow-redirects@^1.15.4:
version "1.15.9"
resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz"
integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==
follow-redirects@^1.15.11:
version "1.15.11"
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.11.tgz#777d73d72a92f8ec4d2e410eb47352a56b8e8340"
integrity sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==
foreground-child@^3.1.0:
version "3.3.0"
@@ -1345,10 +1606,10 @@ foreground-child@^3.1.0:
cross-spawn "^7.0.0"
signal-exit "^4.0.1"
form-data@^4.0.0:
version "4.0.4"
resolved "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz"
integrity sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==
form-data@^4.0.5:
version "4.0.5"
resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.5.tgz#b49e48858045ff4cbf6b03e1805cebcad3679053"
integrity sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==
dependencies:
asynckit "^0.4.0"
combined-stream "^1.0.8"
@@ -1361,6 +1622,11 @@ fraction.js@^4.3.7:
resolved "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz"
integrity sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==
fsevents@~2.3.2, fsevents@~2.3.3:
version "2.3.3"
resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz"
integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
function-bind@^1.1.2:
version "1.1.2"
resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz"
@@ -1390,7 +1656,7 @@ get-proto@^1.0.1:
dunder-proto "^1.0.1"
es-object-atoms "^1.0.0"
glob-parent@^5.1.2:
glob-parent@^5.1.2, glob-parent@~5.1.2:
version "5.1.2"
resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz"
integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
@@ -1404,13 +1670,6 @@ glob-parent@^6.0.2:
dependencies:
is-glob "^4.0.3"
glob-parent@~5.1.2:
version "5.1.2"
resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz"
integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
dependencies:
is-glob "^4.0.1"
glob@^10.3.10:
version "10.4.5"
resolved "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz"
@@ -1547,7 +1806,7 @@ jackspeak@^3.1.2:
optionalDependencies:
"@pkgjs/parseargs" "^0.11.0"
jiti@*, jiti@^1.21.6, jiti@>=1.21.0:
jiti@^1.21.6:
version "1.21.7"
resolved "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz"
integrity sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==
@@ -1884,7 +2143,7 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1:
resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz"
integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
"picomatch@^3 || ^4", picomatch@^4.0.2:
picomatch@^4.0.2:
version "4.0.3"
resolved "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz"
integrity sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==
@@ -1938,30 +2197,6 @@ postcss-nested@^6.2.0:
dependencies:
postcss-selector-parser "^6.1.1"
postcss-selector-parser@^6.0.15:
version "6.1.2"
resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz"
integrity sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==
dependencies:
cssesc "^3.0.0"
util-deprecate "^1.0.2"
postcss-selector-parser@^6.1.1:
version "6.1.2"
resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz"
integrity sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==
dependencies:
cssesc "^3.0.0"
util-deprecate "^1.0.2"
postcss-selector-parser@^6.1.2:
version "6.1.2"
resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz"
integrity sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==
dependencies:
cssesc "^3.0.0"
util-deprecate "^1.0.2"
postcss-selector-parser@6.0.10:
version "6.0.10"
resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz"
@@ -1970,12 +2205,20 @@ postcss-selector-parser@6.0.10:
cssesc "^3.0.0"
util-deprecate "^1.0.2"
postcss-selector-parser@^6.0.15, postcss-selector-parser@^6.1.1, postcss-selector-parser@^6.1.2:
version "6.1.2"
resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz"
integrity sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==
dependencies:
cssesc "^3.0.0"
util-deprecate "^1.0.2"
postcss-value-parser@^4.0.0, postcss-value-parser@^4.2.0:
version "4.2.0"
resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz"
integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
postcss@^8.0.0, postcss@^8.1.0, postcss@^8.2.14, postcss@^8.4.21, postcss@^8.4.47, postcss@^8.4.48, postcss@^8.4.49, postcss@^8.5.3, postcss@>=8.0.9:
postcss@^8.4.47, postcss@^8.4.48, postcss@^8.4.49, postcss@^8.5.3:
version "8.5.6"
resolved "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz"
integrity sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==
@@ -2086,7 +2329,7 @@ prosemirror-menu@^1.2.4:
prosemirror-history "^1.0.0"
prosemirror-state "^1.0.0"
prosemirror-model@^1.0.0, prosemirror-model@^1.19.0, prosemirror-model@^1.20.0, prosemirror-model@^1.21.0, prosemirror-model@^1.22.1, prosemirror-model@^1.23.0, prosemirror-model@^1.24.1:
prosemirror-model@^1.0.0, prosemirror-model@^1.19.0, prosemirror-model@^1.20.0, prosemirror-model@^1.21.0, prosemirror-model@^1.23.0, prosemirror-model@^1.24.1:
version "1.24.1"
resolved "https://registry.npmjs.org/prosemirror-model/-/prosemirror-model-1.24.1.tgz"
integrity sha512-YM053N+vTThzlWJ/AtPtF1j0ebO36nvbmDy4U7qA2XQB8JVaQp1FmB9Jhrps8s+z+uxhhVTny4m20ptUvhk0Mg==
@@ -2109,7 +2352,7 @@ prosemirror-schema-list@^1.4.1:
prosemirror-state "^1.0.0"
prosemirror-transform "^1.7.3"
prosemirror-state@^1.0.0, prosemirror-state@^1.2.2, prosemirror-state@^1.4.2, prosemirror-state@^1.4.3:
prosemirror-state@^1.0.0, prosemirror-state@^1.2.2, prosemirror-state@^1.4.3:
version "1.4.3"
resolved "https://registry.npmjs.org/prosemirror-state/-/prosemirror-state-1.4.3.tgz"
integrity sha512-goFKORVbvPuAQaXhpbemJFRKJ2aixr+AZMGiquiqKxaucC6hlpHNZHWgz5R7dS4roHiwq9vDctE//CZ++o0W1Q==
@@ -2144,7 +2387,7 @@ prosemirror-transform@^1.0.0, prosemirror-transform@^1.1.0, prosemirror-transfor
dependencies:
prosemirror-model "^1.21.0"
prosemirror-view@^1.0.0, prosemirror-view@^1.1.0, prosemirror-view@^1.27.0, prosemirror-view@^1.31.0, prosemirror-view@^1.33.8, prosemirror-view@^1.37.0, prosemirror-view@^1.37.1:
prosemirror-view@^1.0.0, prosemirror-view@^1.1.0, prosemirror-view@^1.27.0, prosemirror-view@^1.31.0, prosemirror-view@^1.37.0, prosemirror-view@^1.37.1:
version "1.37.1"
resolved "https://registry.npmjs.org/prosemirror-view/-/prosemirror-view-1.37.1.tgz"
integrity sha512-MEAnjOdXU1InxEmhjgmEzQAikaS6lF3hD64MveTPpjOGNTl87iRLA1HupC/DEV6YuK7m4Q9DHFNTjwIVtqz5NA==
@@ -2153,10 +2396,10 @@ prosemirror-view@^1.0.0, prosemirror-view@^1.1.0, prosemirror-view@^1.27.0, pros
prosemirror-state "^1.0.0"
prosemirror-transform "^1.1.0"
proxy-from-env@^1.1.0:
version "1.1.0"
resolved "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz"
integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==
proxy-from-env@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-2.1.0.tgz#a7487568adad577cfaaa7e88c49cab3ab3081aba"
integrity sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA==
punycode.js@^2.3.1:
version "2.3.1"
@@ -2252,7 +2495,7 @@ run-parallel@^1.1.9:
dependencies:
queue-microtask "^1.2.2"
sass@*, sass@^1.83.1:
sass@^1.83.1:
version "1.83.1"
resolved "https://registry.npmjs.org/sass/-/sass-1.83.1.tgz"
integrity sha512-EVJbDaEs4Rr3F0glJzFSOvtg2/oy2V/YrGFPqPY24UqcLDWcI9ZY5sN+qyO3c/QCZwzgfirvhXvINiJCE/OLcA==
@@ -2290,7 +2533,7 @@ sortablejs@1.14.0:
resolved "https://registry.npmjs.org/sortablejs/-/sortablejs-1.14.0.tgz"
integrity sha512-pBXvQCs5/33fdN1/39pPL0NZF20LeRbLQ5jtnheIPN9JQAaufGjKdWduZn4U7wCtVuzKhmRkI0DFYHYRbB2H1w==
source-map-js@^1.0.2, source-map-js@^1.2.0, source-map-js@^1.2.1, "source-map-js@>=0.6.2 <2.0.0":
"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.2, source-map-js@^1.2.0, source-map-js@^1.2.1:
version "1.2.1"
resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz"
integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==
@@ -2378,7 +2621,7 @@ tailwind-scrollbar@^3.1.0:
resolved "https://registry.npmjs.org/tailwind-scrollbar/-/tailwind-scrollbar-3.1.0.tgz"
integrity sha512-pmrtDIZeHyu2idTejfV59SbaJyvp1VRjYxAjZBH0jnyrPRo6HL1kD5Glz8VPagasqr6oAx6M05+Tuw429Z8jxg==
"tailwindcss@^1.2 || ^2.0 || ^3.0", tailwindcss@^3.4.17, "tailwindcss@>=2.0.0 || >=3.0.0 || >=3.0.0-alpha.1", "tailwindcss@>=3.0.0 || >= 3.0.0-alpha.1 || >= 4.0.0-alpha.20 || >= 4.0.0-beta.1", "tailwindcss@>=3.0.0 || insiders || >=4.0.0-alpha.20 || >=4.0.0-beta.1", tailwindcss@3.x:
tailwindcss@^3.4.17:
version "3.4.17"
resolved "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.17.tgz"
integrity sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==
@@ -2459,11 +2702,6 @@ type-fest@^0.20.2:
resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz"
integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==
typescript@*, typescript@>=4.4.4:
version "5.8.3"
resolved "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz"
integrity sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==
uc.micro@^2.0.0, uc.micro@^2.1.0:
version "2.1.0"
resolved "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz"
@@ -2522,7 +2760,7 @@ vite-plugin-full-reload@^1.1.0:
picocolors "^1.0.0"
picomatch "^2.3.1"
"vite@^5.0.0 || ^6.0.0", vite@^6.0.7:
vite@^6.0.7:
version "6.3.5"
resolved "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz"
integrity sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==
@@ -2587,7 +2825,7 @@ vue-router@^4.5.0:
dependencies:
"@vue/devtools-api" "^6.6.4"
"vue@^2.0.0 || >=3.0.0", "vue@^2.7.0 || ^3.0.0", "vue@^2.7.0 || ^3.5.11", vue@^3.0.0, "vue@^3.0.0-0 || ^2.6.0", vue@^3.0.1, vue@^3.0.11, vue@^3.2.0, vue@^3.2.25, vue@^3.5, vue@^3.5.13, "vue@>= 3", "vue@>= 3.2.0", vue@3.5.13:
vue@^3.5, vue@^3.5.13:
version "3.5.13"
resolved "https://registry.npmjs.org/vue/-/vue-3.5.13.tgz"
integrity sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==
@@ -2645,7 +2883,7 @@ xml-name-validator@^4.0.0:
resolved "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz"
integrity sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==
yaml@^2.3.4, yaml@^2.4.2:
yaml@^2.3.4:
version "2.7.0"
resolved "https://registry.npmjs.org/yaml/-/yaml-2.7.0.tgz"
integrity sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==