From e9aae7a4c39dca00d4233653f86c4cfda1aec9a5 Mon Sep 17 00:00:00 2001 From: ncoronel Date: Thu, 10 Sep 2026 16:10:54 -0300 Subject: [PATCH] feat(tickets): handle refunded ticket states --- src/app/core/services/checkout.service.ts | 1 + .../pages/account-page/pages/tickets-page/ticket.service.ts | 6 +++--- .../pages/account-page/pages/tickets-page/tickets-page.ts | 6 +++++- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/app/core/services/checkout.service.ts b/src/app/core/services/checkout.service.ts index 4cad0da..fac3d96 100644 --- a/src/app/core/services/checkout.service.ts +++ b/src/app/core/services/checkout.service.ts @@ -115,6 +115,7 @@ export interface PurchaseDetailItemResponse { quantity: number; unit_price: string; line_total: string; + refunded_amount?: string; source_catalog_item_id: number | null; source_variant_id: number | null; item_details: { diff --git a/src/app/features/store/pages/account-page/pages/tickets-page/ticket.service.ts b/src/app/features/store/pages/account-page/pages/tickets-page/ticket.service.ts index 3c97e50..2e73168 100644 --- a/src/app/features/store/pages/account-page/pages/tickets-page/ticket.service.ts +++ b/src/app/features/store/pages/account-page/pages/tickets-page/ticket.service.ts @@ -15,6 +15,8 @@ export interface TicketResponse { starts_at: string | null; expires_at: string | null; used_at: string | null; + status?: 'active' | 'expired' | 'used' | 'disabled' | 'cancelled' | 'refunded'; + status_label?: string; is_valid: boolean; is_expired: boolean; is_used: boolean; @@ -26,9 +28,7 @@ export class TicketService extends BaseApiService { getTickets(): Promise { return firstValueFrom( - this.http.get<{ data: TicketResponse[] }>( - `${this.tenantService.getTenantApiUrl()}/tickets`, - ), + this.http.get<{ data: TicketResponse[] }>(`${this.tenantService.getTenantApiUrl()}/tickets`), ).then((response) => response.data ?? []); } diff --git a/src/app/features/store/pages/account-page/pages/tickets-page/tickets-page.ts b/src/app/features/store/pages/account-page/pages/tickets-page/tickets-page.ts index a1f4ad3..affdf19 100644 --- a/src/app/features/store/pages/account-page/pages/tickets-page/tickets-page.ts +++ b/src/app/features/store/pages/account-page/pages/tickets-page/tickets-page.ts @@ -63,7 +63,11 @@ export class TicketsPage implements OnInit { } protected isInactive(ticket: TicketResponse): boolean { - return ticket.is_expired || ticket.is_used; + return ( + (ticket.status !== undefined && ticket.status !== 'active') || + ticket.is_expired || + ticket.is_used + ); } protected formatDate(ticket: TicketResponse): string | null {