1
0
mirror of https://github.com/bitwarden/browser synced 2026-02-28 18:43:26 +00:00

Remove Injectable decorator from class, use safeProvider.

This commit is contained in:
Miles Blackwood
2025-06-12 13:41:07 -04:00
parent 3e88388827
commit f6b49b0404
4 changed files with 31 additions and 32 deletions

View File

@@ -187,7 +187,10 @@ import { I18nService as I18nServiceAbstraction } from "@bitwarden/common/platfor
import { KeyGenerationService as KeyGenerationServiceAbstraction } from "@bitwarden/common/platform/abstractions/key-generation.service";
import { LogService } from "@bitwarden/common/platform/abstractions/log.service";
import { MessagingService as MessagingServiceAbstraction } from "@bitwarden/common/platform/abstractions/messaging.service";
import { PlatformUtilsService as PlatformUtilsServiceAbstraction } from "@bitwarden/common/platform/abstractions/platform-utils.service";
import {
PlatformUtilsService,
PlatformUtilsService as PlatformUtilsServiceAbstraction,
} from "@bitwarden/common/platform/abstractions/platform-utils.service";
import { SdkClientFactory } from "@bitwarden/common/platform/abstractions/sdk/sdk-client-factory";
import { SdkService } from "@bitwarden/common/platform/abstractions/sdk/sdk.service";
import { StateService as StateServiceAbstraction } from "@bitwarden/common/platform/abstractions/state.service";
@@ -324,7 +327,11 @@ import {
import { SafeInjectionToken } from "@bitwarden/ui-common";
// This import has been flagged as unallowed for this class. It may be involved in a circular dependency loop.
// eslint-disable-next-line no-restricted-imports
import { PasswordRepromptService } from "@bitwarden/vault";
import {
ChangeLoginPasswordService,
DefaultChangeLoginPasswordService,
PasswordRepromptService,
} from "@bitwarden/vault";
import {
IndividualVaultExportService,
IndividualVaultExportServiceAbstraction,
@@ -1559,6 +1566,11 @@ const safeProviders: SafeProvider[] = [
InternalMasterPasswordServiceAbstraction,
],
}),
safeProvider({
provide: ChangeLoginPasswordService,
useClass: DefaultChangeLoginPasswordService,
deps: [ApiService, PlatformUtilsService],
}),
];
@NgModule({

View File

@@ -1,36 +1,16 @@
import { Inject, Injectable } from "@angular/core";
import { ApiService } from "@bitwarden/common/abstractions/api.service";
import { PlatformUtilsService } from "@bitwarden/common/platform/abstractions/platform-utils.service";
import { Utils } from "@bitwarden/common/platform/misc/utils";
import { CipherType } from "@bitwarden/common/vault/enums";
import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view";
import { ChangeLoginPasswordService } from "../abstractions/change-login-password.service";
interface PartialApiService {
nativeFetch(request: Request): Promise<Response>;
}
interface PartialPlatformUtilsService {
getClientType(): string;
}
@Injectable()
export class DefaultChangeLoginPasswordService implements ChangeLoginPasswordService {
private apiService: PartialApiService;
private platformUtilsService: PartialPlatformUtilsService;
constructor(
@Inject("ApiService") apiService: PartialApiService,
@Inject("PlatformUtilsService") platformUtilsService: PartialPlatformUtilsService,
) {
this.apiService = apiService;
this.platformUtilsService = platformUtilsService;
}
static create(apiService: PartialApiService, platformUtilsService: PartialPlatformUtilsService) {
const instance = new DefaultChangeLoginPasswordService(null!, null!);
instance.apiService = apiService;
instance.platformUtilsService = platformUtilsService;
return instance;
}
private apiService: ApiService,
private platformUtilsService: PlatformUtilsService,
) {}
/**
* @inheritDoc