From f893226fc8a7569561d9eafcc357c0becd6c422c Mon Sep 17 00:00:00 2001 From: Matt Krick Date: Thu, 30 Jan 2025 15:02:29 -0800 Subject: [PATCH] fix: hide deleted and voided invoices (#10770) Signed-off-by: Matt Krick --- .../server/graphql/public/fields/invoices.ts | 28 +++++++++++-------- 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/packages/server/graphql/public/fields/invoices.ts b/packages/server/graphql/public/fields/invoices.ts index c1eee29a95e..7d34eb2554d 100644 --- a/packages/server/graphql/public/fields/invoices.ts +++ b/packages/server/graphql/public/fields/invoices.ts @@ -62,18 +62,22 @@ export const invoices: NonNullable = async ( status: 'UPCOMING' } - const parabolPastInvoices: Invoice[] = invoices.data.map((stripeInvoice) => { - const {id, period_end, total, status: stripeStatus} = stripeInvoice - const status: InvoiceStatusEnum = - stripeStatus === 'uncollectible' ? 'FAILED' : stripeStatus === 'paid' ? 'PAID' : 'PENDING' - return { - id, - periodEndAt: fromEpochSeconds(period_end!), - total, - payUrl: session.url, - status - } - }) + const parabolPastInvoices: Invoice[] = invoices.data + .filter(({status}) => { + return status !== 'deleted' && status !== 'void' + }) + .map((stripeInvoice) => { + const {id, period_end, total, status: stripeStatus} = stripeInvoice + const status: InvoiceStatusEnum = + stripeStatus === 'uncollectible' ? 'FAILED' : stripeStatus === 'paid' ? 'PAID' : 'PENDING' + return { + id, + periodEndAt: fromEpochSeconds(period_end!), + total, + payUrl: session.url, + status + } + }) const edges = [parabolUpcomingInvoice, ...parabolPastInvoices].map((node) => ({ cursor: node.periodEndAt, node