mirror of
https://github.com/bitwarden/browser
synced 2025-12-18 17:23:37 +00:00
Add OrganizationService to synced services
Co-Authored-By: Daniel James Smith <djsmith85@users.noreply.github.com>
This commit is contained in:
@@ -61,7 +61,6 @@ import { FolderApiService } from "@bitwarden/common/services/folder/folder-api.s
|
||||
import { KeyConnectorService } from "@bitwarden/common/services/keyConnector.service";
|
||||
import { MemoryStorageService } from "@bitwarden/common/services/memoryStorage.service";
|
||||
import { NotificationsService } from "@bitwarden/common/services/notifications.service";
|
||||
import { OrganizationService } from "@bitwarden/common/services/organization/organization.service";
|
||||
import { PasswordGenerationService } from "@bitwarden/common/services/passwordGeneration.service";
|
||||
import { PolicyApiService } from "@bitwarden/common/services/policy/policy-api.service";
|
||||
import { ProviderService } from "@bitwarden/common/services/provider.service";
|
||||
@@ -92,6 +91,7 @@ import { BrowserStateService as StateServiceAbstraction } from "../services/abst
|
||||
import AutofillService from "../services/autofill.service";
|
||||
import { BrowserEnvironmentService } from "../services/browser-environment.service";
|
||||
import { BrowserFolderService } from "../services/browser-folder.service";
|
||||
import { BrowserOrganizationService } from "../services/browser-organization.service";
|
||||
import { BrowserPolicyService } from "../services/browser-policy.service";
|
||||
import { BrowserStateService } from "../services/browser-state.service";
|
||||
import { BrowserCryptoService } from "../services/browserCrypto.service";
|
||||
@@ -317,7 +317,10 @@ export default class MainBackground {
|
||||
this.stateService
|
||||
);
|
||||
this.syncNotifierService = new SyncNotifierService();
|
||||
this.organizationService = new OrganizationService(this.stateService, this.syncNotifierService);
|
||||
this.organizationService = new BrowserOrganizationService(
|
||||
this.stateService,
|
||||
this.syncNotifierService
|
||||
);
|
||||
this.policyService = new BrowserPolicyService(this.stateService, this.organizationService);
|
||||
this.policyApiService = new PolicyApiService(
|
||||
this.policyService,
|
||||
|
||||
@@ -37,10 +37,14 @@ import { ProviderService } from "@bitwarden/common/abstractions/provider.service
|
||||
import { SearchService as SearchServiceAbstraction } from "@bitwarden/common/abstractions/search.service";
|
||||
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 {
|
||||
StateService as BaseStateServiceAbstraction,
|
||||
StateService,
|
||||
} from "@bitwarden/common/abstractions/state.service";
|
||||
import { StateMigrationService } from "@bitwarden/common/abstractions/stateMigration.service";
|
||||
import { AbstractStorageService } from "@bitwarden/common/abstractions/storage.service";
|
||||
import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction";
|
||||
import { SyncNotifierService } from "@bitwarden/common/abstractions/sync/syncNotifier.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";
|
||||
@@ -61,6 +65,7 @@ import { Account } from "../../models/account";
|
||||
import { AutofillService } from "../../services/abstractions/autofill.service";
|
||||
import { BrowserStateService as StateServiceAbstraction } from "../../services/abstractions/browser-state.service";
|
||||
import { BrowserEnvironmentService } from "../../services/browser-environment.service";
|
||||
import { BrowserOrganizationService } from "../../services/browser-organization.service";
|
||||
import { BrowserPolicyService } from "../../services/browser-policy.service";
|
||||
import { BrowserStateService } from "../../services/browser-state.service";
|
||||
import { BrowserFileDownloadService } from "../../services/browserFileDownloadService";
|
||||
@@ -272,8 +277,10 @@ function getBgService<T>(service: keyof MainBackground) {
|
||||
{ provide: PasswordRepromptServiceAbstraction, useClass: PasswordRepromptService },
|
||||
{
|
||||
provide: OrganizationService,
|
||||
useFactory: getBgService<OrganizationService>("organizationService"),
|
||||
deps: [],
|
||||
useFactory: (stateService: StateService, syncNotifierService: SyncNotifierService) => {
|
||||
return new BrowserOrganizationService(stateService, syncNotifierService);
|
||||
},
|
||||
deps: [StateService, SyncNotifierService],
|
||||
},
|
||||
{
|
||||
provide: VaultFilterService,
|
||||
|
||||
12
apps/browser/src/services/browser-organization.service.ts
Normal file
12
apps/browser/src/services/browser-organization.service.ts
Normal file
@@ -0,0 +1,12 @@
|
||||
import { BehaviorSubject } from "rxjs";
|
||||
|
||||
import { Organization } from "@bitwarden/common/models/domain/organization";
|
||||
import { OrganizationService } from "@bitwarden/common/services/organization/organization.service";
|
||||
|
||||
import { browserSession, sessionSync } from "../decorators/session-sync-observable";
|
||||
|
||||
@browserSession
|
||||
export class BrowserOrganizationService extends OrganizationService {
|
||||
@sessionSync({ initializer: Organization.fromJSON, initializeAs: "array" })
|
||||
protected _organizations: BehaviorSubject<Organization[]>;
|
||||
}
|
||||
Reference in New Issue
Block a user