mirror of
https://github.com/bitwarden/browser
synced 2025-12-15 15:53:27 +00:00
[AC-1607] Add offboarding survey to subscription pages (#7809)
* Add offboarding survey to subscription pages * Cleaning up unused code * Removing unused eslint suppression * Product updates * Jared's feedback
This commit is contained in:
@@ -0,0 +1,9 @@
|
||||
import { SubscriptionCancellationRequest } from "../../billing/models/request/subscription-cancellation.request";
|
||||
|
||||
export abstract class BillingApiServiceAbstraction {
|
||||
cancelOrganizationSubscription: (
|
||||
organizationId: string,
|
||||
request: SubscriptionCancellationRequest,
|
||||
) => Promise<void>;
|
||||
cancelPremiumUserSubscription: (request: SubscriptionCancellationRequest) => Promise<void>;
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
export type SubscriptionCancellationRequest = {
|
||||
reason: string;
|
||||
feedback?: string;
|
||||
};
|
||||
24
libs/common/src/billing/services/billing-api.service.ts
Normal file
24
libs/common/src/billing/services/billing-api.service.ts
Normal file
@@ -0,0 +1,24 @@
|
||||
import { ApiService } from "../../abstractions/api.service";
|
||||
import { BillingApiServiceAbstraction } from "../../billing/abstractions/billilng-api.service.abstraction";
|
||||
import { SubscriptionCancellationRequest } from "../../billing/models/request/subscription-cancellation.request";
|
||||
|
||||
export class BillingApiService implements BillingApiServiceAbstraction {
|
||||
constructor(private apiService: ApiService) {}
|
||||
|
||||
cancelOrganizationSubscription(
|
||||
organizationId: string,
|
||||
request: SubscriptionCancellationRequest,
|
||||
): Promise<void> {
|
||||
return this.apiService.send(
|
||||
"POST",
|
||||
"/organizations/" + organizationId + "/cancel",
|
||||
request,
|
||||
true,
|
||||
false,
|
||||
);
|
||||
}
|
||||
|
||||
cancelPremiumUserSubscription(request: SubscriptionCancellationRequest): Promise<void> {
|
||||
return this.apiService.send("POST", "/accounts/cancel-premium", request, true, false);
|
||||
}
|
||||
}
|
||||
@@ -7,6 +7,7 @@ export enum FeatureFlag {
|
||||
GeneratorToolsModernization = "generator-tools-modernization",
|
||||
KeyRotationImprovements = "key-rotation-improvements",
|
||||
FlexibleCollectionsMigration = "flexible-collections-migration",
|
||||
AC1607_PresentUserOffboardingSurvey = "AC-1607_present-user-offboarding-survey",
|
||||
}
|
||||
|
||||
// Replace this with a type safe lookup of the feature flag values in PM-2282
|
||||
|
||||
Reference in New Issue
Block a user