From 176da2bbe53e540239c9781776968d8ce59127ed Mon Sep 17 00:00:00 2001 From: Tusooa Zhu Date: Sun, 12 Sep 2021 13:50:16 -0400 Subject: Add frontend ui for aliases and migration Ref: migrate-ui --- .../tabs/security_tab/security_tab.js | 51 +++++++++++- .../tabs/security_tab/security_tab.vue | 96 ++++++++++++++++++++++ 2 files changed, 146 insertions(+), 1 deletion(-) (limited to 'src/components') diff --git a/src/components/settings_modal/tabs/security_tab/security_tab.js b/src/components/settings_modal/tabs/security_tab/security_tab.js index 65d20fc0..3f326f74 100644 --- a/src/components/settings_modal/tabs/security_tab/security_tab.js +++ b/src/components/settings_modal/tabs/security_tab/security_tab.js @@ -15,11 +15,20 @@ const SecurityTab = { deleteAccountError: false, changePasswordInputs: [ '', '', '' ], changedPassword: false, - changePasswordError: false + changePasswordError: false, + moveAccountTarget: '', + moveAccountPassword: '', + movedAccount: false, + moveAccountError: false, + aliases: [], + addAliasTarget: '', + addedAlias: false, + addAliasError: false } }, created () { this.$store.dispatch('fetchTokens') + this.fetchAliases() }, components: { ProgressButton, @@ -92,6 +101,46 @@ const SecurityTab = { } }) }, + moveAccount () { + const params = { + targetAccount: this.moveAccountTarget, + password: this.moveAccountPassword + } + this.$store.state.api.backendInteractor.moveAccount(params) + .then((res) => { + if (res.status === 'success') { + this.movedAccount = true + this.moveAccountError = false + } else { + this.movedAccount = false + this.moveAccountError = res.error + } + }) + }, + removeAlias (alias) { + this.$store.state.api.backendInteractor.deleteAlias({ alias }) + .then(() => this.fetchAliases()) + }, + addAlias () { + this.$store.state.api.backendInteractor.addAlias({ alias: this.addAliasTarget }) + .then((res) => { + this.addedAlias = true + this.addAliasError = false + this.addAliasTarget = '' + }) + .catch((error) => { + this.addedAlias = false + this.addAliasError = error + }) + .then(() => this.fetchAliases()) + }, + fetchAliases () { + this.$store.state.api.backendInteractor.listAliases() + .catch(() => {}) + .then((res) => { + this.aliases = res.aliases + }) + }, logout () { this.$store.dispatch('logout') this.$router.replace('/') diff --git a/src/components/settings_modal/tabs/security_tab/security_tab.vue b/src/components/settings_modal/tabs/security_tab/security_tab.vue index 275d4616..c6c4fa1a 100644 --- a/src/components/settings_modal/tabs/security_tab/security_tab.vue +++ b/src/components/settings_modal/tabs/security_tab/security_tab.vue @@ -103,6 +103,102 @@ + +
+

{{ $t('settings.account_alias') }}

+ + + + + + + + + + + + +
{{ $t('settings.account_alias_table_head') }} +
{{ alias }} + +
+
+ + + foo@example.org + + + +
+ +

+ {{ $t('settings.added_alias') }} +

+ +
+ +
+

{{ $t('settings.move_account') }}

+

{{ $t('settings.move_account_notes') }}

+
+ + + foo@example.org + + + +
+
+

{{ $t('settings.current_password') }}

+ +
+ +

+ {{ $t('settings.moved_account') }} +

+ +
+

{{ $t('settings.delete_account') }}

-- cgit v1.2.3-70-g09d2