| /** |
| * Copyright (c) HashiCorp, Inc. |
| * SPDX-License-Identifier: MPL-2.0 |
| */ |
| |
| import Component from '@glimmer/component'; |
| import { inject as service } from '@ember/service'; |
| import { action } from '@ember/object'; |
| |
| /** |
| * @module MfaSetupStepTwo |
| * MfaSetupStepTwo component is a child component used in the end user setup for MFA. It displays a qrCode or a warning and allows a user to reset the method. |
| * |
| * @param {string} entityId - the entityId of the user. This comes from the auth service which records it on loading of the cluster. A root user does not have an entityId. |
| * @param {string} uuid - the UUID that is entered in the input on step one. |
| * @param {string} qrCode - the returned url from the admin-generate post. Used to create the qrCode. |
| * @param {boolean} restartFlow - a boolean that is true that is true if the user should proceed to step two or false if they should stay on step one. |
| * @param {string} warning - if there is a warning returned from the admin-generate post then it's sent to the step two component in this param. |
| */ |
| |
| export default class MfaSetupStepTwo extends Component { |
| @service store; |
| |
| @action |
| redirectPreviousPage() { |
| this.args.restartFlow(); |
| window.history.back(); |
| } |
| |
| @action |
| async restartSetup() { |
| this.error = null; |
| const adapter = this.store.adapterFor('mfa-setup'); |
| try { |
| await adapter.adminDestroy({ |
| entity_id: this.args.entityId, |
| method_id: this.args.uuid, |
| }); |
| } catch (error) { |
| this.error = error.errors; |
| return 'stop_progress'; |
| } |
| this.args.restartFlow(); |
| } |
| } |