@@ -75,6 +75,7 @@ export default {
return {
// no curly gorls
profile: computed(() => AppState.activeProfile),
+ account: computed(() => AppState.account),
keeps: computed(() => AppState.profileKeeps),
vaults: computed(() => AppState.profileVaults),
activeKeep: computed(() => AppState.activeKeep),
diff --git a/keepr.client/src/pages/VaultPage.vue b/keepr.client/src/pages/VaultPage.vue
index 41c3ebe..b57194b 100644
--- a/keepr.client/src/pages/VaultPage.vue
+++ b/keepr.client/src/pages/VaultPage.vue
@@ -5,7 +5,7 @@
{{ vault.name }}
- Keeps: vaultKeep stoufe
+ Keeps: {{ keeps.length }}
@@ -37,9 +37,11 @@ import { vaultsService } from '../services/VaultsService'
import KeepTile from '../components/KeepTile.vue';
import KeepModal from '../components/KeepModal.vue';
import KeepModalButtons from '../components/KeepModalButtons.vue';
+import { vaultKeepsService } from '../services/VaultKeepsService';
export default {
setup() {
const route = useRoute();
+ const router = useRouter()
onMounted(async () => {
await vaultsService.getVault(route.params.id);
await vaultsService.getVaultKeeps(route.params.id);
@@ -53,6 +55,11 @@ export default {
viewKeep(keep) {
AppState.activeKeep = keep
Modal.getOrCreateInstance(document.getElementById('keepModal')).show()
+ },
+
+ async deleteVault() {
+ await vaultsService.delete(AppState.activeVault.id, AppState.vaultKeeps)
+ router.push({ name: "Profile", params: { id: AppState.account.id } })
}
};
},
diff --git a/keepr.client/src/router.js b/keepr.client/src/router.js
index d11cc40..6d5ab28 100644
--- a/keepr.client/src/router.js
+++ b/keepr.client/src/router.js
@@ -11,12 +11,6 @@ const routes = [
name: 'Home',
component: loadPage('HomePage')
},
- {
- path: '/account',
- name: 'Account',
- component: loadPage('AccountPage'),
- beforeEnter: authGuard
- },
{
path: '/profile/:id',
name: 'Profile',
diff --git a/keepr.client/src/services/AuthService.js b/keepr.client/src/services/AuthService.js
index 3bb2ef2..1a9282a 100644
--- a/keepr.client/src/services/AuthService.js
+++ b/keepr.client/src/services/AuthService.js
@@ -5,6 +5,7 @@ import { router } from '../router'
import { accountService } from './AccountService'
import { api } from './AxiosService'
import { socketService } from './SocketService'
+import { profilesService } from './ProfilesService'
export const AuthService = initialize({
domain,
@@ -27,6 +28,8 @@ AuthService.on(AuthService.AUTH_EVENTS.AUTHENTICATED, async function() {
await accountService.getAccount()
socketService.authenticate(AuthService.bearer)
// NOTE if there is something you want to do once the user is authenticated, place that here
+ await profilesService.getMyVaults(AppState.account.id)
+
})
async function refreshAuthToken(config) {
diff --git a/keepr.client/src/services/ProfilesService.js b/keepr.client/src/services/ProfilesService.js
index 44e2286..719723a 100644
--- a/keepr.client/src/services/ProfilesService.js
+++ b/keepr.client/src/services/ProfilesService.js
@@ -30,6 +30,15 @@ class ProfilesService {
logger.error(error)
}
}
+
+ async getMyVaults(profileId) {
+ try {
+ const res = await api.get('api/profiles/' + profileId + '/vaults')
+ AppState.myVaults = res.data
+ } catch (error) {
+ logger.error(error)
+ }
+ }
}
export const profilesService = new ProfilesService()
\ No newline at end of file
diff --git a/keepr.client/src/services/VaultKeepsService.js b/keepr.client/src/services/VaultKeepsService.js
new file mode 100644
index 0000000..adfb8be
--- /dev/null
+++ b/keepr.client/src/services/VaultKeepsService.js
@@ -0,0 +1,34 @@
+import { AppState } from '../AppState'
+import { logger } from '../utils/Logger'
+import { api } from './AxiosService'
+import Pop from '../utils/Pop'
+import { vaultsService } from '../services/VaultsService'
+
+class VaultKeepsService {
+ async create(keepId, vaultId) {
+ try {
+ let newVaultKeep = {
+ vaultId: vaultId,
+ keepId: keepId
+ }
+ const res = await api.post('api/vaultkeeps', newVaultKeep)
+ AppState.vaultKeeps.push(res.data)
+ } catch (error) {
+ logger.error(error)
+ Pop.error(error)
+ }
+ }
+
+ async delete(vaultKeepId) {
+ try {
+ logger.log(vaultKeepId)
+ await api.delete('api/vaultkeeps/' + vaultKeepId)
+ await vaultsService.getVaultKeeps(AppState.activeVault.id)
+ } catch (error) {
+ logger.error(error)
+ Pop.error(error)
+ }
+ }
+}
+
+export const vaultKeepsService = new VaultKeepsService()
\ No newline at end of file
diff --git a/keepr.client/src/services/VaultsService.js b/keepr.client/src/services/VaultsService.js
index 6ae15d5..034e90c 100644
--- a/keepr.client/src/services/VaultsService.js
+++ b/keepr.client/src/services/VaultsService.js
@@ -1,6 +1,9 @@
import { AppState } from '../AppState'
import { logger } from '../utils/Logger'
import { api } from './AxiosService'
+import Pop from '../utils/Pop'
+import { profilesService } from './ProfilesService'
+import { vaultKeepsService } from './VaultKeepsService'
class VaultsService {
async getVault(vaultId) {
@@ -9,6 +12,7 @@ class VaultsService {
AppState.activeVault = res.data
} catch (error) {
logger.error(error)
+ Pop.error(error)
}
}
@@ -18,6 +22,7 @@ class VaultsService {
AppState.vaultKeeps = res.data
} catch (error) {
logger.error(error)
+ Pop.error(error)
}
}
@@ -25,9 +30,27 @@ class VaultsService {
try {
const res = await api.post('api/vaults', vaultData)
// logger.log(res.data)
- AppState.profileVaults.push(res.data)
+ // AppState.myVaults.push(res.data)
+ profilesService.getVaults(AppState.account.id)
+ AppState.myVaults = AppState.profileVaults
} catch (error) {
logger.error(error)
+ Pop.error(error)
+ }
+ }
+
+ async delete(vaultId, vaultKeeps) {
+ try {
+ // vaultKeeps will collect in db... if this isn't here
+ // for (let vk = 0; vk < vaultKeeps.length; vk++) {
+ // await vaultKeepsService.delete(vaultKeeps[vk].id)
+ // }
+ await api.delete('api/vaults/' + vaultId)
+ profilesService.getVaults(AppState.account.id)
+ AppState.myVaults = AppState.profileVaults
+ } catch (error) {
+ logger.error(error)
+ Pop.error(error)
}
}
}