From 6ddcacbe783e0ad7347dbf27e18d9889c8d612b6 Mon Sep 17 00:00:00 2001 From: Vitalii Shpital Date: Thu, 18 Mar 2021 20:09:04 +0200 Subject: [PATCH] web/satellite: initial setup of bucket's view of objects page WHAT: setup of objects store module, setup of initial bucket's view, generate special API key that will be used to generate gateway credentials WHY: initial setup of future bucket's management view Change-Id: I0078869b95c04c0b142b2e112e93ff2332e8e90f --- .../accountDropdown/AccountDropdown.vue | 3 +- .../src/components/objects/BucketsView.vue | 98 ++++++ .../components/objects/CreatePassphrase.vue | 40 ++- .../components/objects/EnterPassphrase.vue | 298 ++++++++++-------- .../src/components/objects/ObjectsArea.vue | 23 -- web/satellite/src/router/index.ts | 8 + web/satellite/src/store/index.ts | 3 + .../src/store/modules/accessGrants.ts | 8 +- web/satellite/src/store/modules/objects.ts | 60 ++++ web/satellite/src/types/accessGrants.ts | 8 + .../tests/unit/mock/api/accessGrants.ts | 4 + 11 files changed, 385 insertions(+), 168 deletions(-) create mode 100644 web/satellite/src/components/objects/BucketsView.vue create mode 100644 web/satellite/src/store/modules/objects.ts diff --git a/web/satellite/src/components/header/accountDropdown/AccountDropdown.vue b/web/satellite/src/components/header/accountDropdown/AccountDropdown.vue index 5baef6e01..450f40e56 100644 --- a/web/satellite/src/components/header/accountDropdown/AccountDropdown.vue +++ b/web/satellite/src/components/header/accountDropdown/AccountDropdown.vue @@ -46,6 +46,8 @@ export default class AccountDropdown extends Vue { * Performs logout on backend than clears all user information from store and local storage. */ public async onLogoutClick(): Promise { + await this.$router.push(RouteConfig.Login.path); + try { await this.auth.logout(); } catch (error) { @@ -54,7 +56,6 @@ export default class AccountDropdown extends Vue { return; } - await this.$router.push(RouteConfig.Login.path); await this.$store.dispatch(PM_ACTIONS.CLEAR); await this.$store.dispatch(PROJECTS_ACTIONS.CLEAR); await this.$store.dispatch(USER_ACTIONS.CLEAR); diff --git a/web/satellite/src/components/objects/BucketsView.vue b/web/satellite/src/components/objects/BucketsView.vue new file mode 100644 index 000000000..41c92a85c --- /dev/null +++ b/web/satellite/src/components/objects/BucketsView.vue @@ -0,0 +1,98 @@ +// Copyright (C) 2021 Storj Labs, Inc. +// See LICENSE for copying information. + + + + + + diff --git a/web/satellite/src/components/objects/CreatePassphrase.vue b/web/satellite/src/components/objects/CreatePassphrase.vue index 79025dbff..ec2720175 100644 --- a/web/satellite/src/components/objects/CreatePassphrase.vue +++ b/web/satellite/src/components/objects/CreatePassphrase.vue @@ -3,11 +3,14 @@ @@ -54,13 +57,36 @@ export default class CreatePassphrase extends Vue { this.isLoading = false; - this.$router.push(RouteConfig.UploadFile.path); + this.$router.push({ + name: RouteConfig.BucketsManagement.name, + params: { + passphrase: this.passphrase, + }, + }); } } diff --git a/web/satellite/src/components/objects/EnterPassphrase.vue b/web/satellite/src/components/objects/EnterPassphrase.vue index 261a0b19b..607ee120b 100644 --- a/web/satellite/src/components/objects/EnterPassphrase.vue +++ b/web/satellite/src/components/objects/EnterPassphrase.vue @@ -3,61 +3,64 @@