From 70a177b4b7249c3c02cf81b6279c77d654f504f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andre=CC=81=20Bispo?= Date: Thu, 17 Aug 2023 11:03:07 +0100 Subject: [PATCH] [PM-1029] Fix Async suffix in ApiService. Add UserKeyNullExceptions. --- src/App/Pages/Accounts/LoginSsoPageViewModel.cs | 2 +- .../Accounts/RemoveMasterPasswordPageViewModel.cs | 2 +- src/Core/Abstractions/IApiService.cs | 10 +++++----- src/Core/Services/ApiService.cs | 10 +++++----- src/Core/Services/CipherService.cs | 2 +- src/Core/Services/FolderService.cs | 3 ++- src/Core/Services/KeyConnectorService.cs | 8 ++++---- 7 files changed, 19 insertions(+), 18 deletions(-) diff --git a/src/App/Pages/Accounts/LoginSsoPageViewModel.cs b/src/App/Pages/Accounts/LoginSsoPageViewModel.cs index a95906f25..71bd347d9 100644 --- a/src/App/Pages/Accounts/LoginSsoPageViewModel.cs +++ b/src/App/Pages/Accounts/LoginSsoPageViewModel.cs @@ -114,7 +114,7 @@ namespace Bit.App.Pages await _deviceActionService.ShowLoadingAsync(AppResources.LoggingIn); - var response = await _apiService.PreValidateSso(OrgIdentifier); + var response = await _apiService.PreValidateSsoAsync(OrgIdentifier); if (string.IsNullOrWhiteSpace(response?.Token)) { diff --git a/src/App/Pages/Accounts/RemoveMasterPasswordPageViewModel.cs b/src/App/Pages/Accounts/RemoveMasterPasswordPageViewModel.cs index 11e39579e..a17af0947 100644 --- a/src/App/Pages/Accounts/RemoveMasterPasswordPageViewModel.cs +++ b/src/App/Pages/Accounts/RemoveMasterPasswordPageViewModel.cs @@ -47,7 +47,7 @@ namespace Bit.App.Pages { await _deviceActionService.ShowLoadingAsync(AppResources.Loading); - await _apiService.PostLeaveOrganization(Organization.Id); + await _apiService.PostLeaveOrganizationAsync(Organization.Id); await _syncService.FullSyncAsync(true); await _deviceActionService.HideLoadingAsync(); diff --git a/src/Core/Abstractions/IApiService.cs b/src/Core/Abstractions/IApiService.cs index 76dc38172..528885ab6 100644 --- a/src/Core/Abstractions/IApiService.cs +++ b/src/Core/Abstractions/IApiService.cs @@ -47,7 +47,7 @@ namespace Bit.Core.Abstractions Task PutDeleteCipherAsync(string id); Task PutRestoreCipherAsync(string id); Task RefreshIdentityTokenAsync(); - Task PreValidateSso(string identifier); + Task PreValidateSsoAsync(string identifier); Task SendAsync(HttpMethod method, string path, TRequest body, bool authed, bool hasResponse, Action alterRequest, bool logoutOnUnauthorized = true); Task SendAsync(HttpRequestMessage requestMessage, CancellationToken cancellationToken = default); @@ -72,10 +72,10 @@ namespace Bit.Core.Abstractions Task PutOrganizationUserResetPasswordEnrollmentAsync(string orgId, string userId, OrganizationUserResetPasswordEnrollmentRequest request); Task GetMasterKeyFromKeyConnectorAsync(string keyConnectorUrl); - Task PostMasterKeyToKeyConnector(string keyConnectorUrl, KeyConnectorUserKeyRequest request); - Task PostSetKeyConnectorKey(SetKeyConnectorKeyRequest request); - Task PostConvertToKeyConnector(); - Task PostLeaveOrganization(string id); + Task PostMasterKeyToKeyConnectorAsync(string keyConnectorUrl, KeyConnectorUserKeyRequest request); + Task PostSetKeyConnectorKeyAsync(SetKeyConnectorKeyRequest request); + Task PostConvertToKeyConnectorAsync(); + Task PostLeaveOrganizationAsync(string id); Task GetSendAsync(string id); Task PostSendAsync(SendRequest request); diff --git a/src/Core/Services/ApiService.cs b/src/Core/Services/ApiService.cs index e2ae3ecd6..dc67f681d 100644 --- a/src/Core/Services/ApiService.cs +++ b/src/Core/Services/ApiService.cs @@ -211,12 +211,12 @@ namespace Bit.Core.Services return SendAsync(HttpMethod.Delete, "/accounts", request, true, false); } - public Task PostConvertToKeyConnector() + public Task PostConvertToKeyConnectorAsync() { return SendAsync(HttpMethod.Post, "/accounts/convert-to-key-connector", null, true, false); } - public Task PostSetKeyConnectorKey(SetKeyConnectorKeyRequest request) + public Task PostSetKeyConnectorKeyAsync(SetKeyConnectorKeyRequest request) { return SendAsync(HttpMethod.Post, "/accounts/set-key-connector-key", request, true); } @@ -486,7 +486,7 @@ namespace Bit.Core.Services $"/organizations/{identifier}/auto-enroll-status", null, true, true); } - public Task PostLeaveOrganization(string id) + public Task PostLeaveOrganizationAsync(string id) { return SendAsync(HttpMethod.Post, $"/organizations/{id}/leave", null, true, false); } @@ -541,7 +541,7 @@ namespace Bit.Core.Services } } - public async Task PostMasterKeyToKeyConnector(string keyConnectorUrl, KeyConnectorUserKeyRequest request) + public async Task PostMasterKeyToKeyConnectorAsync(string keyConnectorUrl, KeyConnectorUserKeyRequest request) { using (var requestMessage = new HttpRequestMessage()) { @@ -627,7 +627,7 @@ namespace Bit.Core.Services return accessToken; } - public async Task PreValidateSso(string identifier) + public async Task PreValidateSsoAsync(string identifier) { var path = "/account/prevalidate?domainHint=" + WebUtility.UrlEncode(identifier); using (var requestMessage = new HttpRequestMessage()) diff --git a/src/Core/Services/CipherService.cs b/src/Core/Services/CipherService.cs index b03ab1d17..d2192810b 100644 --- a/src/Core/Services/CipherService.cs +++ b/src/Core/Services/CipherService.cs @@ -252,7 +252,7 @@ namespace Bit.Core.Services { if (!await _cryptoService.HasUserKeyAsync()) { - throw new Exception("No key."); + throw new UserKeyNullException(); } var decCiphers = new List(); async Task decryptAndAddCipherAsync(Cipher cipher) diff --git a/src/Core/Services/FolderService.cs b/src/Core/Services/FolderService.cs index 4aa2e9f3d..e818e4913 100644 --- a/src/Core/Services/FolderService.cs +++ b/src/Core/Services/FolderService.cs @@ -4,6 +4,7 @@ using System.Linq; using System.Text.RegularExpressions; using System.Threading.Tasks; using Bit.Core.Abstractions; +using Bit.Core.Exceptions; using Bit.Core.Models.Data; using Bit.Core.Models.Domain; using Bit.Core.Models.Request; @@ -80,7 +81,7 @@ namespace Bit.Core.Services var hasKey = await _cryptoService.HasUserKeyAsync(); if (!hasKey) { - throw new Exception("No key."); + throw new UserKeyNullException(); } var decFolders = new List(); async Task decryptAndAddFolderAsync(Folder folder) diff --git a/src/Core/Services/KeyConnectorService.cs b/src/Core/Services/KeyConnectorService.cs index 9b0d55094..7d0d2a1ed 100644 --- a/src/Core/Services/KeyConnectorService.cs +++ b/src/Core/Services/KeyConnectorService.cs @@ -68,14 +68,14 @@ namespace Bit.Core.Services try { var keyConnectorRequest = new KeyConnectorUserKeyRequest(masterKey.EncKeyB64); - await _apiService.PostMasterKeyToKeyConnector(organization.KeyConnectorUrl, keyConnectorRequest); + await _apiService.PostMasterKeyToKeyConnectorAsync(organization.KeyConnectorUrl, keyConnectorRequest); } catch (Exception e) { throw new Exception("Unable to reach Key Connector", e); } - await _apiService.PostConvertToKeyConnector(); + await _apiService.PostConvertToKeyConnectorAsync(); } public async Task UserNeedsMigrationAsync() @@ -103,7 +103,7 @@ namespace Bit.Core.Services try { - await _apiService.PostMasterKeyToKeyConnector(tokenResponse.KeyConnectorUrl, keyConnectorRequest); + await _apiService.PostMasterKeyToKeyConnectorAsync(tokenResponse.KeyConnectorUrl, keyConnectorRequest); } catch (Exception e) { @@ -119,7 +119,7 @@ namespace Bit.Core.Services var setPasswordRequest = new SetKeyConnectorKeyRequest( newProtectedUserKey.EncryptedString, keys, tokenResponse.KdfConfig, orgId ); - await _apiService.PostSetKeyConnectorKey(setPasswordRequest); + await _apiService.PostSetKeyConnectorKeyAsync(setPasswordRequest); } } }