1
0
mirror of https://github.com/bitwarden/browser.git synced 2024-12-02 13:23:29 +01:00

Revert "[AC-1423] Switch to AddonProductType enum instead of boolean"

This reverts commit 204f64b4e7.
This commit is contained in:
Shane Melton 2023-06-22 09:08:31 -07:00
parent 204f64b4e7
commit 6dd1616b5a
No known key found for this signature in database
4 changed files with 13 additions and 23 deletions

View File

@ -70,8 +70,10 @@
<ng-template body> <ng-template body>
<ng-container *ngIf="subscription"> <ng-container *ngIf="subscription">
<tr bitRow *ngFor="let i of lineItems"> <tr bitRow *ngFor="let i of lineItems">
<td bitCell [ngClass]="{ 'tw-pl-20': i.addonProduct != null }"> <td bitCell [ngClass]="{ 'tw-pl-20': i.addonSubscriptionItem }">
<span *ngIf="i.addonProduct == null">{{ productName(i.bitwardenProduct) }} -</span> <span *ngIf="!i.addonSubscriptionItem"
>{{ productName(i.bitwardenProduct) }} -</span
>
{{ i.name }} {{ i.quantity > 1 ? "&times;" + i.quantity : "" }} @ {{ i.name }} {{ i.quantity > 1 ? "&times;" + i.quantity : "" }} @
{{ i.amount | currency : "$" }} {{ i.amount | currency : "$" }}
</td> </td>

View File

@ -349,25 +349,22 @@ export class OrganizationSubscriptionCloudComponent implements OnInit, OnDestroy
} }
/** /**
* Helper to sort subscription items by product type and then by addon product type * Helper to sort subscription items by product type and then by addon status
*/ */
function sortSubscriptionItems( function sortSubscriptionItems(
a: BillingSubscriptionItemResponse, a: BillingSubscriptionItemResponse,
b: BillingSubscriptionItemResponse b: BillingSubscriptionItemResponse
) { ) {
if (a.bitwardenProduct == b.bitwardenProduct) { if (a.bitwardenProduct == b.bitwardenProduct) {
// Both are addon products, sort by enum value // sort addon items to the bottom
if (a.addonProduct != null && b.addonProduct != null) { if (a.addonSubscriptionItem == b.addonSubscriptionItem) {
return a.addonProduct - b.addonProduct; return 0;
} }
// 'a' is not an addon product, sort it to the bottom if (a.addonSubscriptionItem) {
if (a.addonProduct == null) { return 1;
return -1;
} }
return -1;
// 'a' is an addon product, sort it to the top
return 1;
} }
return a.bitwardenProduct - b.bitwardenProduct; return a.bitwardenProduct - b.bitwardenProduct;
} }

View File

@ -1,8 +0,0 @@
/**
* Used to identify the various types of "addon" products that can be added
* to an existing product subscription.
*/
export enum AddonProductType {
PasswordManager_Storage = 0,
SecretsManager_ServiceAccounts = 1,
}

View File

@ -1,5 +1,4 @@
import { BaseResponse } from "../../../models/response/base.response"; import { BaseResponse } from "../../../models/response/base.response";
import { AddonProductType } from "../../enums/addon-product-type.enum";
import { BitwardenProductType } from "../../enums/bitwarden-product-type.enum"; import { BitwardenProductType } from "../../enums/bitwarden-product-type.enum";
export class SubscriptionResponse extends BaseResponse { export class SubscriptionResponse extends BaseResponse {
@ -64,7 +63,7 @@ export class BillingSubscriptionItemResponse extends BaseResponse {
quantity: number; quantity: number;
interval: string; interval: string;
sponsoredSubscriptionItem: boolean; sponsoredSubscriptionItem: boolean;
addonProduct?: AddonProductType; addonSubscriptionItem: boolean;
bitwardenProduct: BitwardenProductType; bitwardenProduct: BitwardenProductType;
constructor(response: any) { constructor(response: any) {
@ -74,7 +73,7 @@ export class BillingSubscriptionItemResponse extends BaseResponse {
this.quantity = this.getResponseProperty("Quantity"); this.quantity = this.getResponseProperty("Quantity");
this.interval = this.getResponseProperty("Interval"); this.interval = this.getResponseProperty("Interval");
this.sponsoredSubscriptionItem = this.getResponseProperty("SponsoredSubscriptionItem"); this.sponsoredSubscriptionItem = this.getResponseProperty("SponsoredSubscriptionItem");
this.addonProduct = this.getResponseProperty("AddonProduct"); this.addonSubscriptionItem = this.getResponseProperty("AddonSubscriptionItem");
this.bitwardenProduct = this.getResponseProperty("BitwardenProduct"); this.bitwardenProduct = this.getResponseProperty("BitwardenProduct");
} }
} }