1
0
mirror of https://github.com/bitwarden/browser.git synced 2024-11-29 12:55:21 +01:00

[AC-1562] Added region custom field to PayPal add credits (#5897)

* Added config service func for getting cloud region

* Updated to use `buildServerConfig`
This commit is contained in:
Conner Turnbull 2023-07-25 15:57:29 -04:00 committed by GitHub
parent 4ba9427967
commit ab6085cd88
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 10 additions and 2 deletions

View File

@ -12,6 +12,7 @@ import { ApiService } from "@bitwarden/common/abstractions/api.service";
import { OrganizationService } from "@bitwarden/common/admin-console/abstractions/organization/organization.service.abstraction"; import { OrganizationService } from "@bitwarden/common/admin-console/abstractions/organization/organization.service.abstraction";
import { PaymentMethodType } from "@bitwarden/common/billing/enums"; import { PaymentMethodType } from "@bitwarden/common/billing/enums";
import { BitPayInvoiceRequest } from "@bitwarden/common/billing/models/request/bit-pay-invoice.request"; import { BitPayInvoiceRequest } from "@bitwarden/common/billing/models/request/bit-pay-invoice.request";
import { ConfigServiceAbstraction } from "@bitwarden/common/platform/abstractions/config/config.service.abstraction";
import { PayPalConfig } from "@bitwarden/common/platform/abstractions/environment.service"; import { PayPalConfig } from "@bitwarden/common/platform/abstractions/environment.service";
import { LogService } from "@bitwarden/common/platform/abstractions/log.service"; import { LogService } from "@bitwarden/common/platform/abstractions/log.service";
import { PlatformUtilsService } from "@bitwarden/common/platform/abstractions/platform-utils.service"; import { PlatformUtilsService } from "@bitwarden/common/platform/abstractions/platform-utils.service";
@ -50,7 +51,8 @@ export class AddCreditComponent implements OnInit {
private apiService: ApiService, private apiService: ApiService,
private platformUtilsService: PlatformUtilsService, private platformUtilsService: PlatformUtilsService,
private organizationService: OrganizationService, private organizationService: OrganizationService,
private logService: LogService private logService: LogService,
private configService: ConfigServiceAbstraction
) { ) {
const payPalConfig = process.env.PAYPAL_CONFIG as PayPalConfig; const payPalConfig = process.env.PAYPAL_CONFIG as PayPalConfig;
this.ppButtonFormAction = payPalConfig.buttonAction; this.ppButtonFormAction = payPalConfig.buttonAction;
@ -77,7 +79,7 @@ export class AddCreditComponent implements OnInit {
this.email = this.subject; this.email = this.subject;
this.ppButtonCustomField = "user_id:" + this.userId; this.ppButtonCustomField = "user_id:" + this.userId;
} }
this.region = await this.stateService.getRegion(); this.region = await this.configService.getCloudRegion();
this.ppButtonCustomField += ",account_credit:1"; this.ppButtonCustomField += ",account_credit:1";
this.ppButtonCustomField += `,region:${this.region}`; this.ppButtonCustomField += `,region:${this.region}`;
this.returnUrl = window.location.href; this.returnUrl = window.location.href;

View File

@ -10,4 +10,5 @@ export abstract class ConfigServiceAbstraction {
getFeatureFlagBool: (key: FeatureFlag, defaultValue?: boolean) => Promise<boolean>; getFeatureFlagBool: (key: FeatureFlag, defaultValue?: boolean) => Promise<boolean>;
getFeatureFlagString: (key: FeatureFlag, defaultValue?: string) => Promise<string>; getFeatureFlagString: (key: FeatureFlag, defaultValue?: string) => Promise<string>;
getFeatureFlagNumber: (key: FeatureFlag, defaultValue?: number) => Promise<number>; getFeatureFlagNumber: (key: FeatureFlag, defaultValue?: number) => Promise<number>;
getCloudRegion: (defaultValue?: string) => Promise<string>;
} }

View File

@ -63,6 +63,11 @@ export class ConfigService implements ConfigServiceAbstraction {
return await this.getFeatureFlag(key, defaultValue); return await this.getFeatureFlag(key, defaultValue);
} }
async getCloudRegion(defaultValue = "US"): Promise<string> {
const serverConfig = await this.buildServerConfig();
return serverConfig.environment?.cloudRegion ?? defaultValue;
}
private async getFeatureFlag<T>(key: FeatureFlag, defaultValue: T): Promise<T> { private async getFeatureFlag<T>(key: FeatureFlag, defaultValue: T): Promise<T> {
const serverConfig = await this.buildServerConfig(); const serverConfig = await this.buildServerConfig();
if ( if (