Started import work

This commit is contained in:
Spitap
2023-04-18 15:44:08 +02:00
committed by Antoine Nguyen
parent 844c1e482e
commit 415aefc764
66 changed files with 3802 additions and 8 deletions
+3 -1
View File
@@ -4,6 +4,7 @@ import Vuex from 'vuex'
import auth from '@/store/modules/auth'
import domains from '@/store/modules/domains'
import identities from '@/store/modules/identities'
import providers from '@/store/modules/providers'
Vue.use(Vuex)
@@ -11,7 +12,8 @@ export default new Vuex.Store({
modules: {
auth,
domains,
identities
identities,
providers
},
strict: process.env.NODE_ENV !== 'production'
})
+73
View File
@@ -0,0 +1,73 @@
import Vue from 'vue'
import providerApi from '@/api/imap_migration/providers'
// mutation types
export const ADD_PROVIDER = 'ADD_PROVIDER'
export const UPDATE_PROVIDER = 'SET_PROVIDER'
export const SET_PROVIDERS = 'SET_PROVIDERS'
export const DELETE_PROVIDER = 'DELETE_PROVIDER'
const state = {
providersLoaded: false,
providers: []
}
const getters = {
providers: state => state.providers
}
const actions = {
getProviders ({ commit }, params) {
return providerApi.getProviders(params).then(response => {
commit(SET_PROVIDERS, { providers: response.data })
})
},
createProvider ({ commit }, data) {
return new Promise((resolve, reject) => {
providerApi.createProvider(data).then(response => {
commit(ADD_PROVIDER, { provider: response.data })
resolve(response)
}).catch(error => {
reject(error)
})
})
},
updateProvider ({ commit }, data) {
return providerApi.updateProvider(data.id, data).then(response => {
commit(UPDATE_PROVIDER, { provider: response.data })
})
},
deleteProvider ({ commit }, data) {
return providerApi.deleteProvider(data.id).then(response => {
commit(DELETE_PROVIDER, data)
})
}
}
const mutations = {
[SET_PROVIDERS] (state, { providers }) {
state.providersLoaded = true
state.providers = providers
},
[ADD_PROVIDER] (state, { provider }) {
state.providers.push(provider)
},
[UPDATE_PROVIDER] (state, { provider }) {
state.providers.forEach(function (item, pos) {
if (item.pk === provider.pk) {
Vue.set(state.providers, pos, provider)
}
})
},
[DELETE_PROVIDER] (state, data) {
state.providers = state.providers.filter(item => item.id !== data.id)
}
}
export default {
namespaced: true,
state,
getters,
actions,
mutations
}