From 2c208edb98c59a7c02cfc0c3c1127214fece08b6 Mon Sep 17 00:00:00 2001 From: Justin Baur <19896123+justindbaur@users.noreply.github.com> Date: Mon, 29 Aug 2022 14:14:59 -0400 Subject: [PATCH] Add `sync$` observable (#3384) * Add sync$ observable * Update lock method Co-authored-by: Daniel James Smith --- .../browser/src/background/main.background.ts | 4 +- .../src/popup/accounts/lock.component.ts | 2 +- .../src/popup/accounts/login.component.ts | 2 +- .../popup/accounts/set-password.component.ts | 2 +- .../src/popup/accounts/sso.component.ts | 2 +- .../popup/accounts/two-factor.component.ts | 2 +- .../update-temp-password.component.ts | 2 +- .../popup/send/send-groupings.component.ts | 2 +- .../src/popup/services/services.module.ts | 2 +- .../src/popup/settings/sync.component.ts | 2 +- .../src/popup/vault/current-tab.component.ts | 2 +- .../src/popup/vault/vault-filter.component.ts | 2 +- apps/cli/src/bw.ts | 2 +- .../commands/convertToKeyConnector.command.ts | 2 +- apps/cli/src/commands/login.command.ts | 2 +- apps/cli/src/commands/status.command.ts | 2 +- apps/cli/src/commands/sync.command.ts | 2 +- apps/cli/src/commands/unlock.command.ts | 2 +- .../src/app/accounts/lock.component.ts | 2 +- .../src/app/accounts/login.component.ts | 2 +- .../app/accounts/set-password.component.ts | 2 +- .../desktop/src/app/accounts/sso.component.ts | 2 +- .../src/app/accounts/two-factor.component.ts | 2 +- .../update-temp-password.component.ts | 2 +- apps/desktop/src/app/app.component.ts | 2 +- apps/desktop/src/app/services/init.service.ts | 2 +- apps/desktop/src/app/vault/vault.component.ts | 2 +- .../app/accounts/set-password.component.ts | 2 +- .../trial-initiation/billing.component.ts | 2 +- .../update-temp-password.component.ts | 2 +- apps/web/src/app/app.component.ts | 2 +- apps/web/src/app/layouts/navbar.component.ts | 2 +- .../guards/org-permissions.guard.spec.ts | 2 +- .../guards/org-permissions.guard.ts | 2 +- .../organizations/manage/people.component.ts | 2 +- .../settings/account.component.ts | 2 +- ...families-for-enterprise-setup.component.ts | 2 +- .../enroll-master-password-reset.component.ts | 2 +- .../organizations/vault/vault.component.ts | 2 +- .../app/settings/change-password.component.ts | 2 +- .../settings/organization-plans.component.ts | 2 +- .../web/src/app/settings/premium.component.ts | 2 +- .../settings/sponsored-families.component.ts | 2 +- .../src/app/settings/update-key.component.ts | 2 +- .../organization-options.component.ts | 2 +- apps/web/src/app/vault/vault.component.ts | 2 +- .../providers/services/webProvider.service.ts | 2 +- .../providers/settings/account.component.ts | 2 +- .../app/providers/setup/setup.component.ts | 2 +- .../components/remove-password.component.ts | 2 +- .../src/components/set-password.component.ts | 2 +- .../update-temp-password.component.ts | 2 +- .../src/services/jslib-services.module.ts | 4 +- .../sync.service.abstraction.ts} | 7 +- .../src/services/notifications.service.ts | 2 +- .../src/services/{ => sync}/sync.service.ts | 73 +++++++++++-------- libs/common/src/types/syncEventArgs.ts | 15 ++++ 57 files changed, 118 insertions(+), 89 deletions(-) rename libs/common/src/abstractions/{sync.service.ts => sync/sync.service.abstraction.ts} (82%) rename libs/common/src/services/{ => sync}/sync.service.ts (82%) create mode 100644 libs/common/src/types/syncEventArgs.ts diff --git a/apps/browser/src/background/main.background.ts b/apps/browser/src/background/main.background.ts index e771740e91a..278cf017390 100644 --- a/apps/browser/src/background/main.background.ts +++ b/apps/browser/src/background/main.background.ts @@ -26,7 +26,7 @@ import { SearchService as SearchServiceAbstraction } from "@bitwarden/common/abs import { SendService as SendServiceAbstraction } from "@bitwarden/common/abstractions/send.service"; import { SettingsService as SettingsServiceAbstraction } from "@bitwarden/common/abstractions/settings.service"; import { AbstractStorageService } from "@bitwarden/common/abstractions/storage.service"; -import { SyncService as SyncServiceAbstraction } from "@bitwarden/common/abstractions/sync.service"; +import { SyncService as SyncServiceAbstraction } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { SystemService as SystemServiceAbstraction } from "@bitwarden/common/abstractions/system.service"; import { TokenService as TokenServiceAbstraction } from "@bitwarden/common/abstractions/token.service"; import { TotpService as TotpServiceAbstraction } from "@bitwarden/common/abstractions/totp.service"; @@ -64,7 +64,7 @@ import { SearchService } from "@bitwarden/common/services/search.service"; import { SendService } from "@bitwarden/common/services/send.service"; import { SettingsService } from "@bitwarden/common/services/settings.service"; import { StateMigrationService } from "@bitwarden/common/services/stateMigration.service"; -import { SyncService } from "@bitwarden/common/services/sync.service"; +import { SyncService } from "@bitwarden/common/services/sync/sync.service"; import { SystemService } from "@bitwarden/common/services/system.service"; import { TokenService } from "@bitwarden/common/services/token.service"; import { TotpService } from "@bitwarden/common/services/totp.service"; diff --git a/apps/browser/src/popup/accounts/lock.component.ts b/apps/browser/src/popup/accounts/lock.component.ts index 15e15de297a..00a71f92060 100644 --- a/apps/browser/src/popup/accounts/lock.component.ts +++ b/apps/browser/src/popup/accounts/lock.component.ts @@ -12,7 +12,7 @@ import { LogService } from "@bitwarden/common/abstractions/log.service"; import { MessagingService } from "@bitwarden/common/abstractions/messaging.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync.service"; +import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { VaultTimeoutService } from "@bitwarden/common/abstractions/vaultTimeout.service"; import { AuthenticationStatus } from "@bitwarden/common/enums/authenticationStatus"; diff --git a/apps/browser/src/popup/accounts/login.component.ts b/apps/browser/src/popup/accounts/login.component.ts index edd197ca183..83c654d6737 100644 --- a/apps/browser/src/popup/accounts/login.component.ts +++ b/apps/browser/src/popup/accounts/login.component.ts @@ -10,7 +10,7 @@ import { LogService } from "@bitwarden/common/abstractions/log.service"; import { PasswordGenerationService } from "@bitwarden/common/abstractions/passwordGeneration.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync.service"; +import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; @Component({ selector: "app-login", diff --git a/apps/browser/src/popup/accounts/set-password.component.ts b/apps/browser/src/popup/accounts/set-password.component.ts index c4837f6a8e3..a9d16d7305e 100644 --- a/apps/browser/src/popup/accounts/set-password.component.ts +++ b/apps/browser/src/popup/accounts/set-password.component.ts @@ -12,7 +12,7 @@ import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUti import { PolicyApiServiceAbstraction } from "@bitwarden/common/abstractions/policy/policy-api.service.abstraction"; import { PolicyService } from "@bitwarden/common/abstractions/policy/policy.service.abstraction"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync.service"; +import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; @Component({ selector: "app-set-password", diff --git a/apps/browser/src/popup/accounts/sso.component.ts b/apps/browser/src/popup/accounts/sso.component.ts index d737bc724b4..5563dffba8d 100644 --- a/apps/browser/src/popup/accounts/sso.component.ts +++ b/apps/browser/src/popup/accounts/sso.component.ts @@ -11,7 +11,7 @@ import { LogService } from "@bitwarden/common/abstractions/log.service"; import { PasswordGenerationService } from "@bitwarden/common/abstractions/passwordGeneration.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync.service"; +import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { VaultTimeoutService } from "@bitwarden/common/abstractions/vaultTimeout.service"; import { AuthenticationStatus } from "@bitwarden/common/enums/authenticationStatus"; diff --git a/apps/browser/src/popup/accounts/two-factor.component.ts b/apps/browser/src/popup/accounts/two-factor.component.ts index 0a0bbcaec85..55294ef2e1e 100644 --- a/apps/browser/src/popup/accounts/two-factor.component.ts +++ b/apps/browser/src/popup/accounts/two-factor.component.ts @@ -13,7 +13,7 @@ import { LogService } from "@bitwarden/common/abstractions/log.service"; import { MessagingService } from "@bitwarden/common/abstractions/messaging.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync.service"; +import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { TwoFactorService } from "@bitwarden/common/abstractions/twoFactor.service"; import { TwoFactorProviderType } from "@bitwarden/common/enums/twoFactorProviderType"; diff --git a/apps/browser/src/popup/accounts/update-temp-password.component.ts b/apps/browser/src/popup/accounts/update-temp-password.component.ts index 0910bd4d190..9468209f36e 100644 --- a/apps/browser/src/popup/accounts/update-temp-password.component.ts +++ b/apps/browser/src/popup/accounts/update-temp-password.component.ts @@ -10,7 +10,7 @@ import { PasswordGenerationService } from "@bitwarden/common/abstractions/passwo import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { PolicyService } from "@bitwarden/common/abstractions/policy/policy.service.abstraction"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync.service"; +import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; @Component({ selector: "app-update-temp-password", diff --git a/apps/browser/src/popup/send/send-groupings.component.ts b/apps/browser/src/popup/send/send-groupings.component.ts index 5faa1a3c848..0805742666d 100644 --- a/apps/browser/src/popup/send/send-groupings.component.ts +++ b/apps/browser/src/popup/send/send-groupings.component.ts @@ -10,7 +10,7 @@ import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUti import { PolicyService } from "@bitwarden/common/abstractions/policy/policy.service.abstraction"; import { SearchService } from "@bitwarden/common/abstractions/search.service"; import { SendService } from "@bitwarden/common/abstractions/send.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync.service"; +import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { SendType } from "@bitwarden/common/enums/sendType"; import { SendView } from "@bitwarden/common/models/view/sendView"; diff --git a/apps/browser/src/popup/services/services.module.ts b/apps/browser/src/popup/services/services.module.ts index 265c765cbb6..102e682c2c5 100644 --- a/apps/browser/src/popup/services/services.module.ts +++ b/apps/browser/src/popup/services/services.module.ts @@ -41,7 +41,7 @@ import { SendService } from "@bitwarden/common/abstractions/send.service"; import { SettingsService } from "@bitwarden/common/abstractions/settings.service"; import { StateService as BaseStateServiceAbstraction } from "@bitwarden/common/abstractions/state.service"; import { AbstractStorageService } from "@bitwarden/common/abstractions/storage.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync.service"; +import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { TokenService } from "@bitwarden/common/abstractions/token.service"; import { TotpService } from "@bitwarden/common/abstractions/totp.service"; import { TwoFactorService } from "@bitwarden/common/abstractions/twoFactor.service"; diff --git a/apps/browser/src/popup/settings/sync.component.ts b/apps/browser/src/popup/settings/sync.component.ts index 9647178906f..4b77870aa1d 100644 --- a/apps/browser/src/popup/settings/sync.component.ts +++ b/apps/browser/src/popup/settings/sync.component.ts @@ -2,7 +2,7 @@ import { Component, OnInit } from "@angular/core"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync.service"; +import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; @Component({ selector: "app-sync", diff --git a/apps/browser/src/popup/vault/current-tab.component.ts b/apps/browser/src/popup/vault/current-tab.component.ts index 7d5cf00466d..2f3569841f4 100644 --- a/apps/browser/src/popup/vault/current-tab.component.ts +++ b/apps/browser/src/popup/vault/current-tab.component.ts @@ -9,7 +9,7 @@ import { PasswordRepromptService } from "@bitwarden/common/abstractions/password import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { SearchService } from "@bitwarden/common/abstractions/search.service"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync.service"; +import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { CipherRepromptType } from "@bitwarden/common/enums/cipherRepromptType"; import { CipherType } from "@bitwarden/common/enums/cipherType"; import { Utils } from "@bitwarden/common/misc/utils"; diff --git a/apps/browser/src/popup/vault/vault-filter.component.ts b/apps/browser/src/popup/vault/vault-filter.component.ts index 603c5a031e7..13b3018b663 100644 --- a/apps/browser/src/popup/vault/vault-filter.component.ts +++ b/apps/browser/src/popup/vault/vault-filter.component.ts @@ -9,7 +9,7 @@ import { BroadcasterService } from "@bitwarden/common/abstractions/broadcaster.s import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { SearchService } from "@bitwarden/common/abstractions/search.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync.service"; +import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { CipherType } from "@bitwarden/common/enums/cipherType"; import { TreeNode } from "@bitwarden/common/models/domain/treeNode"; import { CipherView } from "@bitwarden/common/models/view/cipherView"; diff --git a/apps/cli/src/bw.ts b/apps/cli/src/bw.ts index 9f9998af894..47debda0b49 100644 --- a/apps/cli/src/bw.ts +++ b/apps/cli/src/bw.ts @@ -40,7 +40,7 @@ import { SendService } from "@bitwarden/common/services/send.service"; import { SettingsService } from "@bitwarden/common/services/settings.service"; import { StateService } from "@bitwarden/common/services/state.service"; import { StateMigrationService } from "@bitwarden/common/services/stateMigration.service"; -import { SyncService } from "@bitwarden/common/services/sync.service"; +import { SyncService } from "@bitwarden/common/services/sync/sync.service"; import { TokenService } from "@bitwarden/common/services/token.service"; import { TotpService } from "@bitwarden/common/services/totp.service"; import { TwoFactorService } from "@bitwarden/common/services/twoFactor.service"; diff --git a/apps/cli/src/commands/convertToKeyConnector.command.ts b/apps/cli/src/commands/convertToKeyConnector.command.ts index e1b4b3b2548..6339fa9b9aa 100644 --- a/apps/cli/src/commands/convertToKeyConnector.command.ts +++ b/apps/cli/src/commands/convertToKeyConnector.command.ts @@ -3,7 +3,7 @@ import * as inquirer from "inquirer"; import { EnvironmentService } from "@bitwarden/common/abstractions/environment.service"; import { KeyConnectorService } from "@bitwarden/common/abstractions/keyConnector.service"; import { OrganizationApiServiceAbstraction } from "@bitwarden/common/abstractions/organization/organization-api.service.abstraction"; -import { SyncService } from "@bitwarden/common/abstractions/sync.service"; +import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { Response } from "@bitwarden/node/cli/models/response"; import { MessageResponse } from "@bitwarden/node/cli/models/response/messageResponse"; diff --git a/apps/cli/src/commands/login.command.ts b/apps/cli/src/commands/login.command.ts index 57a502ecd4a..d88a4d6d2f0 100644 --- a/apps/cli/src/commands/login.command.ts +++ b/apps/cli/src/commands/login.command.ts @@ -11,7 +11,7 @@ import { PasswordGenerationService } from "@bitwarden/common/abstractions/passwo import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { PolicyService } from "@bitwarden/common/abstractions/policy/policy.service.abstraction"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync.service"; +import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { TwoFactorService } from "@bitwarden/common/abstractions/twoFactor.service"; import { Utils } from "@bitwarden/common/misc/utils"; import { LoginCommand as BaseLoginCommand } from "@bitwarden/node/cli/commands/login.command"; diff --git a/apps/cli/src/commands/status.command.ts b/apps/cli/src/commands/status.command.ts index 6ea053888e4..1b8d5fa3f56 100644 --- a/apps/cli/src/commands/status.command.ts +++ b/apps/cli/src/commands/status.command.ts @@ -1,7 +1,7 @@ import { AuthService } from "@bitwarden/common/abstractions/auth.service"; import { EnvironmentService } from "@bitwarden/common/abstractions/environment.service"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync.service"; +import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { AuthenticationStatus } from "@bitwarden/common/enums/authenticationStatus"; import { Response } from "@bitwarden/node/cli/models/response"; diff --git a/apps/cli/src/commands/sync.command.ts b/apps/cli/src/commands/sync.command.ts index 377a3f23b93..40fc42fb410 100644 --- a/apps/cli/src/commands/sync.command.ts +++ b/apps/cli/src/commands/sync.command.ts @@ -1,4 +1,4 @@ -import { SyncService } from "@bitwarden/common/abstractions/sync.service"; +import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { Response } from "@bitwarden/node/cli/models/response"; import { MessageResponse } from "@bitwarden/node/cli/models/response/messageResponse"; import { StringResponse } from "@bitwarden/node/cli/models/response/stringResponse"; diff --git a/apps/cli/src/commands/unlock.command.ts b/apps/cli/src/commands/unlock.command.ts index 760149de55a..4318a22cbdc 100644 --- a/apps/cli/src/commands/unlock.command.ts +++ b/apps/cli/src/commands/unlock.command.ts @@ -5,7 +5,7 @@ import { EnvironmentService } from "@bitwarden/common/abstractions/environment.s import { KeyConnectorService } from "@bitwarden/common/abstractions/keyConnector.service"; import { OrganizationApiServiceAbstraction } from "@bitwarden/common/abstractions/organization/organization-api.service.abstraction"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync.service"; +import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { HashPurpose } from "@bitwarden/common/enums/hashPurpose"; import { Utils } from "@bitwarden/common/misc/utils"; import { SecretVerificationRequest } from "@bitwarden/common/models/request/secretVerificationRequest"; diff --git a/apps/desktop/src/app/accounts/lock.component.ts b/apps/desktop/src/app/accounts/lock.component.ts index 08c73c78b8f..346dc6741e1 100644 --- a/apps/desktop/src/app/accounts/lock.component.ts +++ b/apps/desktop/src/app/accounts/lock.component.ts @@ -13,7 +13,7 @@ import { LogService } from "@bitwarden/common/abstractions/log.service"; import { MessagingService } from "@bitwarden/common/abstractions/messaging.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync.service"; +import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { VaultTimeoutService } from "@bitwarden/common/abstractions/vaultTimeout.service"; const BroadcasterSubscriptionId = "LockComponent"; diff --git a/apps/desktop/src/app/accounts/login.component.ts b/apps/desktop/src/app/accounts/login.component.ts index c0bce046c82..959c8a45650 100644 --- a/apps/desktop/src/app/accounts/login.component.ts +++ b/apps/desktop/src/app/accounts/login.component.ts @@ -13,7 +13,7 @@ import { MessagingService } from "@bitwarden/common/abstractions/messaging.servi import { PasswordGenerationService } from "@bitwarden/common/abstractions/passwordGeneration.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync.service"; +import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { EnvironmentComponent } from "./environment.component"; diff --git a/apps/desktop/src/app/accounts/set-password.component.ts b/apps/desktop/src/app/accounts/set-password.component.ts index 77470066855..ca82aaed5e6 100644 --- a/apps/desktop/src/app/accounts/set-password.component.ts +++ b/apps/desktop/src/app/accounts/set-password.component.ts @@ -13,7 +13,7 @@ import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUti import { PolicyApiServiceAbstraction } from "@bitwarden/common/abstractions/policy/policy-api.service.abstraction"; import { PolicyService } from "@bitwarden/common/abstractions/policy/policy.service.abstraction"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync.service"; +import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; const BroadcasterSubscriptionId = "SetPasswordComponent"; diff --git a/apps/desktop/src/app/accounts/sso.component.ts b/apps/desktop/src/app/accounts/sso.component.ts index ff0831de490..1d0aebaa873 100644 --- a/apps/desktop/src/app/accounts/sso.component.ts +++ b/apps/desktop/src/app/accounts/sso.component.ts @@ -11,7 +11,7 @@ import { LogService } from "@bitwarden/common/abstractions/log.service"; import { PasswordGenerationService } from "@bitwarden/common/abstractions/passwordGeneration.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync.service"; +import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; @Component({ selector: "app-sso", diff --git a/apps/desktop/src/app/accounts/two-factor.component.ts b/apps/desktop/src/app/accounts/two-factor.component.ts index b5dd8df0c7a..51ad6e13297 100644 --- a/apps/desktop/src/app/accounts/two-factor.component.ts +++ b/apps/desktop/src/app/accounts/two-factor.component.ts @@ -11,7 +11,7 @@ import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { LogService } from "@bitwarden/common/abstractions/log.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync.service"; +import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { TwoFactorService } from "@bitwarden/common/abstractions/twoFactor.service"; import { TwoFactorProviderType } from "@bitwarden/common/enums/twoFactorProviderType"; diff --git a/apps/desktop/src/app/accounts/update-temp-password.component.ts b/apps/desktop/src/app/accounts/update-temp-password.component.ts index 768bdb4e2e9..109eec23003 100644 --- a/apps/desktop/src/app/accounts/update-temp-password.component.ts +++ b/apps/desktop/src/app/accounts/update-temp-password.component.ts @@ -10,7 +10,7 @@ import { PasswordGenerationService } from "@bitwarden/common/abstractions/passwo import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { PolicyService } from "@bitwarden/common/abstractions/policy/policy.service.abstraction"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync.service"; +import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; @Component({ selector: "app-update-temp-password", diff --git a/apps/desktop/src/app/app.component.ts b/apps/desktop/src/app/app.component.ts index 29cefbe02da..6a451e0af1e 100644 --- a/apps/desktop/src/app/app.component.ts +++ b/apps/desktop/src/app/app.component.ts @@ -33,7 +33,7 @@ import { InternalPolicyService } from "@bitwarden/common/abstractions/policy/pol import { SearchService } from "@bitwarden/common/abstractions/search.service"; import { SettingsService } from "@bitwarden/common/abstractions/settings.service"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync.service"; +import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { SystemService } from "@bitwarden/common/abstractions/system.service"; import { VaultTimeoutService } from "@bitwarden/common/abstractions/vaultTimeout.service"; import { AuthenticationStatus } from "@bitwarden/common/enums/authenticationStatus"; diff --git a/apps/desktop/src/app/services/init.service.ts b/apps/desktop/src/app/services/init.service.ts index e99c47823d5..faebf7fffb0 100644 --- a/apps/desktop/src/app/services/init.service.ts +++ b/apps/desktop/src/app/services/init.service.ts @@ -9,7 +9,7 @@ import { I18nService as I18nServiceAbstraction } from "@bitwarden/common/abstrac import { NotificationsService as NotificationsServiceAbstraction } from "@bitwarden/common/abstractions/notifications.service"; import { PlatformUtilsService as PlatformUtilsServiceAbstraction } from "@bitwarden/common/abstractions/platformUtils.service"; import { StateService as StateServiceAbstraction } from "@bitwarden/common/abstractions/state.service"; -import { SyncService as SyncServiceAbstraction } from "@bitwarden/common/abstractions/sync.service"; +import { SyncService as SyncServiceAbstraction } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { TwoFactorService as TwoFactorServiceAbstraction } from "@bitwarden/common/abstractions/twoFactor.service"; import { VaultTimeoutService as VaultTimeoutServiceAbstraction } from "@bitwarden/common/abstractions/vaultTimeout.service"; import { ContainerService } from "@bitwarden/common/services/container.service"; diff --git a/apps/desktop/src/app/vault/vault.component.ts b/apps/desktop/src/app/vault/vault.component.ts index 3deae9fc725..c3437063021 100644 --- a/apps/desktop/src/app/vault/vault.component.ts +++ b/apps/desktop/src/app/vault/vault.component.ts @@ -20,7 +20,7 @@ import { MessagingService } from "@bitwarden/common/abstractions/messaging.servi import { PasswordRepromptService } from "@bitwarden/common/abstractions/passwordReprompt.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync.service"; +import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { TotpService } from "@bitwarden/common/abstractions/totp.service"; import { CipherRepromptType } from "@bitwarden/common/enums/cipherRepromptType"; import { CipherType } from "@bitwarden/common/enums/cipherType"; diff --git a/apps/web/src/app/accounts/set-password.component.ts b/apps/web/src/app/accounts/set-password.component.ts index 771a71affa4..7e337314121 100644 --- a/apps/web/src/app/accounts/set-password.component.ts +++ b/apps/web/src/app/accounts/set-password.component.ts @@ -12,7 +12,7 @@ import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUti import { PolicyApiServiceAbstraction } from "@bitwarden/common/abstractions/policy/policy-api.service.abstraction"; import { PolicyService } from "@bitwarden/common/abstractions/policy/policy.service.abstraction"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync.service"; +import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; @Component({ selector: "app-set-password", diff --git a/apps/web/src/app/accounts/trial-initiation/billing.component.ts b/apps/web/src/app/accounts/trial-initiation/billing.component.ts index 3cff0c82d29..7bf672d09a2 100644 --- a/apps/web/src/app/accounts/trial-initiation/billing.component.ts +++ b/apps/web/src/app/accounts/trial-initiation/billing.component.ts @@ -11,7 +11,7 @@ import { OrganizationService } from "@bitwarden/common/abstractions/organization import { OrganizationApiServiceAbstraction } from "@bitwarden/common/abstractions/organization/organization-api.service.abstraction"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { PolicyService } from "@bitwarden/common/abstractions/policy/policy.service.abstraction"; -import { SyncService } from "@bitwarden/common/abstractions/sync.service"; +import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { ProductType } from "@bitwarden/common/enums/productType"; import { OrganizationPlansComponent } from "../../settings/organization-plans.component"; diff --git a/apps/web/src/app/accounts/update-temp-password.component.ts b/apps/web/src/app/accounts/update-temp-password.component.ts index 2360d9c5a70..1bdc2b3becc 100644 --- a/apps/web/src/app/accounts/update-temp-password.component.ts +++ b/apps/web/src/app/accounts/update-temp-password.component.ts @@ -10,7 +10,7 @@ import { PasswordGenerationService } from "@bitwarden/common/abstractions/passwo import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { PolicyService } from "@bitwarden/common/abstractions/policy/policy.service.abstraction"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync.service"; +import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; @Component({ selector: "app-update-temp-password", diff --git a/apps/web/src/app/app.component.ts b/apps/web/src/app/app.component.ts index ae9107ea0ec..16f955e6ee7 100644 --- a/apps/web/src/app/app.component.ts +++ b/apps/web/src/app/app.component.ts @@ -23,7 +23,7 @@ import { InternalPolicyService } from "@bitwarden/common/abstractions/policy/pol import { SearchService } from "@bitwarden/common/abstractions/search.service"; import { SettingsService } from "@bitwarden/common/abstractions/settings.service"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync.service"; +import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { VaultTimeoutService } from "@bitwarden/common/abstractions/vaultTimeout.service"; import { PolicyListService, RouterService } from "./core"; diff --git a/apps/web/src/app/layouts/navbar.component.ts b/apps/web/src/app/layouts/navbar.component.ts index bbd4644bdb3..3552ce12233 100644 --- a/apps/web/src/app/layouts/navbar.component.ts +++ b/apps/web/src/app/layouts/navbar.component.ts @@ -6,7 +6,7 @@ import { MessagingService } from "@bitwarden/common/abstractions/messaging.servi import { OrganizationService } from "@bitwarden/common/abstractions/organization.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { ProviderService } from "@bitwarden/common/abstractions/provider.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync.service"; +import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { TokenService } from "@bitwarden/common/abstractions/token.service"; import { Utils } from "@bitwarden/common/misc/utils"; import { Organization } from "@bitwarden/common/models/domain/organization"; diff --git a/apps/web/src/app/organizations/guards/org-permissions.guard.spec.ts b/apps/web/src/app/organizations/guards/org-permissions.guard.spec.ts index 03d91822a52..59f7c5390a9 100644 --- a/apps/web/src/app/organizations/guards/org-permissions.guard.spec.ts +++ b/apps/web/src/app/organizations/guards/org-permissions.guard.spec.ts @@ -9,7 +9,7 @@ import { mock, MockProxy } from "jest-mock-extended"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { OrganizationService } from "@bitwarden/common/abstractions/organization.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync.service"; +import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { OrganizationUserType } from "@bitwarden/common/enums/organizationUserType"; import { Organization } from "@bitwarden/common/models/domain/organization"; diff --git a/apps/web/src/app/organizations/guards/org-permissions.guard.ts b/apps/web/src/app/organizations/guards/org-permissions.guard.ts index 31642a44a4b..45c2b8f8bf2 100644 --- a/apps/web/src/app/organizations/guards/org-permissions.guard.ts +++ b/apps/web/src/app/organizations/guards/org-permissions.guard.ts @@ -4,7 +4,7 @@ import { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot } from import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { OrganizationService } from "@bitwarden/common/abstractions/organization.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync.service"; +import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { Organization } from "@bitwarden/common/models/domain/organization"; import { canAccessOrgAdmin } from "../navigation-permissions"; diff --git a/apps/web/src/app/organizations/manage/people.component.ts b/apps/web/src/app/organizations/manage/people.component.ts index 84877602493..c6551c5a627 100644 --- a/apps/web/src/app/organizations/manage/people.component.ts +++ b/apps/web/src/app/organizations/manage/people.component.ts @@ -17,7 +17,7 @@ import { PolicyApiServiceAbstraction } from "@bitwarden/common/abstractions/poli import { PolicyService } from "@bitwarden/common/abstractions/policy/policy.service.abstraction"; import { SearchService } from "@bitwarden/common/abstractions/search.service"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync.service"; +import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { OrganizationUserStatusType } from "@bitwarden/common/enums/organizationUserStatusType"; import { OrganizationUserType } from "@bitwarden/common/enums/organizationUserType"; import { PolicyType } from "@bitwarden/common/enums/policyType"; diff --git a/apps/web/src/app/organizations/settings/account.component.ts b/apps/web/src/app/organizations/settings/account.component.ts index e689d530e0d..e839b3d8368 100644 --- a/apps/web/src/app/organizations/settings/account.component.ts +++ b/apps/web/src/app/organizations/settings/account.component.ts @@ -9,7 +9,7 @@ import { LogService } from "@bitwarden/common/abstractions/log.service"; import { OrganizationService } from "@bitwarden/common/abstractions/organization.service"; import { OrganizationApiServiceAbstraction } from "@bitwarden/common/abstractions/organization/organization-api.service.abstraction"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync.service"; +import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { OrganizationKeysRequest } from "@bitwarden/common/models/request/organizationKeysRequest"; import { OrganizationUpdateRequest } from "@bitwarden/common/models/request/organizationUpdateRequest"; import { OrganizationResponse } from "@bitwarden/common/models/response/organizationResponse"; diff --git a/apps/web/src/app/organizations/sponsorships/families-for-enterprise-setup.component.ts b/apps/web/src/app/organizations/sponsorships/families-for-enterprise-setup.component.ts index 8420fd91223..673ffa586d6 100644 --- a/apps/web/src/app/organizations/sponsorships/families-for-enterprise-setup.component.ts +++ b/apps/web/src/app/organizations/sponsorships/families-for-enterprise-setup.component.ts @@ -8,7 +8,7 @@ import { ApiService } from "@bitwarden/common/abstractions/api.service"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { OrganizationService } from "@bitwarden/common/abstractions/organization.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync.service"; +import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { PlanSponsorshipType } from "@bitwarden/common/enums/planSponsorshipType"; import { PlanType } from "@bitwarden/common/enums/planType"; import { ProductType } from "@bitwarden/common/enums/productType"; diff --git a/apps/web/src/app/organizations/users/enroll-master-password-reset.component.ts b/apps/web/src/app/organizations/users/enroll-master-password-reset.component.ts index c2977180d4b..ae700771a52 100644 --- a/apps/web/src/app/organizations/users/enroll-master-password-reset.component.ts +++ b/apps/web/src/app/organizations/users/enroll-master-password-reset.component.ts @@ -8,7 +8,7 @@ import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { LogService } from "@bitwarden/common/abstractions/log.service"; import { OrganizationApiServiceAbstraction } from "@bitwarden/common/abstractions/organization/organization-api.service.abstraction"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync.service"; +import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { UserVerificationService } from "@bitwarden/common/abstractions/userVerification/userVerification.service.abstraction"; import { Utils } from "@bitwarden/common/misc/utils"; import { Organization } from "@bitwarden/common/models/domain/organization"; diff --git a/apps/web/src/app/organizations/vault/vault.component.ts b/apps/web/src/app/organizations/vault/vault.component.ts index c25e565e78c..f9c378b6393 100644 --- a/apps/web/src/app/organizations/vault/vault.component.ts +++ b/apps/web/src/app/organizations/vault/vault.component.ts @@ -19,7 +19,7 @@ import { MessagingService } from "@bitwarden/common/abstractions/messaging.servi import { OrganizationService } from "@bitwarden/common/abstractions/organization.service"; import { PasswordRepromptService } from "@bitwarden/common/abstractions/passwordReprompt.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync.service"; +import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { CipherType } from "@bitwarden/common/enums/cipherType"; import { Organization } from "@bitwarden/common/models/domain/organization"; import { CipherView } from "@bitwarden/common/models/view/cipherView"; diff --git a/apps/web/src/app/settings/change-password.component.ts b/apps/web/src/app/settings/change-password.component.ts index abd8daaf4a0..7636c6970b5 100644 --- a/apps/web/src/app/settings/change-password.component.ts +++ b/apps/web/src/app/settings/change-password.component.ts @@ -17,7 +17,7 @@ import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUti import { PolicyService } from "@bitwarden/common/abstractions/policy/policy.service.abstraction"; import { SendService } from "@bitwarden/common/abstractions/send.service"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync.service"; +import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { EmergencyAccessStatusType } from "@bitwarden/common/enums/emergencyAccessStatusType"; import { Utils } from "@bitwarden/common/misc/utils"; import { EncString } from "@bitwarden/common/models/domain/encString"; diff --git a/apps/web/src/app/settings/organization-plans.component.ts b/apps/web/src/app/settings/organization-plans.component.ts index 12fcb4ad40d..7dc6f28e7fb 100644 --- a/apps/web/src/app/settings/organization-plans.component.ts +++ b/apps/web/src/app/settings/organization-plans.component.ts @@ -11,7 +11,7 @@ import { OrganizationService } from "@bitwarden/common/abstractions/organization import { OrganizationApiServiceAbstraction } from "@bitwarden/common/abstractions/organization/organization-api.service.abstraction"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { PolicyService } from "@bitwarden/common/abstractions/policy/policy.service.abstraction"; -import { SyncService } from "@bitwarden/common/abstractions/sync.service"; +import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { PaymentMethodType } from "@bitwarden/common/enums/paymentMethodType"; import { PlanType } from "@bitwarden/common/enums/planType"; import { PolicyType } from "@bitwarden/common/enums/policyType"; diff --git a/apps/web/src/app/settings/premium.component.ts b/apps/web/src/app/settings/premium.component.ts index 80ded51a216..49fbe09fa47 100644 --- a/apps/web/src/app/settings/premium.component.ts +++ b/apps/web/src/app/settings/premium.component.ts @@ -7,7 +7,7 @@ import { LogService } from "@bitwarden/common/abstractions/log.service"; import { MessagingService } from "@bitwarden/common/abstractions/messaging.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync.service"; +import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { TokenService } from "@bitwarden/common/abstractions/token.service"; import { PaymentComponent } from "./payment.component"; diff --git a/apps/web/src/app/settings/sponsored-families.component.ts b/apps/web/src/app/settings/sponsored-families.component.ts index 814b522ee6c..d2233fc6c8a 100644 --- a/apps/web/src/app/settings/sponsored-families.component.ts +++ b/apps/web/src/app/settings/sponsored-families.component.ts @@ -7,7 +7,7 @@ import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { OrganizationService } from "@bitwarden/common/abstractions/organization.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync.service"; +import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { PlanSponsorshipType } from "@bitwarden/common/enums/planSponsorshipType"; import { Organization } from "@bitwarden/common/models/domain/organization"; diff --git a/apps/web/src/app/settings/update-key.component.ts b/apps/web/src/app/settings/update-key.component.ts index b995ce42bf9..bf0afc150d6 100644 --- a/apps/web/src/app/settings/update-key.component.ts +++ b/apps/web/src/app/settings/update-key.component.ts @@ -9,7 +9,7 @@ import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { LogService } from "@bitwarden/common/abstractions/log.service"; import { MessagingService } from "@bitwarden/common/abstractions/messaging.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync.service"; +import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { EncString } from "@bitwarden/common/models/domain/encString"; import { CipherWithIdRequest } from "@bitwarden/common/models/request/cipherWithIdRequest"; import { FolderWithIdRequest } from "@bitwarden/common/models/request/folderWithIdRequest"; diff --git a/apps/web/src/app/vault/vault-filter/organization-filter/organization-options.component.ts b/apps/web/src/app/vault/vault-filter/organization-filter/organization-options.component.ts index c23beb96e90..efffd7d54a2 100644 --- a/apps/web/src/app/vault/vault-filter/organization-filter/organization-options.component.ts +++ b/apps/web/src/app/vault/vault-filter/organization-filter/organization-options.component.ts @@ -7,7 +7,7 @@ import { LogService } from "@bitwarden/common/abstractions/log.service"; import { OrganizationApiServiceAbstraction } from "@bitwarden/common/abstractions/organization/organization-api.service.abstraction"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { PolicyService } from "@bitwarden/common/abstractions/policy/policy.service.abstraction"; -import { SyncService } from "@bitwarden/common/abstractions/sync.service"; +import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { PolicyType } from "@bitwarden/common/enums/policyType"; import { Organization } from "@bitwarden/common/models/domain/organization"; import { Policy } from "@bitwarden/common/models/domain/policy"; diff --git a/apps/web/src/app/vault/vault.component.ts b/apps/web/src/app/vault/vault.component.ts index 4430328dd33..c9d6b590390 100644 --- a/apps/web/src/app/vault/vault.component.ts +++ b/apps/web/src/app/vault/vault.component.ts @@ -21,7 +21,7 @@ import { OrganizationService } from "@bitwarden/common/abstractions/organization import { PasswordRepromptService } from "@bitwarden/common/abstractions/passwordReprompt.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync.service"; +import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { TokenService } from "@bitwarden/common/abstractions/token.service"; import { CipherView } from "@bitwarden/common/models/view/cipherView"; diff --git a/bitwarden_license/bit-web/src/app/providers/services/webProvider.service.ts b/bitwarden_license/bit-web/src/app/providers/services/webProvider.service.ts index b6a7c07d28b..c11735367d0 100644 --- a/bitwarden_license/bit-web/src/app/providers/services/webProvider.service.ts +++ b/bitwarden_license/bit-web/src/app/providers/services/webProvider.service.ts @@ -2,7 +2,7 @@ import { Injectable } from "@angular/core"; import { ApiService } from "@bitwarden/common/abstractions/api.service"; import { CryptoService } from "@bitwarden/common/abstractions/crypto.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync.service"; +import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { ProviderAddOrganizationRequest } from "@bitwarden/common/models/request/provider/providerAddOrganizationRequest"; @Injectable() diff --git a/bitwarden_license/bit-web/src/app/providers/settings/account.component.ts b/bitwarden_license/bit-web/src/app/providers/settings/account.component.ts index 4359cd9fb47..94a99ed5c60 100644 --- a/bitwarden_license/bit-web/src/app/providers/settings/account.component.ts +++ b/bitwarden_license/bit-web/src/app/providers/settings/account.component.ts @@ -5,7 +5,7 @@ import { ApiService } from "@bitwarden/common/abstractions/api.service"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { LogService } from "@bitwarden/common/abstractions/log.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync.service"; +import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { ProviderUpdateRequest } from "@bitwarden/common/models/request/provider/providerUpdateRequest"; import { ProviderResponse } from "@bitwarden/common/models/response/provider/providerResponse"; diff --git a/bitwarden_license/bit-web/src/app/providers/setup/setup.component.ts b/bitwarden_license/bit-web/src/app/providers/setup/setup.component.ts index 4919cb7e9ea..531f1e9e21a 100644 --- a/bitwarden_license/bit-web/src/app/providers/setup/setup.component.ts +++ b/bitwarden_license/bit-web/src/app/providers/setup/setup.component.ts @@ -7,7 +7,7 @@ import { ApiService } from "@bitwarden/common/abstractions/api.service"; import { CryptoService } from "@bitwarden/common/abstractions/crypto.service"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync.service"; +import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { ProviderSetupRequest } from "@bitwarden/common/models/request/provider/providerSetupRequest"; @Component({ diff --git a/libs/angular/src/components/remove-password.component.ts b/libs/angular/src/components/remove-password.component.ts index 7bbf0d2ae9b..20d7cc247ab 100644 --- a/libs/angular/src/components/remove-password.component.ts +++ b/libs/angular/src/components/remove-password.component.ts @@ -7,7 +7,7 @@ import { KeyConnectorService } from "@bitwarden/common/abstractions/keyConnector import { OrganizationApiServiceAbstraction } from "@bitwarden/common/abstractions/organization/organization-api.service.abstraction"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync.service"; +import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { Organization } from "@bitwarden/common/models/domain/organization"; @Directive() diff --git a/libs/angular/src/components/set-password.component.ts b/libs/angular/src/components/set-password.component.ts index 36792a3f374..373a1bab99b 100644 --- a/libs/angular/src/components/set-password.component.ts +++ b/libs/angular/src/components/set-password.component.ts @@ -12,7 +12,7 @@ import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUti import { PolicyApiServiceAbstraction } from "@bitwarden/common/abstractions/policy/policy-api.service.abstraction"; import { PolicyService } from "@bitwarden/common/abstractions/policy/policy.service.abstraction"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync.service"; +import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { HashPurpose } from "@bitwarden/common/enums/hashPurpose"; import { DEFAULT_KDF_ITERATIONS, DEFAULT_KDF_TYPE } from "@bitwarden/common/enums/kdfType"; import { Utils } from "@bitwarden/common/misc/utils"; diff --git a/libs/angular/src/components/update-temp-password.component.ts b/libs/angular/src/components/update-temp-password.component.ts index 7f36abd9a60..63aecec9968 100644 --- a/libs/angular/src/components/update-temp-password.component.ts +++ b/libs/angular/src/components/update-temp-password.component.ts @@ -9,7 +9,7 @@ import { PasswordGenerationService } from "@bitwarden/common/abstractions/passwo import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { PolicyService } from "@bitwarden/common/abstractions/policy/policy.service.abstraction"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync.service"; +import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { EncString } from "@bitwarden/common/models/domain/encString"; import { MasterPasswordPolicyOptions } from "@bitwarden/common/models/domain/masterPasswordPolicyOptions"; import { SymmetricCryptoKey } from "@bitwarden/common/models/domain/symmetricCryptoKey"; diff --git a/libs/angular/src/services/jslib-services.module.ts b/libs/angular/src/services/jslib-services.module.ts index a1625ab7549..6c6fec9526e 100644 --- a/libs/angular/src/services/jslib-services.module.ts +++ b/libs/angular/src/services/jslib-services.module.ts @@ -46,7 +46,7 @@ import { SettingsService as SettingsServiceAbstraction } from "@bitwarden/common import { StateService as StateServiceAbstraction } from "@bitwarden/common/abstractions/state.service"; import { StateMigrationService as StateMigrationServiceAbstraction } from "@bitwarden/common/abstractions/stateMigration.service"; import { AbstractStorageService } from "@bitwarden/common/abstractions/storage.service"; -import { SyncService as SyncServiceAbstraction } from "@bitwarden/common/abstractions/sync.service"; +import { SyncService as SyncServiceAbstraction } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { TokenService as TokenServiceAbstraction } from "@bitwarden/common/abstractions/token.service"; import { TotpService as TotpServiceAbstraction } from "@bitwarden/common/abstractions/totp.service"; import { TwoFactorService as TwoFactorServiceAbstraction } from "@bitwarden/common/abstractions/twoFactor.service"; @@ -88,7 +88,7 @@ import { SendService } from "@bitwarden/common/services/send.service"; import { SettingsService } from "@bitwarden/common/services/settings.service"; import { StateService } from "@bitwarden/common/services/state.service"; import { StateMigrationService } from "@bitwarden/common/services/stateMigration.service"; -import { SyncService } from "@bitwarden/common/services/sync.service"; +import { SyncService } from "@bitwarden/common/services/sync/sync.service"; import { TokenService } from "@bitwarden/common/services/token.service"; import { TotpService } from "@bitwarden/common/services/totp.service"; import { TwoFactorService } from "@bitwarden/common/services/twoFactor.service"; diff --git a/libs/common/src/abstractions/sync.service.ts b/libs/common/src/abstractions/sync/sync.service.abstraction.ts similarity index 82% rename from libs/common/src/abstractions/sync.service.ts rename to libs/common/src/abstractions/sync/sync.service.abstraction.ts index 936d027fd41..51583fd3c41 100644 --- a/libs/common/src/abstractions/sync.service.ts +++ b/libs/common/src/abstractions/sync/sync.service.abstraction.ts @@ -1,12 +1,17 @@ +import { Observable } from "rxjs"; + import { SyncCipherNotification, SyncFolderNotification, SyncSendNotification, -} from "../models/response/notificationResponse"; +} from "../../models/response/notificationResponse"; +import { SyncEventArgs } from "../../types/syncEventArgs"; export abstract class SyncService { syncInProgress: boolean; + sync$: Observable; + getLastSync: () => Promise; setLastSync: (date: Date, userId?: string) => Promise; fullSync: (forceSync: boolean, allowThrowOnError?: boolean) => Promise; diff --git a/libs/common/src/services/notifications.service.ts b/libs/common/src/services/notifications.service.ts index 39e2df541fe..01975ec592a 100644 --- a/libs/common/src/services/notifications.service.ts +++ b/libs/common/src/services/notifications.service.ts @@ -8,7 +8,7 @@ import { EnvironmentService } from "../abstractions/environment.service"; import { LogService } from "../abstractions/log.service"; import { NotificationsService as NotificationsServiceAbstraction } from "../abstractions/notifications.service"; import { StateService } from "../abstractions/state.service"; -import { SyncService } from "../abstractions/sync.service"; +import { SyncService } from "../abstractions/sync/sync.service.abstraction"; import { AuthenticationStatus } from "../enums/authenticationStatus"; import { NotificationType } from "../enums/notificationType"; import { diff --git a/libs/common/src/services/sync.service.ts b/libs/common/src/services/sync/sync.service.ts similarity index 82% rename from libs/common/src/services/sync.service.ts rename to libs/common/src/services/sync/sync.service.ts index 4776bc97f15..fc460f39206 100644 --- a/libs/common/src/services/sync.service.ts +++ b/libs/common/src/services/sync/sync.service.ts @@ -1,43 +1,50 @@ -import { ApiService } from "../abstractions/api.service"; -import { CipherService } from "../abstractions/cipher.service"; -import { CollectionService } from "../abstractions/collection.service"; -import { CryptoService } from "../abstractions/crypto.service"; -import { FolderApiServiceAbstraction } from "../abstractions/folder/folder-api.service.abstraction"; -import { InternalFolderService } from "../abstractions/folder/folder.service.abstraction"; -import { KeyConnectorService } from "../abstractions/keyConnector.service"; -import { LogService } from "../abstractions/log.service"; -import { MessagingService } from "../abstractions/messaging.service"; -import { OrganizationService } from "../abstractions/organization.service"; -import { InternalPolicyService } from "../abstractions/policy/policy.service.abstraction"; -import { ProviderService } from "../abstractions/provider.service"; -import { SendService } from "../abstractions/send.service"; -import { SettingsService } from "../abstractions/settings.service"; -import { StateService } from "../abstractions/state.service"; -import { SyncService as SyncServiceAbstraction } from "../abstractions/sync.service"; -import { sequentialize } from "../misc/sequentialize"; -import { CipherData } from "../models/data/cipherData"; -import { CollectionData } from "../models/data/collectionData"; -import { FolderData } from "../models/data/folderData"; -import { OrganizationData } from "../models/data/organizationData"; -import { PolicyData } from "../models/data/policyData"; -import { ProviderData } from "../models/data/providerData"; -import { SendData } from "../models/data/sendData"; -import { CipherResponse } from "../models/response/cipherResponse"; -import { CollectionDetailsResponse } from "../models/response/collectionResponse"; -import { DomainsResponse } from "../models/response/domainsResponse"; -import { FolderResponse } from "../models/response/folderResponse"; +import { Subject } from "rxjs"; + +import { ApiService } from "../../abstractions/api.service"; +import { CipherService } from "../../abstractions/cipher.service"; +import { CollectionService } from "../../abstractions/collection.service"; +import { CryptoService } from "../../abstractions/crypto.service"; +import { FolderApiServiceAbstraction } from "../../abstractions/folder/folder-api.service.abstraction"; +import { InternalFolderService } from "../../abstractions/folder/folder.service.abstraction"; +import { KeyConnectorService } from "../../abstractions/keyConnector.service"; +import { LogService } from "../../abstractions/log.service"; +import { MessagingService } from "../../abstractions/messaging.service"; +import { OrganizationService } from "../../abstractions/organization.service"; +import { InternalPolicyService } from "../../abstractions/policy/policy.service.abstraction"; +import { ProviderService } from "../../abstractions/provider.service"; +import { SendService } from "../../abstractions/send.service"; +import { SettingsService } from "../../abstractions/settings.service"; +import { StateService } from "../../abstractions/state.service"; +import { SyncService as SyncServiceAbstraction } from "../../abstractions/sync/sync.service.abstraction"; +import { sequentialize } from "../../misc/sequentialize"; +import { CipherData } from "../../models/data/cipherData"; +import { CollectionData } from "../../models/data/collectionData"; +import { FolderData } from "../../models/data/folderData"; +import { OrganizationData } from "../../models/data/organizationData"; +import { PolicyData } from "../../models/data/policyData"; +import { ProviderData } from "../../models/data/providerData"; +import { SendData } from "../../models/data/sendData"; +import { CipherResponse } from "../../models/response/cipherResponse"; +import { CollectionDetailsResponse } from "../../models/response/collectionResponse"; +import { DomainsResponse } from "../../models/response/domainsResponse"; +import { FolderResponse } from "../../models/response/folderResponse"; import { SyncCipherNotification, SyncFolderNotification, SyncSendNotification, -} from "../models/response/notificationResponse"; -import { PolicyResponse } from "../models/response/policyResponse"; -import { ProfileResponse } from "../models/response/profileResponse"; -import { SendResponse } from "../models/response/sendResponse"; +} from "../../models/response/notificationResponse"; +import { PolicyResponse } from "../../models/response/policyResponse"; +import { ProfileResponse } from "../../models/response/profileResponse"; +import { SendResponse } from "../../models/response/sendResponse"; +import { SyncEventArgs } from "../../types/syncEventArgs"; export class SyncService implements SyncServiceAbstraction { syncInProgress = false; + private _sync = new Subject(); + + sync$ = this._sync.asObservable(); + constructor( private apiService: ApiService, private settingsService: SettingsService, @@ -265,11 +272,13 @@ export class SyncService implements SyncServiceAbstraction { private syncStarted() { this.syncInProgress = true; this.messagingService.send("syncStarted"); + this._sync.next({ status: "Started" }); } private syncCompleted(successfully: boolean): boolean { this.syncInProgress = false; this.messagingService.send("syncCompleted", { successfully: successfully }); + this._sync.next({ status: successfully ? "SuccessfullyCompleted" : "UnsuccessfullyCompleted" }); return successfully; } diff --git a/libs/common/src/types/syncEventArgs.ts b/libs/common/src/types/syncEventArgs.ts new file mode 100644 index 00000000000..3361a3358f1 --- /dev/null +++ b/libs/common/src/types/syncEventArgs.ts @@ -0,0 +1,15 @@ +import { filter } from "rxjs"; + +export type SyncStatus = "Started" | "SuccessfullyCompleted" | "UnsuccessfullyCompleted"; + +export type SyncEventArgs = { + status: SyncStatus; +}; + +/** + * Helper function to filter only on successfully completed syncs + * @returns a function that can be used in a `.pipe()` from an observable + */ +export function onlySuccessfullyCompleted() { + return filter((syncEvent) => syncEvent.status === "SuccessfullyCompleted"); +}