diff --git a/apps/web/src/app/billing/organizations/organization-billing-history-view.component.ts b/apps/web/src/app/billing/organizations/organization-billing-history-view.component.ts index 78872aa6a99..cd293452001 100644 --- a/apps/web/src/app/billing/organizations/organization-billing-history-view.component.ts +++ b/apps/web/src/app/billing/organizations/organization-billing-history-view.component.ts @@ -44,7 +44,7 @@ export class OrgBillingHistoryViewComponent implements OnInit, OnDestroy { return; } this.loading = true; - this.billing = await this.organizationApiService.getBilling(this.organizationId); + this.billing = await this.organizationApiService.getBillingHistory(this.organizationId); this.loading = false; } } diff --git a/libs/common/src/admin-console/abstractions/organization/organization-api.service.abstraction.ts b/libs/common/src/admin-console/abstractions/organization/organization-api.service.abstraction.ts index 28b108fa4cc..e66fc0cf12a 100644 --- a/libs/common/src/admin-console/abstractions/organization/organization-api.service.abstraction.ts +++ b/libs/common/src/admin-console/abstractions/organization/organization-api.service.abstraction.ts @@ -1,3 +1,5 @@ +import { BillingHistoryResponse } from "@bitwarden/common/billing/models/response/billing-history.response"; + import { OrganizationApiKeyRequest } from "../../../admin-console/models/request/organization-api-key.request"; import { OrganizationSsoRequest } from "../../../auth/models/request/organization-sso.request"; import { SecretVerificationRequest } from "../../../auth/models/request/secret-verification.request"; @@ -33,6 +35,7 @@ import { ProfileOrganizationResponse } from "../../models/response/profile-organ export class OrganizationApiServiceAbstraction { get: (id: string) => Promise; getBilling: (id: string) => Promise; + getBillingHistory: (id: string) => Promise; getSubscription: (id: string) => Promise; getLicense: (id: string, installationId: string) => Promise; getAutoEnrollStatus: (identifier: string) => Promise; diff --git a/libs/common/src/admin-console/services/organization/organization-api.service.ts b/libs/common/src/admin-console/services/organization/organization-api.service.ts index 13d8eb7bff7..2ff4f2321a3 100644 --- a/libs/common/src/admin-console/services/organization/organization-api.service.ts +++ b/libs/common/src/admin-console/services/organization/organization-api.service.ts @@ -1,3 +1,5 @@ +import { BillingHistoryResponse } from "@bitwarden/common/billing/models/response/billing-history.response"; + import { ApiService } from "../../../abstractions/api.service"; import { OrganizationApiKeyRequest } from "../../../admin-console/models/request/organization-api-key.request"; import { OrganizationSsoRequest } from "../../../auth/models/request/organization-sso.request"; @@ -55,6 +57,17 @@ export class OrganizationApiService implements OrganizationApiServiceAbstraction return new BillingResponse(r); } + async getBillingHistory(id: string): Promise { + const r = await this.apiService.send( + "GET", + "/organizations/" + id + "/billing/history", + null, + true, + true, + ); + return new BillingHistoryResponse(r); + } + async getSubscription(id: string): Promise { const r = await this.apiService.send( "GET", diff --git a/libs/common/src/billing/models/response/billing.response.ts b/libs/common/src/billing/models/response/billing.response.ts index 440c32be0fc..45d3cf1e67e 100644 --- a/libs/common/src/billing/models/response/billing.response.ts +++ b/libs/common/src/billing/models/response/billing.response.ts @@ -4,26 +4,12 @@ import { PaymentMethodType, TransactionType } from "../../enums"; export class BillingResponse extends BaseResponse { balance: number; paymentSource: BillingSourceResponse; - invoices: BillingInvoiceResponse[] = []; - transactions: BillingTransactionResponse[] = []; constructor(response: any) { super(response); this.balance = this.getResponseProperty("Balance"); const paymentSource = this.getResponseProperty("PaymentSource"); - const transactions = this.getResponseProperty("Transactions"); - const invoices = this.getResponseProperty("Invoices"); this.paymentSource = paymentSource == null ? null : new BillingSourceResponse(paymentSource); - if (transactions != null) { - this.transactions = transactions.map((t: any) => new BillingTransactionResponse(t)); - } - if (invoices != null) { - this.invoices = invoices.map((i: any) => new BillingInvoiceResponse(i)); - } - } - - get hasNoHistory() { - return this.invoices.length == 0 && this.transactions.length == 0; } }