diff --git a/apps/web/src/app/billing/members/free-bitwarden-families.component.ts b/apps/web/src/app/billing/members/free-bitwarden-families.component.ts index dddc730168..da5d2b54f9 100644 --- a/apps/web/src/app/billing/members/free-bitwarden-families.component.ts +++ b/apps/web/src/app/billing/members/free-bitwarden-families.component.ts @@ -179,7 +179,10 @@ export class FreeBitwardenFamiliesComponent implements OnInit { return; } - await this.organizationSponsorshipApiService.deleteRevokeSponsorship(this.organizationId, true); + await this.organizationSponsorshipApiService.deleteAdminInitiatedRevokeSponsorship( + this.organizationId, + sponsorship.friendlyName, + ); this.toastService.showToast({ variant: "success", diff --git a/libs/common/src/billing/abstractions/organizations/organization-sponsorship-api.service.abstraction.ts b/libs/common/src/billing/abstractions/organizations/organization-sponsorship-api.service.abstraction.ts index 5e69f57ca1..46b11a9332 100644 --- a/libs/common/src/billing/abstractions/organizations/organization-sponsorship-api.service.abstraction.ts +++ b/libs/common/src/billing/abstractions/organizations/organization-sponsorship-api.service.abstraction.ts @@ -11,8 +11,10 @@ export abstract class OrganizationSponsorshipApiServiceAbstraction { friendlyName?: string, ): Promise; - abstract deleteRevokeSponsorship: ( + abstract deleteRevokeSponsorship: (sponsoringOrganizationId: string) => Promise; + + abstract deleteAdminInitiatedRevokeSponsorship: ( sponsoringOrganizationId: string, - isAdminInitiated?: boolean, + sponsoredFriendlyName: string, ) => Promise; } diff --git a/libs/common/src/billing/services/organization/organization-sponsorship-api.service.ts b/libs/common/src/billing/services/organization/organization-sponsorship-api.service.ts index 99440b10de..bba24f7ed7 100644 --- a/libs/common/src/billing/services/organization/organization-sponsorship-api.service.ts +++ b/libs/common/src/billing/services/organization/organization-sponsorship-api.service.ts @@ -44,11 +44,30 @@ export class OrganizationSponsorshipApiService ): Promise { const basePath = "/organization/sponsorship/"; const hostPath = this.platformUtilsService.isSelfHost() ? "self-hosted/" : ""; - const queryParam = `?isAdminInitiated=${isAdminInitiated}`; return await this.apiService.send( "DELETE", - basePath + hostPath + sponsoringOrganizationId + queryParam, + basePath + hostPath + sponsoringOrganizationId, + null, + true, + false, + ); + } + + async deleteAdminInitiatedRevokeSponsorship( + sponsoringOrganizationId: string, + sponsoredFriendlyName: string, + ): Promise { + const basePath = "/organization/sponsorship/"; + const hostPath = this.platformUtilsService.isSelfHost() ? "self-hosted/" : ""; + return await this.apiService.send( + "DELETE", + basePath + + hostPath + + sponsoringOrganizationId + + "/" + + encodeURIComponent(sponsoredFriendlyName) + + "/revoke", null, true, false,