diff --git a/web/src/store/budget/index.js b/web/src/store/budget/index.js deleted file mode 100644 index fafc836..0000000 --- a/web/src/store/budget/index.js +++ /dev/null @@ -1,74 +0,0 @@ -import { TITLE } from "../mutation-types"; - -const budget = { - state () { - return { - Accounts: [], - CurrentAccount: null, - Categories: [], - Transactions: [], - Assignments: [] - } - }, - mutations: { - setAccounts (state, accounts) { - state.Accounts = accounts; - }, - setCurrentAccount(state, account) { - state.CurrentAccount = account; - }, - setTransactions(state, transactions){ - state.Transactions = transactions; - } - }, - getters: { - Accounts(state) { - return state.Accounts || []; - }, - CurrentAccount(state) { - return state.CurrentAccount || {}; - }, - OnBudgetAccounts(state) { - return (state.Accounts || []).filter(x => x.OnBudget); - }, - OffBudgetAccounts(state) { - return (state.Accounts || []).filter(x => !x.OnBudget); - }, - Transactions(state) { - return (state.Transactions || []); - } - }, - actions: { - async fetchBudget ({state, commit, rootState}, budgetid) { - const result = await fetch("/api/v1/budget/" + budgetid, { - headers: { - 'Authorization': 'Bearer ' + rootState.Session.Token - } - }); - const response = await result.json(); - return commit("setAccounts", response.Accounts); - }, - async fetchAccount ({state, commit, rootState}, accountid) { - const result = await fetch("/api/v1/account/" + accountid + "/transactions", { - headers: { - 'Authorization': 'Bearer ' + rootState.Session.Token - } - }); - const response = await result.json(); - return commit("setTransactions", response.Transactions); - }, - async setCurrentAccount({state, commit, dispatch}, {budgetid, accountid}) { - await dispatch("fetchBudget", budgetid); - for (const element of state.Accounts) { - if(element.ID != accountid) - continue - - commit("setCurrentAccount", element); - commit(TITLE, element.Name); - break - } - } - } -} - -export default budget \ No newline at end of file diff --git a/web/src/store/dashboard/index.js b/web/src/store/dashboard/index.js index 632b249..6bdc5cc 100644 --- a/web/src/store/dashboard/index.js +++ b/web/src/store/dashboard/index.js @@ -3,6 +3,11 @@ const dashboard = { return { Budgets: [], CurrentBudget: null, + Accounts: [], + CurrentAccount: null, + Categories: [], + Transactions: [], + Assignments: [] } }, mutations: { @@ -14,6 +19,15 @@ const dashboard = { }, setCurrentBudget(state, budget) { state.CurrentBudget = budget; + }, + setAccounts (state, accounts) { + state.Accounts = accounts; + }, + setCurrentAccount(state, account) { + state.CurrentAccount = account; + }, + setTransactions(state, transactions){ + state.Transactions = transactions; } }, getters: { @@ -22,6 +36,21 @@ const dashboard = { }, CurrentBudget(state) { return state.CurrentBudget || {}; + }, + Accounts(state) { + return state.Accounts || []; + }, + CurrentAccount(state) { + return state.CurrentAccount || {}; + }, + OnBudgetAccounts(state) { + return (state.Accounts || []).filter(x => x.OnBudget); + }, + OffBudgetAccounts(state) { + return (state.Accounts || []).filter(x => !x.OnBudget); + }, + Transactions(state) { + return (state.Transactions || []); } }, actions: { @@ -54,6 +83,35 @@ const dashboard = { commit("setCurrentBudget", element); break } + }, + async fetchBudget ({state, commit, rootState}, budgetid) { + const result = await fetch("/api/v1/budget/" + budgetid, { + headers: { + 'Authorization': 'Bearer ' + rootState.Session.Token + } + }); + const response = await result.json(); + return commit("setAccounts", response.Accounts); + }, + async fetchAccount ({state, commit, rootState}, accountid) { + const result = await fetch("/api/v1/account/" + accountid + "/transactions", { + headers: { + 'Authorization': 'Bearer ' + rootState.Session.Token + } + }); + const response = await result.json(); + return commit("setTransactions", response.Transactions); + }, + async setCurrentAccount({state, commit, dispatch}, {budgetid, accountid}) { + await dispatch("fetchBudget", budgetid); + for (const element of state.Accounts) { + if(element.ID != accountid) + continue + + commit("setCurrentAccount", element); + commit(TITLE, element.Name); + break + } } } } diff --git a/web/src/store/index.js b/web/src/store/index.js index 47b7e78..6a7fe0a 100644 --- a/web/src/store/index.js +++ b/web/src/store/index.js @@ -1,6 +1,5 @@ import { createStore } from 'vuex' import dashboard from './dashboard/index' -import budget from './budget/index' import { LOGIN_SUCCESS, LOGOUT, TITLE } from './mutation-types' const store = createStore({ @@ -14,7 +13,7 @@ const store = createStore({ }, mutations: { initializeStore(state) { - let store = localStorage.getItem("store"); + const store = localStorage.getItem("store"); if(store){ this.replaceState( Object.assign(state, JSON.parse(store)) @@ -32,8 +31,7 @@ const store = createStore({ } }, modules: { - dashboard, - budget + dashboard } })