mirror of
https://github.com/bitwarden/browser
synced 2025-12-17 08:43:33 +00:00
convert api service to ts with fetch
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
angular
|
||||
angular
|
||||
.module('bit.accounts')
|
||||
|
||||
.controller('accountsHintController', function ($scope, $state, apiService, toastr, $q, utilsService,
|
||||
@@ -31,13 +31,11 @@
|
||||
|
||||
function hintPromise(request) {
|
||||
return $q(function (resolve, reject) {
|
||||
apiService.postPasswordHint(request,
|
||||
function () {
|
||||
resolve();
|
||||
},
|
||||
function (error) {
|
||||
reject(error);
|
||||
});
|
||||
apiService.postPasswordHint(request).then(function () {
|
||||
resolve();
|
||||
}, function (error) {
|
||||
reject(error);
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
@@ -45,17 +45,17 @@ angular
|
||||
|
||||
function registerPromise(key, masterPassword, email, hint) {
|
||||
var deferred = $q.defer();
|
||||
cryptoService.makeEncKey(key).then(function (encKey) {
|
||||
var encKey;
|
||||
cryptoService.makeEncKey(key).then(function (theEncKey) {
|
||||
encKey = theEncKey;
|
||||
return cryptoService.hashPassword(masterPassword, key);
|
||||
}).then(function (hashedPassword) {
|
||||
var request = new RegisterRequest(email, hashedPassword, hint, encKey.encryptedString);
|
||||
apiService.postRegister(request,
|
||||
function () {
|
||||
deferred.resolve();
|
||||
},
|
||||
function (error) {
|
||||
deferred.reject(error);
|
||||
});
|
||||
apiService.postRegister(request).then(function () {
|
||||
deferred.resolve();
|
||||
}, function (error) {
|
||||
deferred.reject(error);
|
||||
});
|
||||
});
|
||||
return deferred.promise;
|
||||
}
|
||||
|
||||
@@ -21,7 +21,6 @@ require('../../scripts/analytics.js');
|
||||
require('../../scripts/duo.js');
|
||||
require('../../scripts/u2f.js');
|
||||
|
||||
require('../../models/api/requestModels.js');
|
||||
require('../../models/domainModels.js');
|
||||
|
||||
require('../less/libs.less');
|
||||
@@ -42,6 +41,7 @@ import { SecureNoteData } from '../../models/data/secureNoteData';
|
||||
|
||||
import { CipherString } from '../../models/domain/cipherString';
|
||||
|
||||
import { CipherRequest } from '../../models/request/cipherRequest';
|
||||
import { DeviceRequest } from '../../models/request/deviceRequest';
|
||||
import { DeviceTokenRequest } from '../../models/request/deviceTokenRequest';
|
||||
import { FolderRequest } from '../../models/request/folderRequest';
|
||||
|
||||
@@ -10,7 +10,8 @@ angular
|
||||
var key = cryptoService.makeKey(masterPassword, email),
|
||||
deferred = $q.defer(),
|
||||
deviceRequest = null,
|
||||
twoFactorRememberedToken;
|
||||
twoFactorRememberedToken,
|
||||
hashedPassword;
|
||||
|
||||
appIdService.getAppId().then(function (appId) {
|
||||
deviceRequest = new DeviceRequest(appId, utilsService);
|
||||
@@ -18,7 +19,8 @@ angular
|
||||
}).then(function (theTwoFactorRememberedToken) {
|
||||
twoFactorRememberedToken = theTwoFactorRememberedToken;
|
||||
return cryptoService.hashPassword(masterPassword, key);
|
||||
}).then(function (hashedPassword) {
|
||||
}).then(function (theHashedPassword) {
|
||||
hashedPassword = theHashedPassword;
|
||||
var request;
|
||||
|
||||
if (twoFactorToken && typeof (twoFactorProvider) !== 'undefined' && twoFactorProvider !== null) {
|
||||
@@ -33,45 +35,48 @@ angular
|
||||
request = new TokenRequest(email, hashedPassword, null, null, false, deviceRequest);
|
||||
}
|
||||
|
||||
apiService.postIdentityToken(request, function (response) {
|
||||
// success
|
||||
if (!response || !response.accessToken) {
|
||||
return;
|
||||
}
|
||||
return apiService.postIdentityToken(request);
|
||||
}).then(function (response) {
|
||||
if (!response) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (response.twoFactorToken) {
|
||||
tokenService.setTwoFactorToken(response.twoFactorToken, email);
|
||||
}
|
||||
|
||||
tokenService.setTokens(response.accessToken, response.refreshToken).then(function () {
|
||||
return cryptoService.setKey(key);
|
||||
}).then(function () {
|
||||
return cryptoService.setKeyHash(hashedPassword);
|
||||
}).then(function () {
|
||||
userService.setUserIdAndEmail(tokenService.getUserId(), tokenService.getEmail(),
|
||||
function () {
|
||||
cryptoService.setEncKey(response.key).then(function () {
|
||||
return cryptoService.setEncPrivateKey(response.privateKey);
|
||||
}).then(function () {
|
||||
chrome.runtime.sendMessage({ command: 'loggedIn' });
|
||||
deferred.resolve({
|
||||
twoFactor: false,
|
||||
twoFactorProviders: null
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
}, function (providers) {
|
||||
if (!response.accessToken) {
|
||||
// two factor required
|
||||
deferred.resolve({
|
||||
twoFactor: true,
|
||||
twoFactorProviders: providers
|
||||
twoFactorProviders: response
|
||||
});
|
||||
}, function (error) {
|
||||
// error
|
||||
deferred.reject(error);
|
||||
return;
|
||||
}
|
||||
|
||||
if (response.twoFactorToken) {
|
||||
tokenService.setTwoFactorToken(response.twoFactorToken, email);
|
||||
}
|
||||
|
||||
return tokenService.setTokens(response.accessToken, response.refreshToken).then(function () {
|
||||
return cryptoService.setKey(key);
|
||||
}).then(function () {
|
||||
return cryptoService.setKeyHash(hashedPassword);
|
||||
}).then(function () {
|
||||
userService.setUserIdAndEmail(tokenService.getUserId(), tokenService.getEmail(),
|
||||
function () {
|
||||
cryptoService.setEncKey(response.key).then(function () {
|
||||
return cryptoService.setEncPrivateKey(response.privateKey);
|
||||
}).then(function () {
|
||||
chrome.runtime.sendMessage({ command: 'loggedIn' });
|
||||
deferred.resolve({
|
||||
twoFactor: false,
|
||||
twoFactorProviders: null
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
}, function (error) {
|
||||
// error
|
||||
deferred.reject(error);
|
||||
});
|
||||
|
||||
return deferred.promise;
|
||||
};
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
angular
|
||||
angular
|
||||
.module('bit.settings')
|
||||
|
||||
.controller('settingsPremiumController', function ($scope, i18nService, tokenService, apiService, toastr, SweetAlert,
|
||||
@@ -8,7 +8,7 @@
|
||||
$scope.price = '$10';
|
||||
|
||||
$scope.refresh = function () {
|
||||
apiService.refreshIdentityToken(function () {
|
||||
apiService.refreshIdentityToken().then(function () {
|
||||
toastr.success(i18nService.refreshComplete);
|
||||
$timeout(function () {
|
||||
$scope.isPremium = tokenService.getPremium();
|
||||
|
||||
Reference in New Issue
Block a user