autoLogin ({ dispatch }) { const expiresIn = localStorage.getItem('expiresIn') if (!expiresIn) { return } const now = new Date() if (now.valueOf() >= Number(expiresIn)) { dispatch('logout') } else { if (router.currentRoute.name === 'download') { return } router.replace('/download') } }
applyChanges({ state, commit, dispatch }) { let promises = [] Object.values(state.changes.update).forEach(n => { let newNote = state.changes.add.find(n1 => n1.id === n.id) let deletedNote = state.changes.delete.find(n1 => n1.id === n.id) if (newNote) { commit('updateNote', n) commit('removeChange', { type: 'update', payload: n }) } else if (deletedNote) commit('removeChange', { type: 'update', payload: n }) else promises.push(dispatch('updateNote', n).then(() => commit('removeChange', { type: 'update', payload: n }))) }) state.changes.add.forEach(n => { if (state.changes.delete.some(n1 => n1.id === n.id)) { commit('removeChange', { type: 'add', payload: n }) commit('removeChange', { type: 'delete', payload: n }) } else promises.push(dispatch('createNote', n).then(() => commit('removeChange', { type: 'add', payload: n }))) }) state.changes.delete.forEach(n => { promises.push(dispatch('deleteNote', n).then(() => commit('removeChange', { type: 'delete', payload: n }))) }) return Promise.all(promises) }
applyChanges({ state, commit, dispatch }) { let promises = [] Object.values(state.changes.update).forEach(n => { let newNote = state.changes.add.find(n1 => n1.id === n.id) let deletedNote = state.changes.delete.find(n1 => n1.id === n.id) if (newNote) { commit('updateNote', n) commit('removeChange', { type: 'update', payload: n }) } else if (deletedNote) commit('removeChange', { type: 'update', payload: n }) else promises.push(dispatch('updateNote', n).then(() => commit('removeChange', { type: 'update', payload: n }))) }) state.changes.add.forEach(n => { if (state.changes.delete.some(n1 => n1.id === n.id)) { commit('removeChange', { type: 'add', payload: n }) commit('removeChange', { type: 'delete', payload: n }) } else promises.push(dispatch('createNote', n).then(() => commit('removeChange', { type: 'add', payload: n }))) }) state.changes.delete.forEach(n => { promises.push(dispatch('deleteNote', n).then(() => commit('removeChange', { type: 'delete', payload: n }))) }) return Promise.all(promises) }