1
0
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:
Alex Morask
2024-02-09 12:08:46 -05:00
committed by GitHub
parent 64381cbae0
commit b239e3736f
12 changed files with 358 additions and 43 deletions

View File

@@ -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>;
}

View File

@@ -0,0 +1,4 @@
export type SubscriptionCancellationRequest = {
reason: string;
feedback?: string;
};

View 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);
}
}

View File

@@ -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