From ea5188536101dcdedd27f3289465b3235822b77f Mon Sep 17 00:00:00 2001 From: Axolotle Date: Thu, 16 Jul 2020 16:07:54 +0200 Subject: [PATCH] add a module store to deal with api data and calls and maybe save data to avoid api recalls --- app/src/helpers/dataStore.js | 22 ++++++++++++++++++++++ app/src/plugins/store.js | 4 +++- 2 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 app/src/helpers/dataStore.js diff --git a/app/src/helpers/dataStore.js b/app/src/helpers/dataStore.js new file mode 100644 index 00000000..4af59af8 --- /dev/null +++ b/app/src/helpers/dataStore.js @@ -0,0 +1,22 @@ +import api from './api' + +export default { + state: () => ({ + domains: undefined + }), + mutations: { + 'SET_DATA' (state, { key, data }) { + state[key] = data + } + }, + actions: { + async 'FETCH' ({ commit }, uri) { + return api.get('/' + uri).then(data => { + commit('SET_DATA', { data: data[uri], key: uri }) + }) + } + }, + getters: { + + } +} diff --git a/app/src/plugins/store.js b/app/src/plugins/store.js index 8ff05314..63f5ecde 100644 --- a/app/src/plugins/store.js +++ b/app/src/plugins/store.js @@ -1,6 +1,8 @@ import Vue from 'vue' import Vuex from 'vuex' +import dataStore from '@/helpers/dataStore' + Vue.use(Vuex) export default new Vuex.Store({ @@ -18,7 +20,6 @@ export default new Vuex.Store({ } }, 'YUNOHOST_INFOS' (state, data) { - console.log('version changed', data) state.yunohostInfos = data } }, @@ -26,5 +27,6 @@ export default new Vuex.Store({ actions: { }, modules: { + data: dataStore } })