From 991afb772222adc1767df400ea4f9278ce15dde7 Mon Sep 17 00:00:00 2001 From: Kyle Spearrin Date: Tue, 3 Jan 2017 00:17:15 -0500 Subject: [PATCH] Reactor rename Sites => Logins --- src/Android/AutofillActivity.cs | 2 +- src/Android/MainApplication.cs | 6 +- .../Repositories/IFolderRepository.cs | 2 +- .../Repositories/ISiteApiRepository.cs | 2 +- .../Repositories/ISiteRepository.cs | 6 +- src/App/Abstractions/Services/ISiteService.cs | 10 +- src/App/Abstractions/Services/ISyncService.cs | 2 +- src/App/Enums/CipherType.cs | 2 +- src/App/Enums/PushType.cs | 2 +- src/App/Models/Api/Request/SiteRequest.cs | 18 +-- src/App/Models/Api/Response/SiteResponse.cs | 2 +- src/App/Models/Api/SiteDataModel.cs | 2 +- src/App/Models/Data/FolderData.cs | 2 +- src/App/Models/Data/SiteData.cs | 52 +++---- src/App/Models/Page/VaultListPageModel.cs | 22 +-- src/App/Models/Page/VaultViewSitePageModel.cs | 16 +-- src/App/Models/Site.cs | 16 +-- src/App/Pages/MainPage.cs | 4 +- .../Pages/Settings/SettingsEditFolderPage.cs | 2 +- src/App/Pages/Vault/VaultAddSitePage.cs | 28 ++-- src/App/Pages/Vault/VaultEditSitePage.cs | 62 ++++---- src/App/Pages/Vault/VaultListSitesPage.cs | 112 +++++++-------- src/App/Pages/Vault/VaultViewSitePage.cs | 78 +++++----- src/App/Repositories/FolderRepository.cs | 4 +- src/App/Repositories/SiteApiRepository.cs | 4 +- src/App/Repositories/SiteRepository.cs | 17 +-- src/App/Resources/AppResources.Designer.cs | 136 +++++++++--------- src/App/Resources/AppResources.fr.resx | 36 ++--- src/App/Resources/AppResources.resx | 62 ++++---- src/App/Resources/AppResources.sv.resx | 46 +++--- src/App/Resources/AppResources.zh-Hans.resx | 34 ++--- src/App/Services/DatabaseService.cs | 2 +- src/App/Services/PushNotificationListener.cs | 8 +- src/App/Services/SiteService.cs | 66 ++++----- src/App/Services/SyncService.cs | 72 +++++----- src/iOS.Extension/LoadingViewController.cs | 34 ++--- src/iOS.Extension/MainInterface.storyboard | 14 +- src/iOS.Extension/Models/Context.cs | 2 +- src/iOS.Extension/Models/SiteViewModel.cs | 14 +- .../PasswordGeneratorViewController.cs | 2 +- src/iOS.Extension/SiteAddViewController.cs | 30 ++-- .../SiteAddViewController.designer.cs | 4 +- src/iOS.Extension/SiteListViewController.cs | 38 ++--- .../SiteListViewController.designer.cs | 4 +- src/iOS/AppDelegate.cs | 6 +- 45 files changed, 543 insertions(+), 542 deletions(-) diff --git a/src/Android/AutofillActivity.cs b/src/Android/AutofillActivity.cs index 08fee2620..54f23c2ec 100644 --- a/src/Android/AutofillActivity.cs +++ b/src/Android/AutofillActivity.cs @@ -33,7 +33,7 @@ namespace Bit.Android try { - // TODO: lookup site + // TODO: lookup login LastReceivedCredentials = new Credentials { User = "username", Password = "12345678", Url = _lastQueriedUrl }; } catch(Exception e) diff --git a/src/Android/MainApplication.cs b/src/Android/MainApplication.cs index 7aa789235..3fbef035c 100644 --- a/src/Android/MainApplication.cs +++ b/src/Android/MainApplication.cs @@ -196,7 +196,7 @@ namespace Bit.Android .RegisterType(new ContainerControlledLifetimeManager()) .RegisterType(new ContainerControlledLifetimeManager()) .RegisterType(new ContainerControlledLifetimeManager()) - .RegisterType(new ContainerControlledLifetimeManager()) + .RegisterType(new ContainerControlledLifetimeManager()) .RegisterType(new ContainerControlledLifetimeManager()) .RegisterType(new ContainerControlledLifetimeManager()) .RegisterType(new ContainerControlledLifetimeManager()) @@ -213,8 +213,8 @@ namespace Bit.Android // Repositories .RegisterType(new ContainerControlledLifetimeManager()) .RegisterType(new ContainerControlledLifetimeManager()) - .RegisterType(new ContainerControlledLifetimeManager()) - .RegisterType(new ContainerControlledLifetimeManager()) + .RegisterType(new ContainerControlledLifetimeManager()) + .RegisterType(new ContainerControlledLifetimeManager()) .RegisterType(new ContainerControlledLifetimeManager()) .RegisterType(new ContainerControlledLifetimeManager()) .RegisterType(new ContainerControlledLifetimeManager()) diff --git a/src/App/Abstractions/Repositories/IFolderRepository.cs b/src/App/Abstractions/Repositories/IFolderRepository.cs index 92f3cc600..c496c32cb 100644 --- a/src/App/Abstractions/Repositories/IFolderRepository.cs +++ b/src/App/Abstractions/Repositories/IFolderRepository.cs @@ -8,6 +8,6 @@ namespace Bit.App.Abstractions public interface IFolderRepository : IRepository { Task> GetAllByUserIdAsync(string userId); - Task DeleteWithSiteUpdateAsync(string id, DateTime revisionDate); + Task DeleteWithLoginUpdateAsync(string id, DateTime revisionDate); } } diff --git a/src/App/Abstractions/Repositories/ISiteApiRepository.cs b/src/App/Abstractions/Repositories/ISiteApiRepository.cs index eb13beb6a..ad76b42b0 100644 --- a/src/App/Abstractions/Repositories/ISiteApiRepository.cs +++ b/src/App/Abstractions/Repositories/ISiteApiRepository.cs @@ -5,7 +5,7 @@ using Bit.App.Models.Api; namespace Bit.App.Abstractions { - public interface ISiteApiRepository : IApiRepository + public interface ILoginApiRepository : IApiRepository { } } \ No newline at end of file diff --git a/src/App/Abstractions/Repositories/ISiteRepository.cs b/src/App/Abstractions/Repositories/ISiteRepository.cs index 48169bae4..ce474ae22 100644 --- a/src/App/Abstractions/Repositories/ISiteRepository.cs +++ b/src/App/Abstractions/Repositories/ISiteRepository.cs @@ -5,9 +5,9 @@ using Bit.App.Models.Data; namespace Bit.App.Abstractions { - public interface ISiteRepository : IRepository + public interface ILoginRepository : IRepository { - Task> GetAllByUserIdAsync(string userId); - Task> GetAllByUserIdAsync(string userId, bool favorite); + Task> GetAllByUserIdAsync(string userId); + Task> GetAllByUserIdAsync(string userId, bool favorite); } } diff --git a/src/App/Abstractions/Services/ISiteService.cs b/src/App/Abstractions/Services/ISiteService.cs index f404b5b4d..1e2c56789 100644 --- a/src/App/Abstractions/Services/ISiteService.cs +++ b/src/App/Abstractions/Services/ISiteService.cs @@ -5,12 +5,12 @@ using Bit.App.Models.Api; namespace Bit.App.Abstractions { - public interface ISiteService + public interface ILoginService { - Task GetByIdAsync(string id); - Task> GetAllAsync(); - Task> GetAllAsync(bool favorites); - Task> SaveAsync(Site site); + Task GetByIdAsync(string id); + Task> GetAllAsync(); + Task> GetAllAsync(bool favorites); + Task> SaveAsync(Login login); Task DeleteAsync(string id); } } diff --git a/src/App/Abstractions/Services/ISyncService.cs b/src/App/Abstractions/Services/ISyncService.cs index 305afef6a..deaaf4367 100644 --- a/src/App/Abstractions/Services/ISyncService.cs +++ b/src/App/Abstractions/Services/ISyncService.cs @@ -8,7 +8,7 @@ namespace Bit.App.Abstractions bool SyncInProgress { get; } Task SyncAsync(string id); Task SyncDeleteFolderAsync(string id, DateTime revisionDate); - Task SyncDeleteSiteAsync(string id); + Task SyncDeleteLoginAsync(string id); Task FullSyncAsync(); Task IncrementalSyncAsync(TimeSpan syncThreshold); Task IncrementalSyncAsync(); diff --git a/src/App/Enums/CipherType.cs b/src/App/Enums/CipherType.cs index 5d364571b..b81804435 100644 --- a/src/App/Enums/CipherType.cs +++ b/src/App/Enums/CipherType.cs @@ -3,6 +3,6 @@ public enum CipherType : short { Folder = 0, - Site = 1 + Login = 1 } } diff --git a/src/App/Enums/PushType.cs b/src/App/Enums/PushType.cs index 3d8586787..9f4a8e3c0 100644 --- a/src/App/Enums/PushType.cs +++ b/src/App/Enums/PushType.cs @@ -4,7 +4,7 @@ { SyncCipherUpdate = 0, SyncCipherCreate = 1, - SyncSiteDelete = 2, + SyncLoginDelete = 2, SyncFolderDelete = 3, SyncCiphers = 4 } diff --git a/src/App/Models/Api/Request/SiteRequest.cs b/src/App/Models/Api/Request/SiteRequest.cs index 2bca5e7d1..dd8825cda 100644 --- a/src/App/Models/Api/Request/SiteRequest.cs +++ b/src/App/Models/Api/Request/SiteRequest.cs @@ -1,16 +1,16 @@ namespace Bit.App.Models.Api { - public class SiteRequest + public class LoginRequest { - public SiteRequest(Site site) + public LoginRequest(Login login) { - FolderId = site.FolderId; - Name = site.Name?.EncryptedString; - Uri = site.Uri?.EncryptedString; - Username = site.Username?.EncryptedString; - Password = site.Password?.EncryptedString; - Notes = site.Notes?.EncryptedString; - Favorite = site.Favorite; + FolderId = login.FolderId; + Name = login.Name?.EncryptedString; + Uri = login.Uri?.EncryptedString; + Username = login.Username?.EncryptedString; + Password = login.Password?.EncryptedString; + Notes = login.Notes?.EncryptedString; + Favorite = login.Favorite; } public string FolderId { get; set; } diff --git a/src/App/Models/Api/Response/SiteResponse.cs b/src/App/Models/Api/Response/SiteResponse.cs index a748d77fb..0402d1f15 100644 --- a/src/App/Models/Api/Response/SiteResponse.cs +++ b/src/App/Models/Api/Response/SiteResponse.cs @@ -2,7 +2,7 @@ namespace Bit.App.Models.Api { - public class SiteResponse + public class LoginResponse { public string Id { get; set; } public string FolderId { get; set; } diff --git a/src/App/Models/Api/SiteDataModel.cs b/src/App/Models/Api/SiteDataModel.cs index a86da09a0..1f9723f2a 100644 --- a/src/App/Models/Api/SiteDataModel.cs +++ b/src/App/Models/Api/SiteDataModel.cs @@ -1,6 +1,6 @@ namespace Bit.App.Models.Api { - public class SiteDataModel + public class LoginDataModel { public string Name { get; set; } public string Uri { get; set; } diff --git a/src/App/Models/Data/FolderData.cs b/src/App/Models/Data/FolderData.cs index b3c82fe0a..eccc7d4a3 100644 --- a/src/App/Models/Data/FolderData.cs +++ b/src/App/Models/Data/FolderData.cs @@ -33,7 +33,7 @@ namespace Bit.App.Models.Data throw new ArgumentException(nameof(cipher.Type)); } - var data = cipher.Data.ToObject(); + var data = cipher.Data.ToObject(); Id = cipher.Id; UserId = userId; diff --git a/src/App/Models/Data/SiteData.cs b/src/App/Models/Data/SiteData.cs index 7667af2ac..7f8be6f6f 100644 --- a/src/App/Models/Data/SiteData.cs +++ b/src/App/Models/Data/SiteData.cs @@ -6,46 +6,46 @@ using Bit.App.Models.Api; namespace Bit.App.Models.Data { [Table("Site")] - public class SiteData : IDataObject + public class LoginData : IDataObject { - public SiteData() + public LoginData() { } - public SiteData(Site site, string userId) + public LoginData(Login login, string userId) { - Id = site.Id; - FolderId = site.FolderId; + Id = login.Id; + FolderId = login.FolderId; UserId = userId; - Name = site.Name?.EncryptedString; - Uri = site.Uri?.EncryptedString; - Username = site.Username?.EncryptedString; - Password = site.Password?.EncryptedString; - Notes = site.Notes?.EncryptedString; - Favorite = site.Favorite; + Name = login.Name?.EncryptedString; + Uri = login.Uri?.EncryptedString; + Username = login.Username?.EncryptedString; + Password = login.Password?.EncryptedString; + Notes = login.Notes?.EncryptedString; + Favorite = login.Favorite; } - public SiteData(SiteResponse site, string userId) + public LoginData(LoginResponse login, string userId) { - Id = site.Id; - FolderId = site.FolderId; + Id = login.Id; + FolderId = login.FolderId; UserId = userId; - Name = site.Name; - Uri = site.Uri; - Username = site.Username; - Password = site.Password; - Notes = site.Notes; - Favorite = site.Favorite; - RevisionDateTime = site.RevisionDate; + Name = login.Name; + Uri = login.Uri; + Username = login.Username; + Password = login.Password; + Notes = login.Notes; + Favorite = login.Favorite; + RevisionDateTime = login.RevisionDate; } - public SiteData(CipherResponse cipher, string userId) + public LoginData(CipherResponse cipher, string userId) { - if(cipher.Type != Enums.CipherType.Site) + if(cipher.Type != Enums.CipherType.Login) { throw new ArgumentException(nameof(cipher.Type)); } - var data = cipher.Data.ToObject(); + var data = cipher.Data.ToObject(); Id = cipher.Id; FolderId = cipher.FolderId; @@ -72,9 +72,9 @@ namespace Bit.App.Models.Data public bool Favorite { get; set; } public DateTime RevisionDateTime { get; set; } = DateTime.UtcNow; - public Site ToSite() + public Login ToLogin() { - return new Site(this); + return new Login(this); } } } diff --git a/src/App/Models/Page/VaultListPageModel.cs b/src/App/Models/Page/VaultListPageModel.cs index 3a48d2458..b3e3bec58 100644 --- a/src/App/Models/Page/VaultListPageModel.cs +++ b/src/App/Models/Page/VaultListPageModel.cs @@ -6,16 +6,16 @@ namespace Bit.App.Models.Page { public class VaultListPageModel { - public class Site + public class Login { - public Site(Models.Site site) + public Login(Models.Login login) { - Id = site.Id; - FolderId = site.FolderId; - Name = site.Name?.Decrypt(); - Username = site.Username?.Decrypt() ?? " "; - Password = new Lazy(() => site.Password?.Decrypt()); - Uri = new Lazy(() => site.Uri?.Decrypt()); + Id = login.Id; + FolderId = login.FolderId; + Name = login.Name?.Decrypt(); + Username = login.Username?.Decrypt() ?? " "; + Password = new Lazy(() => login.Password?.Decrypt()); + Uri = new Lazy(() => login.Uri?.Decrypt()); } public string Id { get; set; } @@ -26,7 +26,7 @@ namespace Bit.App.Models.Page public Lazy Uri { get; set; } } - public class Folder : List + public class Folder : List { public Folder(Models.Folder folder) { @@ -34,9 +34,9 @@ namespace Bit.App.Models.Page Name = folder.Name?.Decrypt(); } - public Folder(List sites) + public Folder(List logins) { - AddRange(sites); + AddRange(logins); } public string Id { get; set; } diff --git a/src/App/Models/Page/VaultViewSitePageModel.cs b/src/App/Models/Page/VaultViewSitePageModel.cs index e72fc0529..7948deb50 100644 --- a/src/App/Models/Page/VaultViewSitePageModel.cs +++ b/src/App/Models/Page/VaultViewSitePageModel.cs @@ -5,7 +5,7 @@ using Xamarin.Forms; namespace Bit.App.Models.Page { - public class VaultViewSitePageModel : INotifyPropertyChanged + public class VaultViewLoginPageModel : INotifyPropertyChanged { private string _name; private string _username; @@ -15,7 +15,7 @@ namespace Bit.App.Models.Page private bool _revealPassword; private string _uriHost; - public VaultViewSitePageModel() { } + public VaultViewLoginPageModel() { } public event PropertyChangedEventHandler PropertyChanged; @@ -176,13 +176,13 @@ namespace Bit.App.Models.Page public string ShowHideText => RevealPassword ? AppResources.Hide : AppResources.Show; public ImageSource ShowHideImage => RevealPassword ? ImageSource.FromFile("eye_slash") : ImageSource.FromFile("eye"); - public void Update(Site site) + public void Update(Login login) { - Name = site.Name?.Decrypt(); - Username = site.Username?.Decrypt(); - Password = site.Password?.Decrypt(); - Uri = site.Uri?.Decrypt(); - Notes = site.Notes?.Decrypt(); + Name = login.Name?.Decrypt(); + Username = login.Username?.Decrypt(); + Password = login.Password?.Decrypt(); + Uri = login.Uri?.Decrypt(); + Notes = login.Notes?.Decrypt(); } } } diff --git a/src/App/Models/Site.cs b/src/App/Models/Site.cs index ca34e4b29..355921e2e 100644 --- a/src/App/Models/Site.cs +++ b/src/App/Models/Site.cs @@ -3,12 +3,12 @@ using Bit.App.Models.Data; namespace Bit.App.Models { - public class Site : Cipher + public class Login : Cipher { - public Site() + public Login() { } - public Site(SiteData data) + public Login(LoginData data) { Id = data.Id; FolderId = data.FolderId; @@ -20,7 +20,7 @@ namespace Bit.App.Models Favorite = data.Favorite; } - public Site(SiteResponse response) + public Login(LoginResponse response) { Id = response.Id; FolderId = response.FolderId; @@ -39,14 +39,14 @@ namespace Bit.App.Models public CipherString Notes { get; set; } public bool Favorite { get; set; } - public SiteRequest ToSiteRequest() + public LoginRequest ToLoginRequest() { - return new SiteRequest(this); + return new LoginRequest(this); } - public SiteData ToSiteData(string userId) + public LoginData ToLoginData(string userId) { - return new SiteData(this, userId); + return new LoginData(this, userId); } } } diff --git a/src/App/Pages/MainPage.cs b/src/App/Pages/MainPage.cs index 39785dc56..6ce93eb5c 100644 --- a/src/App/Pages/MainPage.cs +++ b/src/App/Pages/MainPage.cs @@ -12,8 +12,8 @@ namespace Bit.App.Pages TintColor = Color.FromHex("3c8dbc"); var settingsNavigation = new ExtendedNavigationPage(new SettingsPage()); - var favoritesNavigation = new ExtendedNavigationPage(new VaultListSitesPage(true)); - var vaultNavigation = new ExtendedNavigationPage(new VaultListSitesPage(false)); + var favoritesNavigation = new ExtendedNavigationPage(new VaultListLoginsPage(true)); + var vaultNavigation = new ExtendedNavigationPage(new VaultListLoginsPage(false)); var toolsNavigation = new ExtendedNavigationPage(new ToolsPage()); favoritesNavigation.Title = AppResources.Favorites; diff --git a/src/App/Pages/Settings/SettingsEditFolderPage.cs b/src/App/Pages/Settings/SettingsEditFolderPage.cs index 010bfe526..a2951369a 100644 --- a/src/App/Pages/Settings/SettingsEditFolderPage.cs +++ b/src/App/Pages/Settings/SettingsEditFolderPage.cs @@ -133,7 +133,7 @@ namespace Bit.App.Pages return; } - // TODO: Validate the delete operation. ex. Cannot delete a folder that has sites in it? + // TODO: Validate the delete operation. ex. Cannot delete a folder that has logins in it? if(!await _userDialogs.ConfirmAsync(AppResources.DoYouReallyWantToDelete, null, AppResources.Yes, AppResources.No)) { diff --git a/src/App/Pages/Vault/VaultAddSitePage.cs b/src/App/Pages/Vault/VaultAddSitePage.cs index 2b8738b48..12e59cfef 100644 --- a/src/App/Pages/Vault/VaultAddSitePage.cs +++ b/src/App/Pages/Vault/VaultAddSitePage.cs @@ -13,20 +13,20 @@ using Plugin.Settings.Abstractions; namespace Bit.App.Pages { - public class VaultAddSitePage : ExtendedContentPage + public class VaultAddLoginPage : ExtendedContentPage { - private const string AddedSiteAlertKey = "addedSiteAlert"; + private const string AddedLoginAlertKey = "addedSiteAlert"; - private readonly ISiteService _siteService; + private readonly ILoginService _loginService; private readonly IFolderService _folderService; private readonly IUserDialogs _userDialogs; private readonly IConnectivity _connectivity; private readonly IGoogleAnalyticsService _googleAnalyticsService; private readonly ISettings _settings; - public VaultAddSitePage() + public VaultAddLoginPage() { - _siteService = Resolver.Resolve(); + _loginService = Resolver.Resolve(); _folderService = Resolver.Resolve(); _userDialogs = Resolver.Resolve(); _connectivity = Resolver.Resolve(); @@ -81,7 +81,7 @@ namespace Bit.App.Pages HasUnevenRows = true, Root = new TableRoot { - new TableSection(AppResources.SiteInformation) + new TableSection(AppResources.LoginInformation) { nameCell, uriCell, @@ -126,7 +126,7 @@ namespace Bit.App.Pages return; } - var site = new Site + var login = new Login { Uri = uriCell.Entry.Text?.Encrypt(), Name = nameCell.Entry.Text?.Encrypt(), @@ -138,18 +138,18 @@ namespace Bit.App.Pages if(folderCell.Picker.SelectedIndex > 0) { - site.FolderId = folders.ElementAt(folderCell.Picker.SelectedIndex - 1).Id; + login.FolderId = folders.ElementAt(folderCell.Picker.SelectedIndex - 1).Id; } _userDialogs.ShowLoading(AppResources.Saving, MaskType.Black); - var saveTask = await _siteService.SaveAsync(site); + var saveTask = await _loginService.SaveAsync(login); _userDialogs.HideLoading(); if(saveTask.Succeeded) { await Navigation.PopForDeviceAsync(); - _userDialogs.Toast(AppResources.NewSiteCreated); - _googleAnalyticsService.TrackAppEvent("CreatedSite"); + _userDialogs.Toast(AppResources.NewLoginCreated); + _googleAnalyticsService.TrackAppEvent("CreatedLogin"); } else if(saveTask.Errors.Count() > 0) { @@ -161,7 +161,7 @@ namespace Bit.App.Pages } }, ToolbarItemOrder.Default, 0); - Title = AppResources.AddSite; + Title = AppResources.AddLogin; Content = table; ToolbarItems.Add(saveToolBarItem); if(Device.OS == TargetPlatform.iOS) @@ -178,9 +178,9 @@ namespace Bit.App.Pages AlertNoConnection(); } - if(Device.OS == TargetPlatform.iOS && !_settings.GetValueOrDefault(AddedSiteAlertKey, false)) + if(Device.OS == TargetPlatform.iOS && !_settings.GetValueOrDefault(AddedLoginAlertKey, false)) { - _settings.AddOrUpdateValue(AddedSiteAlertKey, true); + _settings.AddOrUpdateValue(AddedLoginAlertKey, true); DisplayAlert(AppResources.BitwardenAppExtension, AppResources.BitwardenAppExtensionAlert, AppResources.Ok); } } diff --git a/src/App/Pages/Vault/VaultEditSitePage.cs b/src/App/Pages/Vault/VaultEditSitePage.cs index fd42a04d4..a3c0f862d 100644 --- a/src/App/Pages/Vault/VaultEditSitePage.cs +++ b/src/App/Pages/Vault/VaultEditSitePage.cs @@ -11,19 +11,19 @@ using XLabs.Ioc; namespace Bit.App.Pages { - public class VaultEditSitePage : ExtendedContentPage + public class VaultEditLoginPage : ExtendedContentPage { - private readonly string _siteId; - private readonly ISiteService _siteService; + private readonly string _loginId; + private readonly ILoginService _loginService; private readonly IFolderService _folderService; private readonly IUserDialogs _userDialogs; private readonly IConnectivity _connectivity; private readonly IGoogleAnalyticsService _googleAnalyticsService; - public VaultEditSitePage(string siteId) + public VaultEditLoginPage(string loginId) { - _siteId = siteId; - _siteService = Resolver.Resolve(); + _loginId = loginId; + _loginService = Resolver.Resolve(); _folderService = Resolver.Resolve(); _userDialogs = Resolver.Resolve(); _connectivity = Resolver.Resolve(); @@ -36,19 +36,19 @@ namespace Bit.App.Pages private void Init() { - var site = _siteService.GetByIdAsync(_siteId).GetAwaiter().GetResult(); - if(site == null) + var login = _loginService.GetByIdAsync(_loginId).GetAwaiter().GetResult(); + if(login == null) { // TODO: handle error. navigate back? should never happen... return; } var notesCell = new FormEditorCell(height: 90); - notesCell.Editor.Text = site.Notes?.Decrypt(); + notesCell.Editor.Text = login.Notes?.Decrypt(); PasswordCell = new FormEntryCell(AppResources.Password, isPassword: true, nextElement: notesCell.Editor, useButton: true); - PasswordCell.Entry.Text = site.Password?.Decrypt(); + PasswordCell.Entry.Text = login.Password?.Decrypt(); PasswordCell.Button.Image = "eye"; PasswordCell.Button.Clicked += PasswordButton_Clicked; PasswordCell.Entry.DisableAutocapitalize = true; @@ -56,14 +56,14 @@ namespace Bit.App.Pages PasswordCell.Entry.FontFamily = Device.OnPlatform(iOS: "Courier", Android: "monospace", WinPhone: "Courier"); var usernameCell = new FormEntryCell(AppResources.Username, nextElement: PasswordCell.Entry); - usernameCell.Entry.Text = site.Username?.Decrypt(); + usernameCell.Entry.Text = login.Username?.Decrypt(); usernameCell.Entry.DisableAutocapitalize = true; usernameCell.Entry.Autocorrect = false; var uriCell = new FormEntryCell(AppResources.URI, Keyboard.Url, nextElement: usernameCell.Entry); - uriCell.Entry.Text = site.Uri?.Decrypt(); + uriCell.Entry.Text = login.Uri?.Decrypt(); var nameCell = new FormEntryCell(AppResources.Name, nextElement: uriCell.Entry); - nameCell.Entry.Text = site.Name?.Decrypt(); + nameCell.Entry.Text = login.Name?.Decrypt(); var generateCell = new ExtendedTextCell { @@ -80,7 +80,7 @@ namespace Bit.App.Pages foreach(var folder in folders) { i++; - if(folder.Id == site.FolderId) + if(folder.Id == login.FolderId) { selectedIndex = i; } @@ -93,7 +93,7 @@ namespace Bit.App.Pages var favoriteCell = new ExtendedSwitchCell { Text = AppResources.Favorite, - On = site.Favorite + On = login.Favorite }; var deleteCell = new ExtendedTextCell { Text = AppResources.Delete, TextColor = Color.Red }; @@ -106,7 +106,7 @@ namespace Bit.App.Pages HasUnevenRows = true, Root = new TableRoot { - new TableSection(AppResources.SiteInformation) + new TableSection(AppResources.LoginInformation) { nameCell, uriCell, @@ -155,32 +155,32 @@ namespace Bit.App.Pages return; } - site.Uri = uriCell.Entry.Text?.Encrypt(); - site.Name = nameCell.Entry.Text?.Encrypt(); - site.Username = usernameCell.Entry.Text?.Encrypt(); - site.Password = PasswordCell.Entry.Text?.Encrypt(); - site.Notes = notesCell.Editor.Text?.Encrypt(); - site.Favorite = favoriteCell.On; + login.Uri = uriCell.Entry.Text?.Encrypt(); + login.Name = nameCell.Entry.Text?.Encrypt(); + login.Username = usernameCell.Entry.Text?.Encrypt(); + login.Password = PasswordCell.Entry.Text?.Encrypt(); + login.Notes = notesCell.Editor.Text?.Encrypt(); + login.Favorite = favoriteCell.On; if(folderCell.Picker.SelectedIndex > 0) { - site.FolderId = folders.ElementAt(folderCell.Picker.SelectedIndex - 1).Id; + login.FolderId = folders.ElementAt(folderCell.Picker.SelectedIndex - 1).Id; } else { - site.FolderId = null; + login.FolderId = null; } _userDialogs.ShowLoading(AppResources.Saving, MaskType.Black); - var saveTask = await _siteService.SaveAsync(site); + var saveTask = await _loginService.SaveAsync(login); _userDialogs.HideLoading(); if(saveTask.Succeeded) { await Navigation.PopForDeviceAsync(); - _userDialogs.Toast(AppResources.SiteUpdated); - _googleAnalyticsService.TrackAppEvent("EditedSite"); + _userDialogs.Toast(AppResources.LoginUpdated); + _googleAnalyticsService.TrackAppEvent("EditeLogin"); } else if(saveTask.Errors.Count() > 0) { @@ -192,7 +192,7 @@ namespace Bit.App.Pages } }, ToolbarItemOrder.Default, 0); - Title = AppResources.EditSite; + Title = AppResources.EditLogin; Content = table; ToolbarItems.Add(saveToolBarItem); if(Device.OS == TargetPlatform.iOS) @@ -246,14 +246,14 @@ namespace Bit.App.Pages } _userDialogs.ShowLoading(AppResources.Deleting, MaskType.Black); - var deleteTask = await _siteService.DeleteAsync(_siteId); + var deleteTask = await _loginService.DeleteAsync(_loginId); _userDialogs.HideLoading(); if(deleteTask.Succeeded) { await Navigation.PopForDeviceAsync(); - _userDialogs.Toast(AppResources.SiteDeleted); - _googleAnalyticsService.TrackAppEvent("DeletedSite"); + _userDialogs.Toast(AppResources.LoginDeleted); + _googleAnalyticsService.TrackAppEvent("DeletedLogin"); } else if(deleteTask.Errors.Count() > 0) { diff --git a/src/App/Pages/Vault/VaultListSitesPage.cs b/src/App/Pages/Vault/VaultListSitesPage.cs index a0eb90d86..3def0a9c2 100644 --- a/src/App/Pages/Vault/VaultListSitesPage.cs +++ b/src/App/Pages/Vault/VaultListSitesPage.cs @@ -17,10 +17,10 @@ using System.Threading; namespace Bit.App.Pages { - public class VaultListSitesPage : ExtendedContentPage + public class VaultListLoginsPage : ExtendedContentPage { private readonly IFolderService _folderService; - private readonly ISiteService _siteService; + private readonly ILoginService _loginService; private readonly IUserDialogs _userDialogs; private readonly IConnectivity _connectivity; private readonly IClipboardService _clipboardService; @@ -32,12 +32,12 @@ namespace Bit.App.Pages private bool _loadExistingData; private CancellationTokenSource _filterResultsCancellationTokenSource; - public VaultListSitesPage(bool favorites) + public VaultListLoginsPage(bool favorites) : base(true) { _favorites = favorites; _folderService = Resolver.Resolve(); - _siteService = Resolver.Resolve(); + _loginService = Resolver.Resolve(); _connectivity = Resolver.Resolve(); _userDialogs = Resolver.Resolve(); _clipboardService = Resolver.Resolve(); @@ -55,7 +55,7 @@ namespace Bit.App.Pages public ExtendedObservableCollection PresentationFolders { get; private set; } = new ExtendedObservableCollection(); public ListView ListView { get; set; } - public VaultListPageModel.Site[] Sites { get; set; } = new VaultListPageModel.Site[] { }; + public VaultListPageModel.Login[] Logins { get; set; } = new VaultListPageModel.Login[] { }; public VaultListPageModel.Folder[] Folders { get; set; } = new VaultListPageModel.Folder[] { }; public SearchBar Search { get; set; } public StackLayout NoDataStackLayout { get; set; } @@ -74,7 +74,7 @@ namespace Bit.App.Pages if(!_favorites) { - ToolbarItems.Add(new AddSiteToolBarItem(this)); + ToolbarItems.Add(new AddLoginToolBarItem(this)); } ListView = new ListView(ListViewCachingStrategy.RecycleElement) @@ -91,7 +91,7 @@ namespace Bit.App.Pages ListView.RowHeight = -1; } - ListView.ItemSelected += SiteSelected; + ListView.ItemSelected += LoginSelected; Search = new SearchBar { @@ -117,7 +117,7 @@ namespace Bit.App.Pages var noDataLabel = new Label { - Text = _favorites ? AppResources.NoFavorites : AppResources.NoSites, + Text = _favorites ? AppResources.NoFavorites : AppResources.NoLogins, HorizontalTextAlignment = TextAlignment.Center, FontSize = Device.GetNamedSize(NamedSize.Small, typeof(Label)), Style = (Style)Application.Current.Resources["text-muted"] @@ -133,14 +133,14 @@ namespace Bit.App.Pages if(!_favorites) { - var addSiteButton = new ExtendedButton + var addLoginButton = new ExtendedButton { - Text = AppResources.AddASite, - Command = new Command(() => AddSite()), + Text = AppResources.AddALogin, + Command = new Command(() => AddLogin()), Style = (Style)Application.Current.Resources["btn-primaryAccent"] }; - NoDataStackLayout.Children.Add(addSiteButton); + NoDataStackLayout.Children.Add(addLoginButton); } LoadingIndicator = new ActivityIndicator @@ -206,18 +206,18 @@ namespace Bit.App.Pages if(string.IsNullOrWhiteSpace(searchFilter)) { - LoadFolders(Sites, ct); + LoadFolders(Logins, ct); } else { searchFilter = searchFilter.ToLower(); - var filteredSites = Sites + var filteredLogins = Logins .Where(s => s.Name.ToLower().Contains(searchFilter) || s.Username.ToLower().Contains(searchFilter)) .TakeWhile(s => !ct.IsCancellationRequested) .ToArray(); ct.ThrowIfCancellationRequested(); - LoadFolders(filteredSites, ct); + LoadFolders(filteredLogins, ct); } } @@ -289,19 +289,19 @@ namespace Bit.App.Pages Task.Run(async () => { var foldersTask = _folderService.GetAllAsync(); - var sitesTask = _favorites ? _siteService.GetAllAsync(true) : _siteService.GetAllAsync(); - await Task.WhenAll(foldersTask, sitesTask); + var loginsTask = _favorites ? _loginService.GetAllAsync(true) : _loginService.GetAllAsync(); + await Task.WhenAll(foldersTask, loginsTask); var folders = await foldersTask; - var sites = await sitesTask; + var logins = await loginsTask; Folders = folders .Select(f => new VaultListPageModel.Folder(f)) .OrderBy(s => s.Name) .ToArray(); - Sites = sites - .Select(s => new VaultListPageModel.Site(s)) + Logins = logins + .Select(s => new VaultListPageModel.Login(s)) .OrderBy(s => s.Name) .ThenBy(s => s.Username) .ToArray(); @@ -316,7 +316,7 @@ namespace Bit.App.Pages return cts; } - private void LoadFolders(VaultListPageModel.Site[] sites, CancellationToken ct) + private void LoadFolders(VaultListPageModel.Login[] logins, CancellationToken ct) { var folders = new List(Folders); @@ -327,16 +327,16 @@ namespace Bit.App.Pages folder.Clear(); } - var sitesToAdd = sites + var loginsToAdd = logins .Where(s => s.FolderId == folder.Id) .TakeWhile(s => !ct.IsCancellationRequested) .ToList(); ct.ThrowIfCancellationRequested(); - folder.AddRange(sitesToAdd); + folder.AddRange(loginsToAdd); } - var noneToAdd = sites + var noneToAdd = logins .Where(s => s.FolderId == null) .TakeWhile(s => !ct.IsCancellationRequested) .ToList(); @@ -359,53 +359,53 @@ namespace Bit.App.Pages }); } - private async void SiteSelected(object sender, SelectedItemChangedEventArgs e) + private async void LoginSelected(object sender, SelectedItemChangedEventArgs e) { - var site = e.SelectedItem as VaultListPageModel.Site; - var page = new VaultViewSitePage(site.Id); + var login = e.SelectedItem as VaultListPageModel.Login; + var page = new VaultViewLoginPage(login.Id); await Navigation.PushForDeviceAsync(page); } - private async void MoreClickedAsync(VaultListPageModel.Site site) + private async void MoreClickedAsync(VaultListPageModel.Login login) { var buttons = new List { AppResources.View, AppResources.Edit }; - if(!string.IsNullOrWhiteSpace(site.Password.Value)) + if(!string.IsNullOrWhiteSpace(login.Password.Value)) { buttons.Add(AppResources.CopyPassword); } - if(!string.IsNullOrWhiteSpace(site.Username)) + if(!string.IsNullOrWhiteSpace(login.Username)) { buttons.Add(AppResources.CopyUsername); } - if(!string.IsNullOrWhiteSpace(site.Uri.Value) && (site.Uri.Value.StartsWith("http://") - || site.Uri.Value.StartsWith("https://"))) + if(!string.IsNullOrWhiteSpace(login.Uri.Value) && (login.Uri.Value.StartsWith("http://") + || login.Uri.Value.StartsWith("https://"))) { buttons.Add(AppResources.GoToWebsite); } - var selection = await DisplayActionSheet(site.Name, AppResources.Cancel, null, buttons.ToArray()); + var selection = await DisplayActionSheet(login.Name, AppResources.Cancel, null, buttons.ToArray()); if(selection == AppResources.View) { - var page = new VaultViewSitePage(site.Id); + var page = new VaultViewLoginPage(login.Id); await Navigation.PushForDeviceAsync(page); } else if(selection == AppResources.Edit) { - var page = new VaultEditSitePage(site.Id); + var page = new VaultEditLoginPage(login.Id); await Navigation.PushForDeviceAsync(page); } else if(selection == AppResources.CopyPassword) { - Copy(site.Password.Value, AppResources.Password); + Copy(login.Password.Value, AppResources.Password); } else if(selection == AppResources.CopyUsername) { - Copy(site.Username, AppResources.Username); + Copy(login.Username, AppResources.Username); } else if(selection == AppResources.GoToWebsite) { - Device.OpenUri(new Uri(site.Uri.Value)); + Device.OpenUri(new Uri(login.Uri.Value)); } } @@ -415,17 +415,17 @@ namespace Bit.App.Pages _userDialogs.Toast(string.Format(AppResources.ValueHasBeenCopied, alertLabel)); } - private async void AddSite() + private async void AddLogin() { - var page = new VaultAddSitePage(); + var page = new VaultAddLoginPage(); await Navigation.PushForDeviceAsync(page); } - private class AddSiteToolBarItem : ToolbarItem + private class AddLoginToolBarItem : ToolbarItem { - private readonly VaultListSitesPage _page; + private readonly VaultListLoginsPage _page; - public AddSiteToolBarItem(VaultListSitesPage page) + public AddLoginToolBarItem(VaultListLoginsPage page) { _page = page; Text = AppResources.Add; @@ -435,24 +435,24 @@ namespace Bit.App.Pages private void ClickedItem(object sender, EventArgs e) { - _page.AddSite(); + _page.AddLogin(); } } private class VaultListViewCell : LabeledDetailCell { - private VaultListSitesPage _page; + private VaultListLoginsPage _page; - public static readonly BindableProperty SiteParameterProperty = BindableProperty.Create(nameof(SiteParameter), - typeof(VaultListPageModel.Site), typeof(VaultListViewCell), null); + public static readonly BindableProperty LoginParameterProperty = BindableProperty.Create(nameof(LoginParameter), + typeof(VaultListPageModel.Login), typeof(VaultListViewCell), null); - public VaultListViewCell(VaultListSitesPage page) + public VaultListViewCell(VaultListLoginsPage page) { _page = page; - SetBinding(SiteParameterProperty, new Binding(".")); - Label.SetBinding(Label.TextProperty, s => s.Name); - Detail.SetBinding(Label.TextProperty, s => s.Username); + SetBinding(LoginParameterProperty, new Binding(".")); + Label.SetBinding(Label.TextProperty, s => s.Name); + Detail.SetBinding(Label.TextProperty, s => s.Username); Button.Image = "more"; Button.Command = new Command(() => ShowMore()); @@ -461,21 +461,21 @@ namespace Bit.App.Pages BackgroundColor = Color.White; } - public VaultListPageModel.Site SiteParameter + public VaultListPageModel.Login LoginParameter { - get { return GetValue(SiteParameterProperty) as VaultListPageModel.Site; } - set { SetValue(SiteParameterProperty, value); } + get { return GetValue(LoginParameterProperty) as VaultListPageModel.Login; } + set { SetValue(LoginParameterProperty, value); } } private void ShowMore() { - _page.MoreClickedAsync(SiteParameter); + _page.MoreClickedAsync(LoginParameter); } } private class VaultListHeaderViewCell : ExtendedViewCell { - public VaultListHeaderViewCell(VaultListSitesPage page) + public VaultListHeaderViewCell(VaultListLoginsPage page) { var image = new Image { diff --git a/src/App/Pages/Vault/VaultViewSitePage.cs b/src/App/Pages/Vault/VaultViewSitePage.cs index 08dd23c3f..d8a00a43f 100644 --- a/src/App/Pages/Vault/VaultViewSitePage.cs +++ b/src/App/Pages/Vault/VaultViewSitePage.cs @@ -9,26 +9,26 @@ using XLabs.Ioc; namespace Bit.App.Pages { - public class VaultViewSitePage : ExtendedContentPage + public class VaultViewLoginPage : ExtendedContentPage { - private readonly string _siteId; - private readonly ISiteService _siteService; + private readonly string _loginId; + private readonly ILoginService _loginService; private readonly IUserDialogs _userDialogs; private readonly IClipboardService _clipboardService; - public VaultViewSitePage(string siteId) + public VaultViewLoginPage(string loginId) { - _siteId = siteId; - _siteService = Resolver.Resolve(); + _loginId = loginId; + _loginService = Resolver.Resolve(); _userDialogs = Resolver.Resolve(); _clipboardService = Resolver.Resolve(); Init(); } - private VaultViewSitePageModel Model { get; set; } = new VaultViewSitePageModel(); + private VaultViewLoginPageModel Model { get; set; } = new VaultViewLoginPageModel(); private ExtendedTableView Table { get; set; } - private TableSection SiteInformationSection { get; set; } + private TableSection LoginInformationSection { get; set; } private TableSection NotesSection { get; set; } public LabeledValueCell UsernameCell { get; set; } public LabeledValueCell PasswordCell { get; set; } @@ -36,7 +36,7 @@ namespace Bit.App.Pages private void Init() { - ToolbarItems.Add(new EditSiteToolBarItem(this, _siteId)); + ToolbarItems.Add(new EditLoginToolBarItem(this, _loginId)); if(Device.OS == TargetPlatform.iOS) { ToolbarItems.Add(new DismissModalToolBarItem(this)); @@ -44,20 +44,20 @@ namespace Bit.App.Pages // Name var nameCell = new LabeledValueCell(AppResources.Name); - nameCell.Value.SetBinding(Label.TextProperty, s => s.Name); + nameCell.Value.SetBinding(Label.TextProperty, s => s.Name); // Username UsernameCell = new LabeledValueCell(AppResources.Username, button1Text: AppResources.Copy); - UsernameCell.Value.SetBinding(Label.TextProperty, s => s.Username); - UsernameCell.Value.SetBinding(Label.FontSizeProperty, s => s.UsernameFontSize); + UsernameCell.Value.SetBinding(Label.TextProperty, s => s.Username); + UsernameCell.Value.SetBinding(Label.FontSizeProperty, s => s.UsernameFontSize); UsernameCell.Button1.Command = new Command(() => Copy(Model.Username, AppResources.Username)); // Password PasswordCell = new LabeledValueCell(AppResources.Password, button1Text: string.Empty, button2Text: AppResources.Copy); - PasswordCell.Value.SetBinding(Label.TextProperty, s => s.MaskedPassword); - PasswordCell.Value.SetBinding(Label.FontSizeProperty, s => s.PasswordFontSize); - PasswordCell.Button1.SetBinding(Button.ImageProperty, s => s.ShowHideImage); + PasswordCell.Value.SetBinding(Label.TextProperty, s => s.MaskedPassword); + PasswordCell.Value.SetBinding(Label.FontSizeProperty, s => s.PasswordFontSize); + PasswordCell.Button1.SetBinding(Button.ImageProperty, s => s.ShowHideImage); if(Device.OS == TargetPlatform.iOS) { PasswordCell.Button1.Margin = new Thickness(10, 0); @@ -68,16 +68,16 @@ namespace Bit.App.Pages // URI UriCell = new LabeledValueCell(AppResources.Website, button1Text: AppResources.Launch); - UriCell.Value.SetBinding(Label.TextProperty, s => s.UriHost); - UriCell.Button1.SetBinding(IsVisibleProperty, s => s.ShowLaunch); + UriCell.Value.SetBinding(Label.TextProperty, s => s.UriHost); + UriCell.Button1.SetBinding(IsVisibleProperty, s => s.ShowLaunch); UriCell.Button1.Command = new Command(() => Device.OpenUri(new Uri(Model.Uri))); // Notes var notesCell = new LabeledValueCell(); - notesCell.Value.SetBinding(Label.TextProperty, s => s.Notes); + notesCell.Value.SetBinding(Label.TextProperty, s => s.Notes); notesCell.Value.LineBreakMode = LineBreakMode.WordWrap; - SiteInformationSection = new TableSection(AppResources.SiteInformation) + LoginInformationSection = new TableSection(AppResources.LoginInformation) { nameCell }; @@ -95,7 +95,7 @@ namespace Bit.App.Pages EnableSelection = false, Root = new TableRoot { - SiteInformationSection, + LoginInformationSection, NotesSection } }; @@ -114,47 +114,47 @@ namespace Bit.App.Pages UriCell.Button1.WidthRequest = 75; } - Title = AppResources.ViewSite; + Title = AppResources.ViewLogin; Content = Table; BindingContext = Model; } protected async override void OnAppearing() { - var site = await _siteService.GetByIdAsync(_siteId); - if(site == null) + var login = await _loginService.GetByIdAsync(_loginId); + if(login == null) { await Navigation.PopForDeviceAsync(); return; } - Model.Update(site); + Model.Update(login); if(!Model.ShowUri) { - SiteInformationSection.Remove(UriCell); + LoginInformationSection.Remove(UriCell); } - else if(!SiteInformationSection.Contains(UriCell)) + else if(!LoginInformationSection.Contains(UriCell)) { - SiteInformationSection.Add(UriCell); + LoginInformationSection.Add(UriCell); } if(!Model.ShowUsername) { - SiteInformationSection.Remove(UsernameCell); + LoginInformationSection.Remove(UsernameCell); } - else if(!SiteInformationSection.Contains(UsernameCell)) + else if(!LoginInformationSection.Contains(UsernameCell)) { - SiteInformationSection.Add(UsernameCell); + LoginInformationSection.Add(UsernameCell); } if(!Model.ShowPassword) { - SiteInformationSection.Remove(PasswordCell); + LoginInformationSection.Remove(PasswordCell); } - else if(!SiteInformationSection.Contains(PasswordCell)) + else if(!LoginInformationSection.Contains(PasswordCell)) { - SiteInformationSection.Add(PasswordCell); + LoginInformationSection.Add(PasswordCell); } if(!Model.ShowNotes) @@ -175,22 +175,22 @@ namespace Bit.App.Pages _userDialogs.Toast(string.Format(AppResources.ValueHasBeenCopied, alertLabel)); } - private class EditSiteToolBarItem : ToolbarItem + private class EditLoginToolBarItem : ToolbarItem { - private readonly VaultViewSitePage _page; - private readonly string _siteId; + private readonly VaultViewLoginPage _page; + private readonly string _loginId; - public EditSiteToolBarItem(VaultViewSitePage page, string siteId) + public EditLoginToolBarItem(VaultViewLoginPage page, string loginId) { _page = page; - _siteId = siteId; + _loginId = loginId; Text = AppResources.Edit; Clicked += ClickedItem; } private async void ClickedItem(object sender, EventArgs e) { - var page = new VaultEditSitePage(_siteId); + var page = new VaultEditLoginPage(_loginId); await _page.Navigation.PushForDeviceAsync(page); } } diff --git a/src/App/Repositories/FolderRepository.cs b/src/App/Repositories/FolderRepository.cs index 7be067321..4ae3b87b7 100644 --- a/src/App/Repositories/FolderRepository.cs +++ b/src/App/Repositories/FolderRepository.cs @@ -22,11 +22,11 @@ namespace Bit.App.Repositories public override Task DeleteAsync(string id) { var now = DateTime.UtcNow; - DeleteWithSiteUpdateAsync(id, now); + DeleteWithLoginUpdateAsync(id, now); return Task.FromResult(0); } - public Task DeleteWithSiteUpdateAsync(string id, DateTime revisionDate) + public Task DeleteWithLoginUpdateAsync(string id, DateTime revisionDate) { Connection.RunInTransaction(() => { diff --git a/src/App/Repositories/SiteApiRepository.cs b/src/App/Repositories/SiteApiRepository.cs index f93882e69..2fd35d7f2 100644 --- a/src/App/Repositories/SiteApiRepository.cs +++ b/src/App/Repositories/SiteApiRepository.cs @@ -9,9 +9,9 @@ using Plugin.Connectivity.Abstractions; namespace Bit.App.Repositories { - public class SiteApiRepository : ApiRepository, ISiteApiRepository + public class LoginApiRepository : ApiRepository, ILoginApiRepository { - public SiteApiRepository( + public LoginApiRepository( IConnectivity connectivity, IHttpService httpService) : base(connectivity, httpService) diff --git a/src/App/Repositories/SiteRepository.cs b/src/App/Repositories/SiteRepository.cs index 3dbe90775..45657df45 100644 --- a/src/App/Repositories/SiteRepository.cs +++ b/src/App/Repositories/SiteRepository.cs @@ -7,22 +7,23 @@ using Bit.App.Models.Data; namespace Bit.App.Repositories { - public class SiteRepository : Repository, ISiteRepository + public class LoginRepository : Repository, ILoginRepository { - public SiteRepository(ISqlService sqlService) + public LoginRepository(ISqlService sqlService) : base(sqlService) { } - public Task> GetAllByUserIdAsync(string userId) + public Task> GetAllByUserIdAsync(string userId) { - var sites = Connection.Table().Where(f => f.UserId == userId).Cast(); - return Task.FromResult(sites); + var logins = Connection.Table().Where(f => f.UserId == userId).Cast(); + return Task.FromResult(logins); } - public Task> GetAllByUserIdAsync(string userId, bool favorite) + public Task> GetAllByUserIdAsync(string userId, bool favorite) { - var sites = Connection.Table().Where(f => f.UserId == userId && f.Favorite == favorite).Cast(); - return Task.FromResult(sites); + var logins = Connection.Table().Where(f => f.UserId == userId && f.Favorite == favorite) + .Cast(); + return Task.FromResult(logins); } } } diff --git a/src/App/Resources/AppResources.Designer.cs b/src/App/Resources/AppResources.Designer.cs index e5e736158..021a9c8ce 100644 --- a/src/App/Resources/AppResources.Designer.cs +++ b/src/App/Resources/AppResources.Designer.cs @@ -98,11 +98,11 @@ namespace Bit.App.Resources { } /// - /// Looks up a localized string similar to Add a Site. + /// Looks up a localized string similar to Add a Login. /// - public static string AddASite { + public static string AddALogin { get { - return ResourceManager.GetString("AddASite", resourceCulture); + return ResourceManager.GetString("AddALogin", resourceCulture); } } @@ -116,11 +116,11 @@ namespace Bit.App.Resources { } /// - /// Looks up a localized string similar to Add Site. + /// Looks up a localized string similar to Add Login. /// - public static string AddSite { + public static string AddLogin { get { - return ResourceManager.GetString("AddSite", resourceCulture); + return ResourceManager.GetString("AddLogin", resourceCulture); } } @@ -197,7 +197,7 @@ namespace Bit.App.Resources { } /// - /// Looks up a localized string similar to The easiest way to add new sites to your vault is from the bitwarden App Extension. Learn more about using the bitwarden App Extension by navigating to the "Tools" screen.. + /// Looks up a localized string similar to The easiest way to add new logins to your vault is from the bitwarden App Extension. Learn more about using the bitwarden App Extension by navigating to the "Tools" screen.. /// public static string BitwardenAppExtensionAlert { get { @@ -440,11 +440,11 @@ namespace Bit.App.Resources { } /// - /// Looks up a localized string similar to Edit Site. + /// Looks up a localized string similar to Edit Login. /// - public static string EditSite { + public static string EditLogin { get { - return ResourceManager.GetString("EditSite", resourceCulture); + return ResourceManager.GetString("EditLogin", resourceCulture); } } @@ -961,6 +961,33 @@ namespace Bit.App.Resources { } } + /// + /// Looks up a localized string similar to Login has been deleted.. + /// + public static string LoginDeleted { + get { + return ResourceManager.GetString("LoginDeleted", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Login Information. + /// + public static string LoginInformation { + get { + return ResourceManager.GetString("LoginInformation", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No Name. + /// + public static string LoginNoName { + get { + return ResourceManager.GetString("LoginNoName", resourceCulture); + } + } + /// /// Looks up a localized string similar to Login. /// @@ -979,6 +1006,24 @@ namespace Bit.App.Resources { } } + /// + /// Looks up a localized string similar to Logins. + /// + public static string Logins { + get { + return ResourceManager.GetString("Logins", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Login updated.. + /// + public static string LoginUpdated { + get { + return ResourceManager.GetString("LoginUpdated", resourceCulture); + } + } + /// /// Looks up a localized string similar to Log Out. /// @@ -1142,11 +1187,11 @@ namespace Bit.App.Resources { } /// - /// Looks up a localized string similar to New site created.. + /// Looks up a localized string similar to New login created.. /// - public static string NewSiteCreated { + public static string NewLoginCreated { get { - return ResourceManager.GetString("NewSiteCreated", resourceCulture); + return ResourceManager.GetString("NewLoginCreated", resourceCulture); } } @@ -1169,20 +1214,20 @@ namespace Bit.App.Resources { } /// - /// Looks up a localized string similar to There are no sites in your vault.. + /// Looks up a localized string similar to There are no logins in your vault.. /// - public static string NoSites { + public static string NoLogins { get { - return ResourceManager.GetString("NoSites", resourceCulture); + return ResourceManager.GetString("NoLogins", resourceCulture); } } /// - /// Looks up a localized string similar to There are no sites in your vault for this website. Tap to add one.. + /// Looks up a localized string similar to There are no logins in your vault for this website. Tap to add one.. /// - public static string NoSitesTap { + public static string NoLoginsTap { get { - return ResourceManager.GetString("NoSitesTap", resourceCulture); + return ResourceManager.GetString("NoLoginsTap", resourceCulture); } } @@ -1196,7 +1241,7 @@ namespace Bit.App.Resources { } /// - /// Looks up a localized string similar to This site does not have a username or password configured.. + /// Looks up a localized string similar to This login does not have a username or password configured.. /// public static string NoUsernamePasswordConfigured { get { @@ -1456,51 +1501,6 @@ namespace Bit.App.Resources { } } - /// - /// Looks up a localized string similar to Site has been deleted.. - /// - public static string SiteDeleted { - get { - return ResourceManager.GetString("SiteDeleted", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Site Information. - /// - public static string SiteInformation { - get { - return ResourceManager.GetString("SiteInformation", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to No Name. - /// - public static string SiteNoName { - get { - return ResourceManager.GetString("SiteNoName", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Sites. - /// - public static string Sites { - get { - return ResourceManager.GetString("Sites", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Site updated.. - /// - public static string SiteUpdated { - get { - return ResourceManager.GetString("SiteUpdated", resourceCulture); - } - } - /// /// Looks up a localized string similar to Submit. /// @@ -1745,11 +1745,11 @@ namespace Bit.App.Resources { } /// - /// Looks up a localized string similar to View Site. + /// Looks up a localized string similar to View Login. /// - public static string ViewSite { + public static string ViewLogin { get { - return ResourceManager.GetString("ViewSite", resourceCulture); + return ResourceManager.GetString("ViewLogin", resourceCulture); } } diff --git a/src/App/Resources/AppResources.fr.resx b/src/App/Resources/AppResources.fr.resx index 1fdfb8778..22d9104bc 100644 --- a/src/App/Resources/AppResources.fr.resx +++ b/src/App/Resources/AppResources.fr.resx @@ -127,9 +127,9 @@ Ajouter dossier - + Ajouter site - The title for the add site page. + The title for the add login page. Une erreur est survenue. @@ -153,11 +153,11 @@ Copier mot de passe - The button text that allows a user to copy the site's password to their clipboard. + The button text that allows a user to copy the login's password to their clipboard. Copier nom d'utilisateur - The button text that allows a user to copy the site's username to their clipboard. + The button text that allows a user to copy the login's username to their clipboard. Remerciements @@ -223,7 +223,7 @@ (aucun) - Sites that have no folder specified go in this special "catch-all" folder. + Logins that have no folder specified go in this special "catch-all" folder. Dossiers @@ -322,13 +322,13 @@ Afficher Reveal a hidden value (password). - + Le site a été supprimé. - Confirmation message after successfully deleting a site. + Confirmation message after successfully deleting a login. - + Aucun nom - Title text to display when there is no name given for a site. + Title text to display when there is no name given for a login. Soumettre @@ -397,7 +397,7 @@ Votre nouveau compte a été créé ! Vous pouvez maintenant vous identifier. - + Ajouter un site @@ -467,7 +467,7 @@ Session actuelle - + Modifier Site @@ -603,16 +603,16 @@ Jamais - + Nouveau site créé. Aucun favori dans votre coffre. - + Aucun site dans votre coffre. - + Aucun site dans votre coffre pour ce site web. Appuyez pour en ajouter un. @@ -686,10 +686,10 @@ Saisissez un code PIN à 4 chiffres pour déverrouiller l'application. - + Informations sur le site - + Site mis à jour. @@ -732,7 +732,7 @@ Code de vérification - + Voir le site @@ -744,7 +744,7 @@ Application d'authentification perdue ? - + Sites Screen title diff --git a/src/App/Resources/AppResources.resx b/src/App/Resources/AppResources.resx index bafd2fd5c..2a722b357 100644 --- a/src/App/Resources/AppResources.resx +++ b/src/App/Resources/AppResources.resx @@ -127,9 +127,9 @@ Add Folder - - Add Site - The title for the add site page. + + Add Login + The title for the add login page. An error has occurred. @@ -153,11 +153,11 @@ Copy Password - The button text that allows a user to copy the site's password to their clipboard. + The button text that allows a user to copy the login's password to their clipboard. Copy Username - The button text that allows a user to copy the site's username to their clipboard. + The button text that allows a user to copy the login's username to their clipboard. Credits @@ -223,7 +223,7 @@ (none) - Sites that have no folder specified go in this special "catch-all" folder. + Logins that have no folder specified go in this special "catch-all" folder. Folders @@ -322,13 +322,13 @@ Show Reveal a hidden value (password). - - Site has been deleted. - Confirmation message after successfully deleting a site. + + Login has been deleted. + Confirmation message after successfully deleting a login. - + No Name - Title text to display when there is no name given for a site. + Title text to display when there is no name given for a login. Submit @@ -397,8 +397,8 @@ Your new account has been created! You may now log in. - - Add a Site + + Add a Login App Extension @@ -416,7 +416,7 @@ bitwarden App Extension - The easiest way to add new sites to your vault is from the bitwarden App Extension. Learn more about using the bitwarden App Extension by navigating to the "Tools" screen. + The easiest way to add new logins to your vault is from the bitwarden App Extension. Learn more about using the bitwarden App Extension by navigating to the "Tools" screen. Use bitwarden in Safari and other apps to auto-fill your logins. @@ -467,8 +467,8 @@ Current Session - - Edit Site + + Edit Login Enable Automatic Syncing @@ -603,20 +603,20 @@ Never - - New site created. + + New login created. There are no favorites in your vault. - - There are no sites in your vault. + + There are no logins in your vault. - - There are no sites in your vault for this website. Tap to add one. + + There are no logins in your vault for this website. Tap to add one. - This site does not have a username or password configured. + This login does not have a username or password configured. Ok, got it! @@ -686,11 +686,11 @@ Enter a 4 digit PIN code to unlock the app with. - - Site Information + + Login Information - - Site updated. + + Login updated. Submitting... @@ -732,8 +732,8 @@ Verification Code - - View Site + + View Login bitwarden Web Vault @@ -744,8 +744,8 @@ Lost authenticator app? - - Sites + + Logins Screen title diff --git a/src/App/Resources/AppResources.sv.resx b/src/App/Resources/AppResources.sv.resx index c2dfc4c11..ddbec4216 100644 --- a/src/App/Resources/AppResources.sv.resx +++ b/src/App/Resources/AppResources.sv.resx @@ -127,9 +127,9 @@ Skapa mapp - + Lägg till inloggning - The title for the add site page. + The title for the add login page. Ett fel har inträffat. @@ -153,11 +153,11 @@ Kopiera lösenord - The button text that allows a user to copy the site's password to their clipboard. + The button text that allows a user to copy the login's password to their clipboard. Kopiera användarnamn - The button text that allows a user to copy the site's username to their clipboard. + The button text that allows a user to copy the login's username to their clipboard. Tillskrivningar @@ -229,7 +229,7 @@ (ingen) - Sites that have no folder specified go in this special "catch-all" folder. + Logins that have no folder specified go in this special "catch-all" folder. Mappar @@ -334,13 +334,13 @@ Visa Reveal a hidden value (password). - + Tog bort inloggning. - Confirmation message after successfully deleting a site. + Confirmation message after successfully deleting a login. - + Inget namn - Title text to display when there is no name given for a site. + Title text to display when there is no name given for a login. Skicka @@ -414,7 +414,7 @@ Ditt nya konto har blivit skapat! Du kan nu logga in. - + Lägg till en inloggning @@ -489,7 +489,7 @@ Nuvarande session Current Session - + Ändra inloggning @@ -651,25 +651,25 @@ Aldrig - + Ny inlogging skapad. - New site created. + New login created. Det finns inga favoriter i ditt valv. There are no favorites in your vault. - + Det finns inga inloggningar i ditt valv. - There are no sites in your vault. + There are no logins in your vault. - + Det finns inga inloggningar i ditt valv för den här webbplatsen. Tryck för att skapa en. - There are no sites in your vault for this website. Tap to add one. + There are no logins in your vault for this website. Tap to add one. Den här inloggningen har inte ett användarnamn eller lösenord inskrivet. - This site does not have a username or password configured. + This login does not have a username or password configured. Ok, fattar! @@ -753,11 +753,11 @@ Skriv in en fyrsiffrig PIN-kod som du låser upp appen med. Enter a 4 digit PIN code to unlock the app with. - + Inloggningsinformation - Site Information + Login Information - + Inloggning uppdaterad. @@ -804,7 +804,7 @@ Verifieringskod Verification Code - + Visa inloggning @@ -817,7 +817,7 @@ Förlorat autentiseringsapp? - + Inloggningar Screen title diff --git a/src/App/Resources/AppResources.zh-Hans.resx b/src/App/Resources/AppResources.zh-Hans.resx index f652193ed..e7ccfa1d1 100644 --- a/src/App/Resources/AppResources.zh-Hans.resx +++ b/src/App/Resources/AppResources.zh-Hans.resx @@ -127,9 +127,9 @@ 添加文件夹 - + 添加网站 - The title for the add site page. + The title for the add login page. 发生错误。 @@ -153,11 +153,11 @@ 复制密码 - The button text that allows a user to copy the site's password to their clipboard. + The button text that allows a user to copy the login's password to their clipboard. 复制用户名 - The button text that allows a user to copy the site's username to their clipboard. + The button text that allows a user to copy the login's username to their clipboard. Credits @@ -223,7 +223,7 @@ (无) - Sites that have no folder specified go in this special "catch-all" folder. + Logins that have no folder specified go in this special "catch-all" folder. 文件夹 @@ -322,13 +322,13 @@ 显示 Reveal a hidden value (password). - + 网站已被删除。 - Confirmation message after successfully deleting a site. + Confirmation message after successfully deleting a login. - + 无名 - Title text to display when there is no name given for a site. + Title text to display when there is no name given for a login. 提交 @@ -397,7 +397,7 @@ 已经为您创建账号!您可以登录了。 - + 添加网站 @@ -467,7 +467,7 @@ 当前会话 - + 编辑网站 @@ -603,16 +603,16 @@ 从不 - + 以创建新网站。 你没有收藏任何网站。 - + 您的密码库里没有网站。 - + 您的密码库里没有此网站的登录信息。请添加一个。 @@ -686,10 +686,10 @@ 输入一个 4 位的 PIN 码来解锁应用。 - + 网站信息 - + 网站已更新。 @@ -732,7 +732,7 @@ 验证码 - + 查看网站 diff --git a/src/App/Services/DatabaseService.cs b/src/App/Services/DatabaseService.cs index bae64887b..66ffe13f7 100644 --- a/src/App/Services/DatabaseService.cs +++ b/src/App/Services/DatabaseService.cs @@ -17,7 +17,7 @@ namespace Bit.App.Services public void CreateTables() { _connection.CreateTable(); - _connection.CreateTable(); + _connection.CreateTable(); } } } diff --git a/src/App/Services/PushNotificationListener.cs b/src/App/Services/PushNotificationListener.cs index 827db083f..5dcbc2375 100644 --- a/src/App/Services/PushNotificationListener.cs +++ b/src/App/Services/PushNotificationListener.cs @@ -74,13 +74,13 @@ namespace Bit.App.Services } _syncService.SyncDeleteFolderAsync(folderDeleteMessage.Id, folderDeleteMessage.RevisionDate); break; - case Enums.PushType.SyncSiteDelete: - var siteDeleteMessage = values.ToObject(); - if(siteDeleteMessage.UserId != _authService.UserId) + case Enums.PushType.SyncLoginDelete: + var loginDeleteMessage = values.ToObject(); + if(loginDeleteMessage.UserId != _authService.UserId) { break; } - _syncService.SyncDeleteSiteAsync(siteDeleteMessage.Id); + _syncService.SyncDeleteLoginAsync(loginDeleteMessage.Id); break; case Enums.PushType.SyncCiphers: var cipherMessage = values.ToObject(); diff --git a/src/App/Services/SiteService.cs b/src/App/Services/SiteService.cs index a9e07e3c7..091f8b64a 100644 --- a/src/App/Services/SiteService.cs +++ b/src/App/Services/SiteService.cs @@ -10,73 +10,73 @@ using Xamarin.Forms; namespace Bit.App.Services { - public class SiteService : ISiteService + public class LoginService : ILoginService { - private readonly ISiteRepository _siteRepository; + private readonly ILoginRepository _loginRepository; private readonly IAuthService _authService; - private readonly ISiteApiRepository _siteApiRepository; + private readonly ILoginApiRepository _loginApiRepository; - public SiteService( - ISiteRepository siteRepository, + public LoginService( + ILoginRepository loginRepository, IAuthService authService, - ISiteApiRepository siteApiRepository) + ILoginApiRepository loginApiRepository) { - _siteRepository = siteRepository; + _loginRepository = loginRepository; _authService = authService; - _siteApiRepository = siteApiRepository; + _loginApiRepository = loginApiRepository; } - public async Task GetByIdAsync(string id) + public async Task GetByIdAsync(string id) { - var data = await _siteRepository.GetByIdAsync(id); + var data = await _loginRepository.GetByIdAsync(id); if(data == null || data.UserId != _authService.UserId) { return null; } - var site = new Site(data); - return site; + var login = new Login(data); + return login; } - public async Task> GetAllAsync() + public async Task> GetAllAsync() { - var data = await _siteRepository.GetAllByUserIdAsync(_authService.UserId); - var sites = data.Select(f => new Site(f)); - return sites; + var data = await _loginRepository.GetAllByUserIdAsync(_authService.UserId); + var logins = data.Select(f => new Login(f)); + return logins; } - public async Task> GetAllAsync(bool favorites) + public async Task> GetAllAsync(bool favorites) { - var data = await _siteRepository.GetAllByUserIdAsync(_authService.UserId, favorites); - var sites = data.Select(f => new Site(f)); - return sites; + var data = await _loginRepository.GetAllByUserIdAsync(_authService.UserId, favorites); + var logins = data.Select(f => new Login(f)); + return logins; } - public async Task> SaveAsync(Site site) + public async Task> SaveAsync(Login login) { - ApiResult response = null; - var request = new SiteRequest(site); + ApiResult response = null; + var request = new LoginRequest(login); - if(site.Id == null) + if(login.Id == null) { - response = await _siteApiRepository.PostAsync(request); + response = await _loginApiRepository.PostAsync(request); } else { - response = await _siteApiRepository.PutAsync(site.Id, request); + response = await _loginApiRepository.PutAsync(login.Id, request); } if(response.Succeeded) { - var data = new SiteData(response.Result, _authService.UserId); - if(site.Id == null) + var data = new LoginData(response.Result, _authService.UserId); + if(login.Id == null) { - await _siteRepository.InsertAsync(data); - site.Id = data.Id; + await _loginRepository.InsertAsync(data); + login.Id = data.Id; } else { - await _siteRepository.UpdateAsync(data); + await _loginRepository.UpdateAsync(data); } } else if(response.StatusCode == System.Net.HttpStatusCode.Forbidden @@ -90,10 +90,10 @@ namespace Bit.App.Services public async Task DeleteAsync(string id) { - var response = await _siteApiRepository.DeleteAsync(id); + var response = await _loginApiRepository.DeleteAsync(id); if(response.Succeeded) { - await _siteRepository.DeleteAsync(id); + await _loginRepository.DeleteAsync(id); } else if(response.StatusCode == System.Net.HttpStatusCode.Forbidden || response.StatusCode == System.Net.HttpStatusCode.Unauthorized) diff --git a/src/App/Services/SyncService.cs b/src/App/Services/SyncService.cs index 6523b17c0..e846b4d4c 100644 --- a/src/App/Services/SyncService.cs +++ b/src/App/Services/SyncService.cs @@ -14,26 +14,26 @@ namespace Bit.App.Services { private readonly ICipherApiRepository _cipherApiRepository; private readonly IFolderApiRepository _folderApiRepository; - private readonly ISiteApiRepository _siteApiRepository; + private readonly ILoginApiRepository _loginApiRepository; private readonly IFolderRepository _folderRepository; - private readonly ISiteRepository _siteRepository; + private readonly ILoginRepository _loginRepository; private readonly IAuthService _authService; private readonly ISettings _settings; public SyncService( ICipherApiRepository cipherApiRepository, IFolderApiRepository folderApiRepository, - ISiteApiRepository siteApiRepository, + ILoginApiRepository loginApiRepository, IFolderRepository folderRepository, - ISiteRepository siteRepository, + ILoginRepository loginRepository, IAuthService authService, ISettings settings) { _cipherApiRepository = cipherApiRepository; _folderApiRepository = folderApiRepository; - _siteApiRepository = siteApiRepository; + _loginApiRepository = loginApiRepository; _folderRepository = folderRepository; - _siteRepository = siteRepository; + _loginRepository = loginRepository; _authService = authService; _settings = settings; } @@ -77,16 +77,16 @@ namespace Bit.App.Services await _folderRepository.UpdateAsync(folderData).ConfigureAwait(false); } break; - case Enums.CipherType.Site: - var siteData = new SiteData(cipher.Result, _authService.UserId); - var existingLocalSite = _siteRepository.GetByIdAsync(id); - if(existingLocalSite == null) + case Enums.CipherType.Login: + var loginData = new LoginData(cipher.Result, _authService.UserId); + var existingLocalLogin = _loginRepository.GetByIdAsync(id); + if(existingLocalLogin == null) { - await _siteRepository.InsertAsync(siteData).ConfigureAwait(false); + await _loginRepository.InsertAsync(loginData).ConfigureAwait(false); } else { - await _siteRepository.UpdateAsync(siteData).ConfigureAwait(false); + await _loginRepository.UpdateAsync(loginData).ConfigureAwait(false); } break; default: @@ -107,12 +107,12 @@ namespace Bit.App.Services SyncStarted(); - await _folderRepository.DeleteWithSiteUpdateAsync(id, revisionDate).ConfigureAwait(false); + await _folderRepository.DeleteWithLoginUpdateAsync(id, revisionDate).ConfigureAwait(false); SyncCompleted(true); return true; } - public async Task SyncDeleteSiteAsync(string id) + public async Task SyncDeleteLoginAsync(string id) { if(!_authService.IsAuthenticated) { @@ -121,7 +121,7 @@ namespace Bit.App.Services SyncStarted(); - await _siteRepository.DeleteAsync(id).ConfigureAwait(false); + await _loginRepository.DeleteAsync(id).ConfigureAwait(false); SyncCompleted(true); return true; } @@ -150,14 +150,14 @@ namespace Bit.App.Services return false; } - var sites = ciphers.Result.Data.Where(c => c.Type == Enums.CipherType.Site).ToDictionary(s => s.Id); + var logins = ciphers.Result.Data.Where(c => c.Type == Enums.CipherType.Login).ToDictionary(s => s.Id); var folders = ciphers.Result.Data.Where(c => c.Type == Enums.CipherType.Folder).ToDictionary(f => f.Id); - var siteTask = SyncSitesAsync(sites, true); + var loginTask = SyncLoginsAsync(logins, true); var folderTask = SyncFoldersAsync(folders, true); - await Task.WhenAll(siteTask, folderTask).ConfigureAwait(false); + await Task.WhenAll(loginTask, folderTask).ConfigureAwait(false); - if(folderTask.Exception != null || siteTask.Exception != null) + if(folderTask.Exception != null || loginTask.Exception != null) { SyncCompleted(false); return false; @@ -209,15 +209,15 @@ namespace Bit.App.Services return false; } - var sites = ciphers.Result.Revised.Where(c => c.Type == Enums.CipherType.Site).ToDictionary(s => s.Id); + var logins = ciphers.Result.Revised.Where(c => c.Type == Enums.CipherType.Login).ToDictionary(s => s.Id); var folders = ciphers.Result.Revised.Where(c => c.Type == Enums.CipherType.Folder).ToDictionary(f => f.Id); - var siteTask = SyncSitesAsync(sites, false); + var loginTask = SyncLoginsAsync(logins, false); var folderTask = SyncFoldersAsync(folders, false); var deleteTask = DeleteCiphersAsync(ciphers.Result.Deleted); - await Task.WhenAll(siteTask, folderTask, deleteTask).ConfigureAwait(false); - if(folderTask.Exception != null || siteTask.Exception != null || deleteTask.Exception != null) + await Task.WhenAll(loginTask, folderTask, deleteTask).ConfigureAwait(false); + if(folderTask.Exception != null || loginTask.Exception != null || deleteTask.Exception != null) { SyncCompleted(false); return false; @@ -269,33 +269,33 @@ namespace Bit.App.Services } } - private async Task SyncSitesAsync(IDictionary serverSites, bool deleteMissing) + private async Task SyncLoginsAsync(IDictionary serverLogins, bool deleteMissing) { if(!_authService.IsAuthenticated) { return; } - var localSites = (await _siteRepository.GetAllByUserIdAsync(_authService.UserId).ConfigureAwait(false)) + var localLogins = (await _loginRepository.GetAllByUserIdAsync(_authService.UserId).ConfigureAwait(false)) .ToDictionary(s => s.Id); - foreach(var serverSite in serverSites) + foreach(var serverLogin in serverLogins) { if(!_authService.IsAuthenticated) { return; } - var existingLocalSite = localSites.ContainsKey(serverSite.Key) ? localSites[serverSite.Key] : null; - if(existingLocalSite == null) + var existingLocalLogin = localLogins.ContainsKey(serverLogin.Key) ? localLogins[serverLogin.Key] : null; + if(existingLocalLogin == null) { - var data = new SiteData(serverSite.Value, _authService.UserId); - await _siteRepository.InsertAsync(data).ConfigureAwait(false); + var data = new LoginData(serverLogin.Value, _authService.UserId); + await _loginRepository.InsertAsync(data).ConfigureAwait(false); } - else if(existingLocalSite.RevisionDateTime != serverSite.Value.RevisionDate) + else if(existingLocalLogin.RevisionDateTime != serverLogin.Value.RevisionDate) { - var data = new SiteData(serverSite.Value, _authService.UserId); - await _siteRepository.UpdateAsync(data).ConfigureAwait(false); + var data = new LoginData(serverLogin.Value, _authService.UserId); + await _loginRepository.UpdateAsync(data).ConfigureAwait(false); } } @@ -304,9 +304,9 @@ namespace Bit.App.Services return; } - foreach(var site in localSites.Where(localSite => !serverSites.ContainsKey(localSite.Key))) + foreach(var login in localLogins.Where(localLogin => !serverLogins.ContainsKey(localLogin.Key))) { - await _siteRepository.DeleteAsync(site.Value.Id).ConfigureAwait(false); + await _loginRepository.DeleteAsync(login.Value.Id).ConfigureAwait(false); } } @@ -320,7 +320,7 @@ namespace Bit.App.Services return; } - tasks.Add(_siteRepository.DeleteAsync(cipherId)); + tasks.Add(_loginRepository.DeleteAsync(cipherId)); tasks.Add(_folderRepository.DeleteAsync(cipherId)); } await Task.WhenAll(tasks).ConfigureAwait(false); diff --git a/src/iOS.Extension/LoadingViewController.cs b/src/iOS.Extension/LoadingViewController.cs index a9216d09c..e22a6ebe4 100644 --- a/src/iOS.Extension/LoadingViewController.cs +++ b/src/iOS.Extension/LoadingViewController.cs @@ -123,22 +123,22 @@ namespace Bit.iOS.Extension var navController = segue.DestinationViewController as UINavigationController; if(navController != null) { - var listSiteController = navController.TopViewController as SiteListViewController; - var addSiteController = navController.TopViewController as SiteAddViewController; + var listLoginController = navController.TopViewController as LoginListViewController; + var addLoginController = navController.TopViewController as LoginAddViewController; var fingerprintViewController = navController.TopViewController as LockFingerprintViewController; var pinViewController = navController.TopViewController as LockPinViewController; var passwordViewController = navController.TopViewController as LockPasswordViewController; var setupViewController = navController.TopViewController as SetupViewController; - if(listSiteController != null) + if(listLoginController != null) { - listSiteController.Context = _context; - listSiteController.LoadingController = this; + listLoginController.Context = _context; + listLoginController.LoadingController = this; } - else if(addSiteController != null) + else if(addLoginController != null) { - addSiteController.Context = _context; - addSiteController.LoadingController = this; + addLoginController.Context = _context; + addLoginController.LoadingController = this; } else if(fingerprintViewController != null) { @@ -174,12 +174,12 @@ namespace Bit.iOS.Extension private void ContinueOn() { - Debug.WriteLine("BW Log, Segue to setup, site add or list."); + Debug.WriteLine("BW Log, Segue to setup, login add or list."); _settings.AddOrUpdateValue(App.Constants.LastActivityDate, DateTime.UtcNow); if(_context.ProviderType == Constants.UTTypeAppExtensionSaveLoginAction) { - PerformSegue("newSiteSegue", this); + PerformSegue("newLoginSegue", this); } else if(_context.ProviderType == Constants.UTTypeAppExtensionSetup) { @@ -187,7 +187,7 @@ namespace Bit.iOS.Extension } else { - PerformSegue("siteListSegue", this); + PerformSegue("loginListSegue", this); } } @@ -271,7 +271,7 @@ namespace Bit.iOS.Extension .RegisterType(new ContainerControlledLifetimeManager()) .RegisterType(new ContainerControlledLifetimeManager()) .RegisterType(new ContainerControlledLifetimeManager()) - .RegisterType(new ContainerControlledLifetimeManager()) + .RegisterType(new ContainerControlledLifetimeManager()) .RegisterType(new ContainerControlledLifetimeManager()) .RegisterType(new ContainerControlledLifetimeManager()) .RegisterType(new ContainerControlledLifetimeManager()) @@ -283,8 +283,8 @@ namespace Bit.iOS.Extension // Repositories .RegisterType(new ContainerControlledLifetimeManager()) .RegisterType(new ContainerControlledLifetimeManager()) - .RegisterType(new ContainerControlledLifetimeManager()) - .RegisterType(new ContainerControlledLifetimeManager()) + .RegisterType(new ContainerControlledLifetimeManager()) + .RegisterType(new ContainerControlledLifetimeManager()) .RegisterType(new ContainerControlledLifetimeManager()) // Other .RegisterInstance(CrossConnectivity.Current, new ContainerControlledLifetimeManager()) @@ -326,7 +326,7 @@ namespace Bit.iOS.Extension Debug.WriteLine("BW LOG, ProviderType: " + _context.ProviderType); Debug.WriteLine("BW LOG, Url: " + _context.Url); - Debug.WriteLine("BW LOG, Title: " + _context.SiteTitle); + Debug.WriteLine("BW LOG, Title: " + _context.LoginTitle); Debug.WriteLine("BW LOG, Username: " + _context.Username); Debug.WriteLine("BW LOG, Password: " + _context.Password); Debug.WriteLine("BW LOG, Old Password: " + _context.OldPassword); @@ -409,7 +409,7 @@ namespace Bit.iOS.Extension _context.Url = new Uri(url); } - _context.SiteTitle = title; + _context.LoginTitle = title; _context.Username = username; _context.Password = password; _context.Notes = notes; @@ -436,7 +436,7 @@ namespace Bit.iOS.Extension _context.Url = new Uri(url); } - _context.SiteTitle = title; + _context.LoginTitle = title; _context.Username = username; _context.Password = password; _context.OldPassword = oldPassword; diff --git a/src/iOS.Extension/MainInterface.storyboard b/src/iOS.Extension/MainInterface.storyboard index b67cecc83..f929d7045 100644 --- a/src/iOS.Extension/MainInterface.storyboard +++ b/src/iOS.Extension/MainInterface.storyboard @@ -28,11 +28,11 @@ - + - + @@ -100,7 +100,7 @@ - + @@ -112,7 +112,7 @@ - + @@ -139,7 +139,7 @@ - + @@ -176,14 +176,14 @@ - + - + diff --git a/src/iOS.Extension/Models/Context.cs b/src/iOS.Extension/Models/Context.cs index b0f4a3a2d..0c3724d67 100644 --- a/src/iOS.Extension/Models/Context.cs +++ b/src/iOS.Extension/Models/Context.cs @@ -29,7 +29,7 @@ namespace Bit.iOS.Extension.Models return _domainName; } } - public string SiteTitle { get; set; } + public string LoginTitle { get; set; } public string Username { get; set; } public string Password { get; set; } public string OldPassword { get; set; } diff --git a/src/iOS.Extension/Models/SiteViewModel.cs b/src/iOS.Extension/Models/SiteViewModel.cs index 5f86539be..107adcdaf 100644 --- a/src/iOS.Extension/Models/SiteViewModel.cs +++ b/src/iOS.Extension/Models/SiteViewModel.cs @@ -5,19 +5,19 @@ using Bit.App.Models; namespace Bit.iOS.Extension.Models { - public class SiteViewModel + public class LoginViewModel { private string _uri; private DomainName _domain = null; private bool _domainParsed = false; - public SiteViewModel(Site site) + public LoginViewModel(Login login) { - Id = site.Id; - Name = site.Name?.Decrypt(); - Username = site.Username?.Decrypt(); - Password = site.Password?.Decrypt(); - Uri = site.Uri?.Decrypt(); + Id = login.Id; + Name = login.Name?.Decrypt(); + Username = login.Username?.Decrypt(); + Password = login.Password?.Decrypt(); + Uri = login.Uri?.Decrypt(); } public string Id { get; set; } diff --git a/src/iOS.Extension/PasswordGeneratorViewController.cs b/src/iOS.Extension/PasswordGeneratorViewController.cs index 621358fe7..2b56e9e73 100644 --- a/src/iOS.Extension/PasswordGeneratorViewController.cs +++ b/src/iOS.Extension/PasswordGeneratorViewController.cs @@ -25,7 +25,7 @@ namespace Bit.iOS.Extension { } public Context Context { get; set; } - public SiteAddViewController Parent { get; set; } + public LoginAddViewController Parent { get; set; } public UITableViewController OptionsTableViewController { get; set; } public SwitchTableViewCell UppercaseCell { get; set; } = new SwitchTableViewCell("A-Z"); public SwitchTableViewCell LowercaseCell { get; set; } = new SwitchTableViewCell("a-z"); diff --git a/src/iOS.Extension/SiteAddViewController.cs b/src/iOS.Extension/SiteAddViewController.cs index 5d2e54c33..98e7b4f56 100644 --- a/src/iOS.Extension/SiteAddViewController.cs +++ b/src/iOS.Extension/SiteAddViewController.cs @@ -17,19 +17,19 @@ using Bit.iOS.Core.Controllers; namespace Bit.iOS.Extension { - public partial class SiteAddViewController : ExtendedUITableViewController + public partial class LoginAddViewController : ExtendedUITableViewController { - private ISiteService _siteService; + private ILoginService _loginService; private IFolderService _folderService; private IConnectivity _connectivity; private IEnumerable _folders; private IGoogleAnalyticsService _googleAnalyticsService; - public SiteAddViewController(IntPtr handle) : base(handle) + public LoginAddViewController(IntPtr handle) : base(handle) { } public Context Context { get; set; } - public SiteListViewController SiteListController { get; set; } + public LoginListViewController LoginListController { get; set; } public LoadingViewController LoadingController { get; set; } public FormEntryTableViewCell NameCell { get; set; } = new FormEntryTableViewCell(AppResources.Name); public FormEntryTableViewCell UriCell { get; set; } = new FormEntryTableViewCell(AppResources.URI); @@ -49,12 +49,12 @@ namespace Bit.iOS.Extension public override void ViewDidLoad() { - _siteService = Resolver.Resolve(); + _loginService = Resolver.Resolve(); _connectivity = Resolver.Resolve(); _folderService = Resolver.Resolve(); _googleAnalyticsService = Resolver.Resolve(); - NavItem.Title = AppResources.AddSite; + NavItem.Title = AppResources.AddLogin; CancelBarButton.Title = AppResources.Cancel; SaveBarButton.Title = AppResources.Save; View.BackgroundColor = new UIColor(red: 0.94f, green: 0.94f, blue: 0.96f, alpha: 1.0f); @@ -121,7 +121,7 @@ namespace Bit.iOS.Extension partial void CancelBarButton_Activated(UIBarButtonItem sender) { - if(SiteListController != null) + if(LoginListController != null) { DismissViewController(true, null); } @@ -151,7 +151,7 @@ namespace Bit.iOS.Extension return; } - var site = new Site + var login = new Login { Uri = string.IsNullOrWhiteSpace(UriCell.TextField.Text) ? null : UriCell.TextField.Text.Encrypt(), Name = string.IsNullOrWhiteSpace(NameCell.TextField.Text) ? null : NameCell.TextField.Text.Encrypt(), @@ -162,17 +162,17 @@ namespace Bit.iOS.Extension FolderId = FolderCell.SelectedIndex == 0 ? null : _folders.ElementAtOrDefault(FolderCell.SelectedIndex - 1)?.Id }; - var saveTask = _siteService.SaveAsync(site); + var saveTask = _loginService.SaveAsync(login); var loadingAlert = Dialogs.CreateLoadingAlert(AppResources.Saving); PresentViewController(loadingAlert, true, null); await saveTask; if(saveTask.Result.Succeeded) { - _googleAnalyticsService.TrackExtensionEvent("CreatedSite"); - if(SiteListController != null) + _googleAnalyticsService.TrackExtensionEvent("CreatedLogin"); + if(LoginListController != null) { - SiteListController.DismissModal(); + LoginListController.DismissModal(); } else if(LoadingController != null) { @@ -216,9 +216,9 @@ namespace Bit.iOS.Extension public class TableSource : UITableViewSource { - private SiteAddViewController _controller; + private LoginAddViewController _controller; - public TableSource(SiteAddViewController controller) + public TableSource(LoginAddViewController controller) { _controller = controller; } @@ -302,7 +302,7 @@ namespace Bit.iOS.Extension { if(section == 0) { - return AppResources.SiteInformation; + return AppResources.LoginInformation; } else if(section == 2) { diff --git a/src/iOS.Extension/SiteAddViewController.designer.cs b/src/iOS.Extension/SiteAddViewController.designer.cs index e3c01c3f9..191c7991b 100644 --- a/src/iOS.Extension/SiteAddViewController.designer.cs +++ b/src/iOS.Extension/SiteAddViewController.designer.cs @@ -11,8 +11,8 @@ using UIKit; namespace Bit.iOS.Extension { - [Register ("SiteAddViewController")] - partial class SiteAddViewController + [Register ("LoginAddViewController")] + partial class LoginAddViewController { [Outlet] [GeneratedCode ("iOS Designer", "1.0")] diff --git a/src/iOS.Extension/SiteListViewController.cs b/src/iOS.Extension/SiteListViewController.cs index 965349f61..f6861f0ca 100644 --- a/src/iOS.Extension/SiteListViewController.cs +++ b/src/iOS.Extension/SiteListViewController.cs @@ -17,9 +17,9 @@ using Bit.App.Resources; namespace Bit.iOS.Extension { - public partial class SiteListViewController : ExtendedUITableViewController + public partial class LoginListViewController : ExtendedUITableViewController { - public SiteListViewController(IntPtr handle) : base(handle) + public LoginListViewController(IntPtr handle) : base(handle) { } public Context Context { get; set; } @@ -35,7 +35,7 @@ namespace Bit.iOS.Extension public async override void ViewDidLoad() { base.ViewDidLoad(); - NavItem.Title = AppResources.Sites; + NavItem.Title = AppResources.Logins; if(!CanAutoFill()) { CancelBarButton.Title = AppResources.Close; @@ -71,7 +71,7 @@ namespace Bit.iOS.Extension partial void AddBarButton_Activated(UIBarButtonItem sender) { - PerformSegue("siteAddSegue", this); + PerformSegue("loginAddSegue", this); } public override void PrepareForSegue(UIStoryboardSegue segue, NSObject sender) @@ -79,11 +79,11 @@ namespace Bit.iOS.Extension var navController = segue.DestinationViewController as UINavigationController; if(navController != null) { - var addSiteController = navController.TopViewController as SiteAddViewController; - if(addSiteController != null) + var addLoginController = navController.TopViewController as LoginAddViewController; + if(addLoginController != null) { - addSiteController.Context = Context; - addSiteController.SiteListController = this; + addLoginController.Context = Context; + addLoginController.LoginListController = this; } } } @@ -101,11 +101,11 @@ namespace Bit.iOS.Extension { private const string CellIdentifier = "TableCell"; - private IEnumerable _tableItems; + private IEnumerable _tableItems; private Context _context; - private SiteListViewController _controller; + private LoginListViewController _controller; - public TableSource(SiteListViewController controller) + public TableSource(LoginListViewController controller) { _context = controller.Context; _controller = controller; @@ -113,20 +113,20 @@ namespace Bit.iOS.Extension public async Task LoadItemsAsync() { - _tableItems = new List(); + _tableItems = new List(); if(_context.DomainName != null) { - var siteService = Resolver.Resolve(); - var sites = await siteService.GetAllAsync(); - var siteModels = sites.Select(s => new SiteViewModel(s)); - _tableItems = siteModels + var loginService = Resolver.Resolve(); + var logins = await loginService.GetAllAsync(); + var loginModels = logins.Select(s => new LoginViewModel(s)); + _tableItems = loginModels .Where(s => s.Domain != null && s.Domain.BaseDomain == _context.DomainName.BaseDomain) .OrderBy(s => s.Name).ThenBy(s => s.Username) .ToList(); } } - public IEnumerable TableItems { get; set; } + public IEnumerable TableItems { get; set; } public override nint RowsInSection(UITableView tableview, nint section) { @@ -138,7 +138,7 @@ namespace Bit.iOS.Extension if(_tableItems.Count() == 0) { var noDataCell = new UITableViewCell(UITableViewCellStyle.Default, "NoDataCell"); - noDataCell.TextLabel.Text = AppResources.NoSitesTap; + noDataCell.TextLabel.Text = AppResources.NoLoginsTap; noDataCell.TextLabel.TextAlignment = UITextAlignment.Center; noDataCell.TextLabel.LineBreakMode = UILineBreakMode.WordWrap; noDataCell.TextLabel.Lines = 0; @@ -176,7 +176,7 @@ namespace Bit.iOS.Extension if(_tableItems.Count() == 0) { - _controller.PerformSegue("siteAddSegue", this); + _controller.PerformSegue("loginAddSegue", this); return; } diff --git a/src/iOS.Extension/SiteListViewController.designer.cs b/src/iOS.Extension/SiteListViewController.designer.cs index 5783c2276..aa1abf2ea 100644 --- a/src/iOS.Extension/SiteListViewController.designer.cs +++ b/src/iOS.Extension/SiteListViewController.designer.cs @@ -11,8 +11,8 @@ using UIKit; namespace Bit.iOS.Extension { - [Register ("SiteListViewController")] - partial class SiteListViewController + [Register ("LoginListViewController")] + partial class LoginListViewController { [Outlet] [GeneratedCode ("iOS Designer", "1.0")] diff --git a/src/iOS/AppDelegate.cs b/src/iOS/AppDelegate.cs index 830a2d0f6..9b8bca3e4 100644 --- a/src/iOS/AppDelegate.cs +++ b/src/iOS/AppDelegate.cs @@ -249,7 +249,7 @@ namespace Bit.iOS .RegisterType(new ContainerControlledLifetimeManager()) .RegisterType(new ContainerControlledLifetimeManager()) .RegisterType(new ContainerControlledLifetimeManager()) - .RegisterType(new ContainerControlledLifetimeManager()) + .RegisterType(new ContainerControlledLifetimeManager()) .RegisterType(new ContainerControlledLifetimeManager()) .RegisterType(new ContainerControlledLifetimeManager()) .RegisterType(new ContainerControlledLifetimeManager()) @@ -267,8 +267,8 @@ namespace Bit.iOS // Repositories .RegisterType(new ContainerControlledLifetimeManager()) .RegisterType(new ContainerControlledLifetimeManager()) - .RegisterType(new ContainerControlledLifetimeManager()) - .RegisterType(new ContainerControlledLifetimeManager()) + .RegisterType(new ContainerControlledLifetimeManager()) + .RegisterType(new ContainerControlledLifetimeManager()) .RegisterType(new ContainerControlledLifetimeManager()) .RegisterType(new ContainerControlledLifetimeManager()) .RegisterType(new ContainerControlledLifetimeManager())