1
0
mirror of https://github.com/bitwarden/browser.git synced 2024-10-10 06:08:34 +02:00
bitwarden-browser/src/app/settings/settingsTwoStepController.js

55 lines
1.9 KiB
JavaScript
Raw Normal View History

2017-06-19 21:29:33 +02:00
angular
.module('bit.settings')
2017-06-23 18:39:56 +02:00
.controller('settingsTwoStepController', function ($scope, apiService, toastr, $analytics, constants,
2017-06-20 04:26:57 +02:00
$filter, $uibModal) {
2017-06-23 18:39:56 +02:00
$scope.providers = constants.twoFactorProviderInfo;
2017-06-19 21:29:33 +02:00
apiService.twoFactor.list({}, function (response) {
for (var i = 0; i < response.Data.length; i++) {
if (!response.Data[i].Enabled) {
continue;
}
var provider = $filter('filter')($scope.providers, { type: response.Data[i].Type });
if (provider.length) {
provider[0].enabled = true;
}
}
});
2017-06-20 04:26:57 +02:00
$scope.edit = function (provider) {
if (provider.type === constants.twoFactorProvider.authenticator) {
2017-06-23 18:39:56 +02:00
typeName = 'Authenticator';
2017-06-20 15:21:53 +02:00
}
2017-06-23 18:39:56 +02:00
else if (provider.type === constants.twoFactorProvider.email) {
typeName = 'Email';
2017-06-20 20:00:55 +02:00
}
else if (provider.type === constants.twoFactorProvider.yubikey) {
2017-06-23 18:39:56 +02:00
typeName = 'Yubi';
2017-06-21 21:17:44 +02:00
}
else if (provider.type === constants.twoFactorProvider.duo) {
2017-06-23 18:39:56 +02:00
typeName = 'Duo';
2017-06-20 04:26:57 +02:00
}
2017-06-22 23:02:24 +02:00
else if (provider.type === constants.twoFactorProvider.u2f) {
2017-06-23 18:39:56 +02:00
typeName = 'U2f';
}
else {
return;
2017-06-22 23:02:24 +02:00
}
2017-06-23 18:39:56 +02:00
var modal = $uibModal.open({
animation: true,
templateUrl: 'app/settings/views/settingsTwoStep' + typeName + '.html',
controller: 'settingsTwoStep' + typeName + 'Controller',
resolve: {
enabled: function () { return provider.enabled; }
}
});
modal.result.then(function (enabled) {
provider.enabled = enabled;
});
2017-06-20 04:26:57 +02:00
};
2017-06-19 21:29:33 +02:00
});