Import data.

This commit is contained in:
HenriT
2021-02-16 18:34:04 +02:00
parent 6cadfed54c
commit 26ccd9365e
7 changed files with 167 additions and 30 deletions

41
src/store/data.js Normal file
View File

@ -0,0 +1,41 @@
import localForage from 'localforage';
import { download } from '../utils/helpers';
export default {
namespaced: true,
state: {
isImportModalOpen: false,
},
mutations: {
isImportModalOpen(state, isOpen) {
state.isImportModalOpen = isOpen;
},
},
actions: {
async exportJson() {
let results = [];
const keys = await localForage.keys();
keys.forEach((key) => {
results.push(localForage.getItem(key));
});
results = await Promise.all(results);
const data = {};
keys.forEach((key, index) => {
data[key] = results[index];
});
download(JSON.stringify(data), 'serverless-invoices.json', 'application/json');
},
async importJson({ dispatch }, data) {
const results = [];
Object.keys(data).forEach((key) => {
results.push(localForage.setItem(key, data[key]));
});
await Promise.all(results);
await dispatch('teams/terminate', null, { root: true });
return dispatch('teams/init', null, { root: true });
},
},
getters: {},
};