From f01f747c9bb392cdee27d7940895096a0d9b66d7 Mon Sep 17 00:00:00 2001 From: Tymoteusz Czech <2625371+Tymek@users.noreply.github.com> Date: Tue, 7 Oct 2025 12:27:54 +0200 Subject: [PATCH] chore: update openapi (#10747) --- .../BillingInvoice/BillingInvoice.tsx | 8 +++---- .../BillingInvoices/BillingInvoices.tsx | 4 +--- .../useDetailedInvoices.ts | 22 ++++++++++++++----- ...sItem.ts => detailedInvoicesLineSchema.ts} | 7 +++--- .../models/detailedInvoicesResponseSchema.ts | 15 ------------- .../openapi/models/detailedInvoicesSchema.ts | 14 ++++++++++++ ... => detailedInvoicesSchemaInvoicesItem.ts} | 11 +++++----- frontend/src/openapi/models/index.ts | 6 ++--- 8 files changed, 48 insertions(+), 39 deletions(-) rename frontend/src/openapi/models/{detailedInvoicesResponseSchemaInvoicesItemLinesItem.ts => detailedInvoicesLineSchema.ts} (78%) delete mode 100644 frontend/src/openapi/models/detailedInvoicesResponseSchema.ts create mode 100644 frontend/src/openapi/models/detailedInvoicesSchema.ts rename frontend/src/openapi/models/{detailedInvoicesResponseSchemaInvoicesItem.ts => detailedInvoicesSchemaInvoicesItem.ts} (60%) diff --git a/frontend/src/component/admin/billing/BillingInvoices/BillingInvoice/BillingInvoice.tsx b/frontend/src/component/admin/billing/BillingInvoices/BillingInvoice/BillingInvoice.tsx index 8d0eb1e7e1..12b26c9be3 100644 --- a/frontend/src/component/admin/billing/BillingInvoices/BillingInvoice/BillingInvoice.tsx +++ b/frontend/src/component/admin/billing/BillingInvoices/BillingInvoice/BillingInvoice.tsx @@ -9,7 +9,7 @@ import ExpandMoreIcon from '@mui/icons-material/ExpandMore'; import { formatCurrency } from './types.ts'; import { Badge } from 'component/common/Badge/Badge.tsx'; import type { FC, ReactNode } from 'react'; -import type { DetailedInvoicesResponseSchemaInvoicesItem } from 'openapi/index.ts'; +import type { DetailedInvoicesSchemaInvoicesItem } from 'openapi/index.ts'; import { BillingInvoiceRow } from './BillingInvoiceRow/BillingInvoiceRow.tsx'; import { BillingInvoiceFooter } from './BillingInvoiceFooter/BillingInvoiceFooter.tsx'; import { StyledSubgrid } from './BillingInvoice.styles.tsx'; @@ -146,8 +146,8 @@ export const BillingInvoice = ({ invoicePDF, invoiceURL, totalAmount, - lines, -}: DetailedInvoicesResponseSchemaInvoicesItem) => { + mainLines, +}: DetailedInvoicesSchemaInvoicesItem) => { const title = invoiceDate ? new Date(invoiceDate).toLocaleDateString(undefined, { month: 'long', @@ -198,7 +198,7 @@ export const BillingInvoice = ({ Quantity Amount - {lines.map((line) => ( + {mainLines.map((line) => ( ({ marginBottom: theme.spacing(2), })); -type BillingInvoicesProps = {}; - -export const BillingInvoices: FC = () => { +export const BillingInvoices: FC = () => { const { invoices } = useDetailedInvoices(); return ( diff --git a/frontend/src/hooks/api/getters/useDetailedInvoices/useDetailedInvoices.ts b/frontend/src/hooks/api/getters/useDetailedInvoices/useDetailedInvoices.ts index 656b28f04f..e195792117 100644 --- a/frontend/src/hooks/api/getters/useDetailedInvoices/useDetailedInvoices.ts +++ b/frontend/src/hooks/api/getters/useDetailedInvoices/useDetailedInvoices.ts @@ -2,7 +2,7 @@ import useSWR, { type SWRConfiguration } from 'swr'; import { useMemo } from 'react'; import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler.js'; -import type { DetailedInvoicesResponseSchema } from 'openapi'; +import type { DetailedInvoicesSchema } from 'openapi'; const KEY = `api/admin/invoices/list`; const path = formatApiPath(KEY); @@ -13,7 +13,7 @@ export const useDetailedInvoices = (options: SWRConfiguration = {}) => { .then(handleErrorResponses('Detailed invoices')) .then((res) => res.json()); - const { data, error, isLoading } = useSWR( + const { data, error, isLoading } = useSWR( KEY, fetcher, options, @@ -32,8 +32,17 @@ export const useDetailedInvoices = (options: SWRConfiguration = {}) => { invoiceDate: '2023-08-01', invoicePDF: 'https://example.com/invoice/1.pdf', invoiceURL: 'https://example.com/invoice/1', - totalAmount: 100, - lines: [ + totalAmount: 400, + mainLines: [ + { + currency: 'USD', + description: 'Service C', + lookupKey: 'service-c', + quantity: 1, + totalAmount: 200, + }, + ], + usageLines: [ { currency: 'USD', description: 'Service A', @@ -58,7 +67,7 @@ export const useDetailedInvoices = (options: SWRConfiguration = {}) => { invoicePDF: 'https://example.com/invoice/2.pdf', invoiceURL: 'https://example.com/invoice/2', totalAmount: 200, - lines: [ + mainLines: [ { currency: 'USD', description: 'Service C', @@ -67,8 +76,9 @@ export const useDetailedInvoices = (options: SWRConfiguration = {}) => { totalAmount: 200, }, ], + usageLines: [], }, - ], + ] satisfies DetailedInvoicesSchema['invoices'], error, loading: isLoading, }; diff --git a/frontend/src/openapi/models/detailedInvoicesResponseSchemaInvoicesItemLinesItem.ts b/frontend/src/openapi/models/detailedInvoicesLineSchema.ts similarity index 78% rename from frontend/src/openapi/models/detailedInvoicesResponseSchemaInvoicesItemLinesItem.ts rename to frontend/src/openapi/models/detailedInvoicesLineSchema.ts index cc9ce2e8eb..56465da8f0 100644 --- a/frontend/src/openapi/models/detailedInvoicesResponseSchemaInvoicesItemLinesItem.ts +++ b/frontend/src/openapi/models/detailedInvoicesLineSchema.ts @@ -4,7 +4,9 @@ * See `gen:api` script in package.json */ -export type DetailedInvoicesResponseSchemaInvoicesItemLinesItem = { +export interface DetailedInvoicesLineSchema { + /** Optional consumption associated with the line item */ + consumption?: number; /** Currency code */ currency: string; /** Description of the line item */ @@ -17,5 +19,4 @@ export type DetailedInvoicesResponseSchemaInvoicesItemLinesItem = { quantity: number; /** Total amount for this line item in minor currency units */ totalAmount: number; - [key: string]: unknown; -}; +} diff --git a/frontend/src/openapi/models/detailedInvoicesResponseSchema.ts b/frontend/src/openapi/models/detailedInvoicesResponseSchema.ts deleted file mode 100644 index ff372de399..0000000000 --- a/frontend/src/openapi/models/detailedInvoicesResponseSchema.ts +++ /dev/null @@ -1,15 +0,0 @@ -/** - * Generated by Orval - * Do not edit manually. - * See `gen:api` script in package.json - */ -import type { DetailedInvoicesResponseSchemaInvoicesItem } from './detailedInvoicesResponseSchemaInvoicesItem.js'; - -/** - * Detailed invoices response with nested line items - */ -export interface DetailedInvoicesResponseSchema { - /** List of invoices with their line items */ - invoices: DetailedInvoicesResponseSchemaInvoicesItem[]; - [key: string]: unknown; -} diff --git a/frontend/src/openapi/models/detailedInvoicesSchema.ts b/frontend/src/openapi/models/detailedInvoicesSchema.ts new file mode 100644 index 0000000000..d5bc0e413c --- /dev/null +++ b/frontend/src/openapi/models/detailedInvoicesSchema.ts @@ -0,0 +1,14 @@ +/** + * Generated by Orval + * Do not edit manually. + * See `gen:api` script in package.json + */ +import type { DetailedInvoicesSchemaInvoicesItem } from './detailedInvoicesSchemaInvoicesItem.js'; + +/** + * Detailed invoices response with nested line items + */ +export interface DetailedInvoicesSchema { + /** List of invoices with their line items */ + invoices: DetailedInvoicesSchemaInvoicesItem[]; +} diff --git a/frontend/src/openapi/models/detailedInvoicesResponseSchemaInvoicesItem.ts b/frontend/src/openapi/models/detailedInvoicesSchemaInvoicesItem.ts similarity index 60% rename from frontend/src/openapi/models/detailedInvoicesResponseSchemaInvoicesItem.ts rename to frontend/src/openapi/models/detailedInvoicesSchemaInvoicesItem.ts index 6aba455fe0..45bda253cc 100644 --- a/frontend/src/openapi/models/detailedInvoicesResponseSchemaInvoicesItem.ts +++ b/frontend/src/openapi/models/detailedInvoicesSchemaInvoicesItem.ts @@ -3,9 +3,9 @@ * Do not edit manually. * See `gen:api` script in package.json */ -import type { DetailedInvoicesResponseSchemaInvoicesItemLinesItem } from './detailedInvoicesResponseSchemaInvoicesItemLinesItem.js'; +import type { DetailedInvoicesLineSchema } from './detailedInvoicesLineSchema.js'; -export type DetailedInvoicesResponseSchemaInvoicesItem = { +export type DetailedInvoicesSchemaInvoicesItem = { /** When the invoice is due */ dueDate?: string; /** When the invoice was created */ @@ -14,11 +14,12 @@ export type DetailedInvoicesResponseSchemaInvoicesItem = { invoicePDF?: string; /** A URL pointing to where the invoice can be found. */ invoiceURL?: string; - /** Line items included in the invoice */ - lines: DetailedInvoicesResponseSchemaInvoicesItemLinesItem[]; + /** Primary line items (packages, seats, etc.) */ + mainLines: DetailedInvoicesLineSchema[]; /** The current status of the invoice */ status: string; /** Total amount for the invoice in minor currency units */ totalAmount: number; - [key: string]: unknown; + /** Usage line items (traffic, consumption usage, overages) */ + usageLines: DetailedInvoicesLineSchema[]; }; diff --git a/frontend/src/openapi/models/index.ts b/frontend/src/openapi/models/index.ts index c9c7057eea..a27045cfbb 100644 --- a/frontend/src/openapi/models/index.ts +++ b/frontend/src/openapi/models/index.ts @@ -604,9 +604,9 @@ export * from './dependentFeatureSchema.js'; export * from './deprecateStrategy401.js'; export * from './deprecateStrategy403.js'; export * from './deprecateStrategy404.js'; -export * from './detailedInvoicesResponseSchema.js'; -export * from './detailedInvoicesResponseSchemaInvoicesItem.js'; -export * from './detailedInvoicesResponseSchemaInvoicesItemLinesItem.js'; +export * from './detailedInvoicesLineSchema.js'; +export * from './detailedInvoicesSchema.js'; +export * from './detailedInvoicesSchemaInvoicesItem.js'; export * from './disableBanner401.js'; export * from './disableBanner403.js'; export * from './disableBanner404.js';