feat(tickets): handle refunded ticket states

This commit is contained in:
2026-09-10 16:10:54 -03:00
parent 6545be498f
commit e9aae7a4c3
3 changed files with 9 additions and 4 deletions

View File

@@ -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: {

View File

@@ -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<TicketResponse[]> {
return firstValueFrom(
this.http.get<{ data: TicketResponse[] }>(
`${this.tenantService.getTenantApiUrl()}/tickets`,
),
this.http.get<{ data: TicketResponse[] }>(`${this.tenantService.getTenantApiUrl()}/tickets`),
).then((response) => response.data ?? []);
}

View File

@@ -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 {