mirror of
https://github.com/jwinterm/modoboa.git
synced 2026-10-22 06:28:41 +02:00
Improved pre-commit and linters config
This commit is contained in:
+41
-41
@@ -3,45 +3,45 @@ import repository from './repository'
|
||||
const resource = 'account'
|
||||
|
||||
export default {
|
||||
getMe() {
|
||||
return repository.get(`/${resource}/me/`)
|
||||
},
|
||||
checkPassword(value) {
|
||||
return repository.post(`/${resource}/me/password/`, { password: value })
|
||||
},
|
||||
verifyTFACode(code) {
|
||||
const payload = { code }
|
||||
return repository.post(`${resource}/tfa/verify/`, payload)
|
||||
},
|
||||
startTFASetup() {
|
||||
return repository.post(`${resource}/tfa/setup/`)
|
||||
},
|
||||
getKeyForTFASetup() {
|
||||
return repository.get(`${resource}/tfa/setup/key/`)
|
||||
},
|
||||
finalizeTFASetup(pinCode) {
|
||||
const payload = { pin_code: pinCode }
|
||||
return repository.post(`${resource}/tfa/setup/check/`, payload)
|
||||
},
|
||||
disableTFA(data) {
|
||||
return repository.post(`${resource}/tfa/disable/`, data)
|
||||
},
|
||||
resetRecoveryCodes(data) {
|
||||
return repository.post(`${resource}/tfa/reset_codes/`, data)
|
||||
},
|
||||
getForward() {
|
||||
return repository.get(`${resource}/forward/`)
|
||||
},
|
||||
setForward(data) {
|
||||
return repository.post(`${resource}/forward/`, data)
|
||||
},
|
||||
getAPIToken() {
|
||||
return repository.get(`${resource}/api_token/`)
|
||||
},
|
||||
createAPIToken() {
|
||||
return repository.post(`${resource}/api_token/`)
|
||||
},
|
||||
deleteAPIToken() {
|
||||
return repository.delete(`${resource}/api_token/`)
|
||||
},
|
||||
getMe() {
|
||||
return repository.get(`/${resource}/me/`)
|
||||
},
|
||||
checkPassword(value) {
|
||||
return repository.post(`/${resource}/me/password/`, { password: value })
|
||||
},
|
||||
verifyTFACode(code) {
|
||||
const payload = { code }
|
||||
return repository.post(`${resource}/tfa/verify/`, payload)
|
||||
},
|
||||
startTFASetup() {
|
||||
return repository.post(`${resource}/tfa/setup/`)
|
||||
},
|
||||
getKeyForTFASetup() {
|
||||
return repository.get(`${resource}/tfa/setup/key/`)
|
||||
},
|
||||
finalizeTFASetup(pinCode) {
|
||||
const payload = { pin_code: pinCode }
|
||||
return repository.post(`${resource}/tfa/setup/check/`, payload)
|
||||
},
|
||||
disableTFA(data) {
|
||||
return repository.post(`${resource}/tfa/disable/`, data)
|
||||
},
|
||||
resetRecoveryCodes(data) {
|
||||
return repository.post(`${resource}/tfa/reset_codes/`, data)
|
||||
},
|
||||
getForward() {
|
||||
return repository.get(`${resource}/forward/`)
|
||||
},
|
||||
setForward(data) {
|
||||
return repository.post(`${resource}/forward/`, data)
|
||||
},
|
||||
getAPIToken() {
|
||||
return repository.get(`${resource}/api_token/`)
|
||||
},
|
||||
createAPIToken() {
|
||||
return repository.post(`${resource}/api_token/`)
|
||||
},
|
||||
deleteAPIToken() {
|
||||
return repository.delete(`${resource}/api_token/`)
|
||||
},
|
||||
}
|
||||
|
||||
@@ -3,25 +3,25 @@ import repository from './repository'
|
||||
const resource = 'accounts'
|
||||
|
||||
export default {
|
||||
getAll({ domain, role }) {
|
||||
return repository.get(`/${resource}/`, { params: { domain, role } })
|
||||
},
|
||||
get(accountId) {
|
||||
return repository.get(`${resource}/${accountId}/`)
|
||||
},
|
||||
getRandomPassword() {
|
||||
return repository.get(`${resource}/random_password/`)
|
||||
},
|
||||
validate(data) {
|
||||
return repository.post(`${resource}/validate/`, data)
|
||||
},
|
||||
create(data) {
|
||||
return repository.post(`${resource}/`, data)
|
||||
},
|
||||
patch(accountId, data) {
|
||||
return repository.patch(`${resource}/${accountId}/`, data)
|
||||
},
|
||||
delete(accountId, data) {
|
||||
return repository.post(`${resource}/${accountId}/delete/`, data)
|
||||
},
|
||||
getAll({ domain, role }) {
|
||||
return repository.get(`/${resource}/`, { params: { domain, role } })
|
||||
},
|
||||
get(accountId) {
|
||||
return repository.get(`${resource}/${accountId}/`)
|
||||
},
|
||||
getRandomPassword() {
|
||||
return repository.get(`${resource}/random_password/`)
|
||||
},
|
||||
validate(data) {
|
||||
return repository.post(`${resource}/validate/`, data)
|
||||
},
|
||||
create(data) {
|
||||
return repository.post(`${resource}/`, data)
|
||||
},
|
||||
patch(accountId, data) {
|
||||
return repository.patch(`${resource}/${accountId}/`, data)
|
||||
},
|
||||
delete(accountId, data) {
|
||||
return repository.post(`${resource}/${accountId}/delete/`, data)
|
||||
},
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import repository from './repository'
|
||||
|
||||
export default {
|
||||
getComponentsInformation() {
|
||||
return repository.get('/admin/components/')
|
||||
},
|
||||
getComponentsInformation() {
|
||||
return repository.get('/admin/components/')
|
||||
},
|
||||
}
|
||||
|
||||
+14
-14
@@ -3,18 +3,18 @@ import repository from './repository'
|
||||
const resource = 'alarms'
|
||||
|
||||
export default {
|
||||
getAll(params) {
|
||||
return repository.get(`${resource}/`, { params })
|
||||
},
|
||||
switchStatus(alarmId, data) {
|
||||
return repository.patch(`${resource}/${alarmId}/switch/`, data)
|
||||
},
|
||||
delete(alarmId) {
|
||||
return repository.delete(`${resource}/${alarmId}/`)
|
||||
},
|
||||
bulkDelete(alarmsIds) {
|
||||
return repository.delete(`${resource}/bulk_delete/`, {
|
||||
params: { ids: alarmsIds },
|
||||
})
|
||||
},
|
||||
getAll(params) {
|
||||
return repository.get(`${resource}/`, { params })
|
||||
},
|
||||
switchStatus(alarmId, data) {
|
||||
return repository.patch(`${resource}/${alarmId}/switch/`, data)
|
||||
},
|
||||
delete(alarmId) {
|
||||
return repository.delete(`${resource}/${alarmId}/`)
|
||||
},
|
||||
bulkDelete(alarmsIds) {
|
||||
return repository.delete(`${resource}/bulk_delete/`, {
|
||||
params: { ids: alarmsIds },
|
||||
})
|
||||
},
|
||||
}
|
||||
|
||||
+21
-21
@@ -3,25 +3,25 @@ import repository from './repository'
|
||||
const resource = 'aliases'
|
||||
|
||||
export default {
|
||||
getAll() {
|
||||
return repository.get(`${resource}/`)
|
||||
},
|
||||
get(aliasId) {
|
||||
return repository.get(`${resource}/${aliasId}/`)
|
||||
},
|
||||
getRandomAddress() {
|
||||
return repository.get(`${resource}/random_address/`)
|
||||
},
|
||||
validate(data) {
|
||||
return repository.post(`${resource}/validate/`, data)
|
||||
},
|
||||
create(data) {
|
||||
return repository.post(`${resource}/`, data)
|
||||
},
|
||||
patch(aliasId, data) {
|
||||
return repository.patch(`${resource}/${aliasId}/`, data)
|
||||
},
|
||||
delete(aliasId) {
|
||||
return repository.delete(`${resource}/${aliasId}/`)
|
||||
},
|
||||
getAll() {
|
||||
return repository.get(`${resource}/`)
|
||||
},
|
||||
get(aliasId) {
|
||||
return repository.get(`${resource}/${aliasId}/`)
|
||||
},
|
||||
getRandomAddress() {
|
||||
return repository.get(`${resource}/random_address/`)
|
||||
},
|
||||
validate(data) {
|
||||
return repository.post(`${resource}/validate/`, data)
|
||||
},
|
||||
create(data) {
|
||||
return repository.post(`${resource}/`, data)
|
||||
},
|
||||
patch(aliasId, data) {
|
||||
return repository.patch(`${resource}/${aliasId}/`, data)
|
||||
},
|
||||
delete(aliasId) {
|
||||
return repository.delete(`${resource}/${aliasId}/`)
|
||||
},
|
||||
}
|
||||
|
||||
+12
-12
@@ -1,16 +1,16 @@
|
||||
import repository from './repository'
|
||||
|
||||
export default {
|
||||
requestToken(data) {
|
||||
return repository.post('/token/', data)
|
||||
},
|
||||
recoverPassword(data) {
|
||||
return repository.post('/password_reset/', data)
|
||||
},
|
||||
checkSmsTotp(data) {
|
||||
return repository.post('/sms_totp/', data)
|
||||
},
|
||||
changePassword(data) {
|
||||
return repository.post('/reset_confirm/', data)
|
||||
},
|
||||
requestToken(data) {
|
||||
return repository.post('/token/', data)
|
||||
},
|
||||
recoverPassword(data) {
|
||||
return repository.post('/password_reset/', data)
|
||||
},
|
||||
checkSmsTotp(data) {
|
||||
return repository.post('/sms_totp/', data)
|
||||
},
|
||||
changePassword(data) {
|
||||
return repository.post('/reset_confirm/', data)
|
||||
},
|
||||
}
|
||||
|
||||
+68
-68
@@ -4,72 +4,72 @@ const domainResource = 'domains'
|
||||
const domainAliasResource = 'domainaliases'
|
||||
|
||||
export default {
|
||||
getDomains() {
|
||||
return repository.get(`/${domainResource}/`)
|
||||
},
|
||||
getDomain(domainId) {
|
||||
return repository.get(`/${domainResource}/${domainId}/`)
|
||||
},
|
||||
getDomainDNSDetail(domainId) {
|
||||
return repository.get(`/${domainResource}/${domainId}/dns_detail/`)
|
||||
},
|
||||
getDomainDmarcAlignment(domainId, period) {
|
||||
return repository.get(
|
||||
`${domainResource}/${domainId}/dmarc/alignment_stats/`,
|
||||
{ params: { period } }
|
||||
)
|
||||
},
|
||||
getDomainAliases(domain) {
|
||||
let url = `/${domainAliasResource}/`
|
||||
if (domain !== undefined) {
|
||||
url += `?domain=${domain}`
|
||||
}
|
||||
return repository.get(url)
|
||||
},
|
||||
getDomainAdministrators(domainId) {
|
||||
return repository.get(`/${domainResource}/${domainId}/administrators/`)
|
||||
},
|
||||
addDomainAdministrator(domainId, accountId) {
|
||||
return repository.post(
|
||||
`/${domainResource}/${domainId}/administrators/add/`,
|
||||
{ account: accountId }
|
||||
)
|
||||
},
|
||||
removeDomainAdministrator(domainId, accountId) {
|
||||
return repository.post(
|
||||
`/${domainResource}/${domainId}/administrators/remove/`,
|
||||
{ account: accountId }
|
||||
)
|
||||
},
|
||||
createDomain(data) {
|
||||
return repository.post(`/${domainResource}/`, data)
|
||||
},
|
||||
updateDomain(domainId, data) {
|
||||
return repository.put(`/${domainResource}/${domainId}/`, data)
|
||||
},
|
||||
patchDomain(domainId, data) {
|
||||
return repository.patch(`/${domainResource}/${domainId}/`, data)
|
||||
},
|
||||
deleteDomain(domainId, data) {
|
||||
return repository.post(`/${domainResource}/${domainId}/delete/`, data)
|
||||
},
|
||||
createDomainAlias(data) {
|
||||
return repository.post(`/${domainAliasResource}/`, data)
|
||||
},
|
||||
updateDomainAlias(aliasId, data) {
|
||||
return repository.put(`/${domainAliasResource}/${aliasId}/`, data)
|
||||
},
|
||||
deleteDomainAlias(aliasId) {
|
||||
return repository.delete(`/${domainAliasResource}/${aliasId}/`)
|
||||
},
|
||||
exportAll() {
|
||||
return repository.get(`/${domainResource}/export/`)
|
||||
},
|
||||
importFromCSV(data) {
|
||||
return repository.post(`/${domainResource}/import/`, data, {
|
||||
headers: {
|
||||
'Content-Type': 'multipart/form-data',
|
||||
},
|
||||
})
|
||||
},
|
||||
getDomains() {
|
||||
return repository.get(`/${domainResource}/`)
|
||||
},
|
||||
getDomain(domainId) {
|
||||
return repository.get(`/${domainResource}/${domainId}/`)
|
||||
},
|
||||
getDomainDNSDetail(domainId) {
|
||||
return repository.get(`/${domainResource}/${domainId}/dns_detail/`)
|
||||
},
|
||||
getDomainDmarcAlignment(domainId, period) {
|
||||
return repository.get(
|
||||
`${domainResource}/${domainId}/dmarc/alignment_stats/`,
|
||||
{ params: { period } }
|
||||
)
|
||||
},
|
||||
getDomainAliases(domain) {
|
||||
let url = `/${domainAliasResource}/`
|
||||
if (domain !== undefined) {
|
||||
url += `?domain=${domain}`
|
||||
}
|
||||
return repository.get(url)
|
||||
},
|
||||
getDomainAdministrators(domainId) {
|
||||
return repository.get(`/${domainResource}/${domainId}/administrators/`)
|
||||
},
|
||||
addDomainAdministrator(domainId, accountId) {
|
||||
return repository.post(
|
||||
`/${domainResource}/${domainId}/administrators/add/`,
|
||||
{ account: accountId }
|
||||
)
|
||||
},
|
||||
removeDomainAdministrator(domainId, accountId) {
|
||||
return repository.post(
|
||||
`/${domainResource}/${domainId}/administrators/remove/`,
|
||||
{ account: accountId }
|
||||
)
|
||||
},
|
||||
createDomain(data) {
|
||||
return repository.post(`/${domainResource}/`, data)
|
||||
},
|
||||
updateDomain(domainId, data) {
|
||||
return repository.put(`/${domainResource}/${domainId}/`, data)
|
||||
},
|
||||
patchDomain(domainId, data) {
|
||||
return repository.patch(`/${domainResource}/${domainId}/`, data)
|
||||
},
|
||||
deleteDomain(domainId, data) {
|
||||
return repository.post(`/${domainResource}/${domainId}/delete/`, data)
|
||||
},
|
||||
createDomainAlias(data) {
|
||||
return repository.post(`/${domainAliasResource}/`, data)
|
||||
},
|
||||
updateDomainAlias(aliasId, data) {
|
||||
return repository.put(`/${domainAliasResource}/${aliasId}/`, data)
|
||||
},
|
||||
deleteDomainAlias(aliasId) {
|
||||
return repository.delete(`/${domainAliasResource}/${aliasId}/`)
|
||||
},
|
||||
exportAll() {
|
||||
return repository.get(`/${domainResource}/export/`)
|
||||
},
|
||||
importFromCSV(data) {
|
||||
return repository.post(`/${domainResource}/import/`, data, {
|
||||
headers: {
|
||||
'Content-Type': 'multipart/form-data',
|
||||
},
|
||||
})
|
||||
},
|
||||
}
|
||||
|
||||
@@ -3,17 +3,17 @@ import repository from './repository'
|
||||
const resource = 'identities'
|
||||
|
||||
export default {
|
||||
getAll() {
|
||||
return repository.get(`${resource}/`)
|
||||
},
|
||||
exportAll() {
|
||||
return repository.get(`/${resource}/export/`)
|
||||
},
|
||||
importFromCSV(data) {
|
||||
return repository.post(`/${resource}/import/`, data, {
|
||||
headers: {
|
||||
'Content-Type': 'multipart/form-data',
|
||||
},
|
||||
})
|
||||
},
|
||||
getAll() {
|
||||
return repository.get(`${resource}/`)
|
||||
},
|
||||
exportAll() {
|
||||
return repository.get(`/${resource}/export/`)
|
||||
},
|
||||
importFromCSV(data) {
|
||||
return repository.post(`/${resource}/import/`, data, {
|
||||
headers: {
|
||||
'Content-Type': 'multipart/form-data',
|
||||
},
|
||||
})
|
||||
},
|
||||
}
|
||||
|
||||
@@ -3,13 +3,13 @@ import repository from '@/api/repository'
|
||||
const resource = 'migrations'
|
||||
|
||||
export default {
|
||||
getMigrations(params) {
|
||||
return repository.get(`/${resource}/`, { params })
|
||||
},
|
||||
getMigration(slug, query) {
|
||||
return repository.get(`/${resource}/${slug}/`, query)
|
||||
},
|
||||
deleteMigration(slug) {
|
||||
return repository.delete(`/${resource}/${slug}/`)
|
||||
},
|
||||
getMigrations(params) {
|
||||
return repository.get(`/${resource}/`, { params })
|
||||
},
|
||||
getMigration(slug, query) {
|
||||
return repository.get(`/${resource}/${slug}/`, query)
|
||||
},
|
||||
deleteMigration(slug) {
|
||||
return repository.delete(`/${resource}/${slug}/`)
|
||||
},
|
||||
}
|
||||
|
||||
@@ -3,28 +3,28 @@ import repository from '@/api/repository'
|
||||
const resource = 'email-providers'
|
||||
|
||||
export default {
|
||||
getProviders(params) {
|
||||
return repository.get(`/${resource}/`, { params })
|
||||
},
|
||||
getProvider(providerId) {
|
||||
return repository.get(`/${resource}/${providerId}/`)
|
||||
},
|
||||
createProvider(params) {
|
||||
return repository.post(`/${resource}/`, params)
|
||||
},
|
||||
updateProvider(slug, params) {
|
||||
return repository.put(`/${resource}/${slug}/`, params)
|
||||
},
|
||||
patchProvider(providerId, params) {
|
||||
return repository.patch(`/${resource}/${providerId}/`, params)
|
||||
},
|
||||
deleteProvider(slug) {
|
||||
return repository.delete(`/${resource}/${slug}/`)
|
||||
},
|
||||
checkProvider(params) {
|
||||
return repository.post(`/${resource}/check_connection/`, params)
|
||||
},
|
||||
checkAssociatedDomain(params) {
|
||||
return repository.post(`/${resource}/check_associated_domain/`, params)
|
||||
},
|
||||
getProviders(params) {
|
||||
return repository.get(`/${resource}/`, { params })
|
||||
},
|
||||
getProvider(providerId) {
|
||||
return repository.get(`/${resource}/${providerId}/`)
|
||||
},
|
||||
createProvider(params) {
|
||||
return repository.post(`/${resource}/`, params)
|
||||
},
|
||||
updateProvider(slug, params) {
|
||||
return repository.put(`/${resource}/${slug}/`, params)
|
||||
},
|
||||
patchProvider(providerId, params) {
|
||||
return repository.patch(`/${resource}/${providerId}/`, params)
|
||||
},
|
||||
deleteProvider(slug) {
|
||||
return repository.delete(`/${resource}/${slug}/`)
|
||||
},
|
||||
checkProvider(params) {
|
||||
return repository.post(`/${resource}/check_connection/`, params)
|
||||
},
|
||||
checkAssociatedDomain(params) {
|
||||
return repository.post(`/${resource}/check_associated_domain/`, params)
|
||||
},
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ import repository from './repository'
|
||||
const resource = 'languages'
|
||||
|
||||
export default {
|
||||
getAll() {
|
||||
return repository.get(`/${resource}/`)
|
||||
},
|
||||
getAll() {
|
||||
return repository.get(`/${resource}/`)
|
||||
},
|
||||
}
|
||||
|
||||
@@ -3,10 +3,10 @@ import repository from './repository'
|
||||
const resource = 'logs'
|
||||
|
||||
export default {
|
||||
getAuditTrail(params) {
|
||||
return repository.get(`/${resource}/audit-trail/`, { params })
|
||||
},
|
||||
getMessages(params) {
|
||||
return repository.get(`/${resource}/messages/`, { params })
|
||||
},
|
||||
getAuditTrail(params) {
|
||||
return repository.get(`/${resource}/audit-trail/`, { params })
|
||||
},
|
||||
getMessages(params) {
|
||||
return repository.get(`/${resource}/messages/`, { params })
|
||||
},
|
||||
}
|
||||
|
||||
@@ -3,16 +3,16 @@ import repository from './repository'
|
||||
const resource = 'parameters'
|
||||
|
||||
export default {
|
||||
getApplications() {
|
||||
return repository.get(`/${resource}/applications/`)
|
||||
},
|
||||
getApplication(app) {
|
||||
return repository.get(`/${resource}/${app}/`)
|
||||
},
|
||||
getApplicationStructure(app) {
|
||||
return repository.get(`/${resource}/structure/?app=${app}`)
|
||||
},
|
||||
saveApplication(app, data) {
|
||||
return repository.put(`/${resource}/${app}/`, data)
|
||||
},
|
||||
getApplications() {
|
||||
return repository.get(`/${resource}/applications/`)
|
||||
},
|
||||
getApplication(app) {
|
||||
return repository.get(`/${resource}/${app}/`)
|
||||
},
|
||||
getApplicationStructure(app) {
|
||||
return repository.get(`/${resource}/structure/?app=${app}`)
|
||||
},
|
||||
saveApplication(app, data) {
|
||||
return repository.put(`/${resource}/${app}/`, data)
|
||||
},
|
||||
}
|
||||
|
||||
@@ -6,68 +6,71 @@ import { useAuthStore } from '@/stores'
|
||||
const _axios = axios.create()
|
||||
|
||||
_axios.interceptors.request.use(
|
||||
function (config) {
|
||||
const authStore = useAuthStore()
|
||||
// Do something before request is sent
|
||||
if (authStore.isAuthenticated) {
|
||||
config.headers['Accept-Language'] = authStore.authUser.language
|
||||
function (config) {
|
||||
const authStore = useAuthStore()
|
||||
// Do something before request is sent
|
||||
if (authStore.isAuthenticated) {
|
||||
config.headers['Accept-Language'] = authStore.authUser.language
|
||||
}
|
||||
return config
|
||||
},
|
||||
function (error) {
|
||||
// Do something with request error
|
||||
return Promise.reject(error)
|
||||
}
|
||||
return config
|
||||
},
|
||||
function (error) {
|
||||
// Do something with request error
|
||||
return Promise.reject(error)
|
||||
}
|
||||
)
|
||||
|
||||
// Add a response interceptor
|
||||
_axios.interceptors.response.use(
|
||||
function (response) {
|
||||
// Do something with response data
|
||||
return response
|
||||
},
|
||||
function (error) {
|
||||
if (error.response.status === 418) {
|
||||
router.push({ name: 'TwoFA' })
|
||||
return Promise.reject(error)
|
||||
}
|
||||
if (error.response.status === 429) {
|
||||
return Promise.reject(error)
|
||||
}
|
||||
if (error.response.status !== 401 || router.currentRoute.name === 'Login') {
|
||||
return Promise.reject(error)
|
||||
}
|
||||
const refreshToken = Cookies.get('refreshToken')
|
||||
const authStore = useAuthStore()
|
||||
if (error.config.url.endsWith('/token/refresh/') || !refreshToken) {
|
||||
authStore.$reset()
|
||||
if (router.currentRoute.name !== 'Login') {
|
||||
router.push({ name: 'Login' })
|
||||
}
|
||||
return Promise.reject(error)
|
||||
}
|
||||
return _axios
|
||||
.post('/token/refresh/', { refresh: refreshToken })
|
||||
.then((resp) => {
|
||||
Cookies.set('token', resp.data.access, { sameSite: 'strict' })
|
||||
_axios.defaults.headers.common.Authorization = `Bearer ${resp.data.access}`
|
||||
const config = error.config
|
||||
config.headers.Authorization = `Bearer ${resp.data.access}`
|
||||
return new Promise((resolve, reject) => {
|
||||
_axios
|
||||
.request(config)
|
||||
function (response) {
|
||||
// Do something with response data
|
||||
return response
|
||||
},
|
||||
function (error) {
|
||||
if (error.response.status === 418) {
|
||||
router.push({ name: 'TwoFA' })
|
||||
return Promise.reject(error)
|
||||
}
|
||||
if (error.response.status === 429) {
|
||||
return Promise.reject(error)
|
||||
}
|
||||
if (
|
||||
error.response.status !== 401 ||
|
||||
router.currentRoute.name === 'Login'
|
||||
) {
|
||||
return Promise.reject(error)
|
||||
}
|
||||
const refreshToken = Cookies.get('refreshToken')
|
||||
const authStore = useAuthStore()
|
||||
if (error.config.url.endsWith('/token/refresh/') || !refreshToken) {
|
||||
authStore.$reset()
|
||||
if (router.currentRoute.name !== 'Login') {
|
||||
router.push({ name: 'Login' })
|
||||
}
|
||||
return Promise.reject(error)
|
||||
}
|
||||
return _axios
|
||||
.post('/token/refresh/', { refresh: refreshToken })
|
||||
.then((resp) => {
|
||||
resolve(resp)
|
||||
Cookies.set('token', resp.data.access, { sameSite: 'strict' })
|
||||
_axios.defaults.headers.common.Authorization = `Bearer ${resp.data.access}`
|
||||
const config = error.config
|
||||
config.headers.Authorization = `Bearer ${resp.data.access}`
|
||||
return new Promise((resolve, reject) => {
|
||||
_axios
|
||||
.request(config)
|
||||
.then((resp) => {
|
||||
resolve(resp)
|
||||
})
|
||||
.catch((error) => {
|
||||
reject(error)
|
||||
})
|
||||
})
|
||||
})
|
||||
.catch((error) => {
|
||||
reject(error)
|
||||
Promise.reject(error)
|
||||
})
|
||||
})
|
||||
})
|
||||
.catch((error) => {
|
||||
Promise.reject(error)
|
||||
})
|
||||
}
|
||||
}
|
||||
)
|
||||
|
||||
export default _axios
|
||||
|
||||
@@ -3,16 +3,18 @@ import repository from './repository'
|
||||
const resource = 'senderaddresses'
|
||||
|
||||
export default {
|
||||
getAll() {
|
||||
return repository.get(`${resource}/`)
|
||||
},
|
||||
getAllForMailbox(mailboxId) {
|
||||
return repository.get(`${resource}/`, { params: { mailbox: mailboxId } })
|
||||
},
|
||||
create(data) {
|
||||
return repository.post(`${resource}/`, data)
|
||||
},
|
||||
delete(addressId) {
|
||||
return repository.delete(`${resource}/${addressId}/`)
|
||||
},
|
||||
getAll() {
|
||||
return repository.get(`${resource}/`)
|
||||
},
|
||||
getAllForMailbox(mailboxId) {
|
||||
return repository.get(`${resource}/`, {
|
||||
params: { mailbox: mailboxId },
|
||||
})
|
||||
},
|
||||
create(data) {
|
||||
return repository.post(`${resource}/`, data)
|
||||
},
|
||||
delete(addressId) {
|
||||
return repository.delete(`${resource}/${addressId}/`)
|
||||
},
|
||||
}
|
||||
|
||||
@@ -3,15 +3,15 @@ import repository from './repository'
|
||||
const resource = 'statistics'
|
||||
|
||||
export default {
|
||||
getStatistics({ graphSet, period, graphicName, searchQuery, start, end }) {
|
||||
const args = {
|
||||
gset: graphSet,
|
||||
period,
|
||||
graphic: graphicName,
|
||||
searchquery: searchQuery,
|
||||
start: start,
|
||||
end: end,
|
||||
}
|
||||
return repository.get(`${resource}/`, { params: args })
|
||||
},
|
||||
getStatistics({ graphSet, period, graphicName, searchQuery, start, end }) {
|
||||
const args = {
|
||||
gset: graphSet,
|
||||
period,
|
||||
graphic: graphicName,
|
||||
searchquery: searchQuery,
|
||||
start: start,
|
||||
end: end,
|
||||
}
|
||||
return repository.get(`${resource}/`, { params: args })
|
||||
},
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ import repository from './repository'
|
||||
const resource = 'transports'
|
||||
|
||||
export default {
|
||||
getAll() {
|
||||
return repository.get(`/${resource}/`)
|
||||
},
|
||||
getAll() {
|
||||
return repository.get(`/${resource}/`)
|
||||
},
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user