refactor(ticket): remove ticket status from list events and use assignment status for closure

This commit is contained in:
2026-06-30 19:30:44 +05:30
parent ea684fc9fe
commit 09ce57c9e0
7 changed files with 1 additions and 19 deletions

View File

@@ -49,7 +49,7 @@ function getTicketAction(ticket: TicketDetail) {
);
}
if (ticket.status === 'closed') {
if (ticket.assignment_status === 'approved' || ticket.assignment_status === 'rejected') {
return <ClosedTicketAction ticket={ticket} />;
}

View File

@@ -59,7 +59,6 @@ function shouldCountCreatedTicket(
event: TicketTableStatusEvent,
params?: TicketListParams,
) {
if (params?.status && event.status !== params.status) return false;
if (params?.chainage_id && event.chainage_id !== params.chainage_id) {
return false;
}
@@ -87,7 +86,6 @@ function buildTicketListItem(
if (
!event.id ||
!event.ticket_name ||
!event.status ||
event.detection_count === undefined ||
!event.updated_at
) {
@@ -99,7 +97,6 @@ function buildTicketListItem(
ticket_name: event.ticket_name,
chainage_id: event.chainage_id ?? null,
chainage_name: event.chainage_name ?? null,
status: event.status,
default_defect_class: event.default_defect_class ?? null,
assigned_to_name: event.assigned_to_name ?? null,
detection_count: event.detection_count,
@@ -118,7 +115,6 @@ function mergeTicketListItem(
ticket_name: event.ticket_name ?? current.ticket_name,
chainage_id: event.chainage_id ?? current.chainage_id,
chainage_name: event.chainage_name ?? current.chainage_name,
status: event.status ?? current.status,
default_defect_class:
event.default_defect_class ?? current.default_defect_class,
assigned_to_name: event.assigned_to_name ?? current.assigned_to_name,

View File

@@ -63,19 +63,11 @@ export function useTicketDetailEvents(
[refetchTicket],
);
const shouldStop = useCallback(
(eventName: keyof typeof events, event: unknown) =>
eventName === 'ticket_status' &&
(event as TicketDetailStatusEvent).status === 'closed',
[],
);
useSseWithToken({
enabled: Boolean(enabled && ticketId),
getToken,
getPath,
events,
reconnectOnEvents: TICKET_DETAIL_RECONNECT_EVENTS,
shouldStop,
});
}

View File

@@ -13,7 +13,6 @@ import type {
SubmitRepairUploadPayload,
TicketDetail,
TicketListParams,
TicketStatus,
} from '@/types';
import { ticketKeys } from '../queries/ticketKeys';

View File

@@ -25,7 +25,6 @@ export const ticketService = {
params: {
skip: params?.skip ?? 0,
limit: params?.limit ?? 10,
status: params?.status,
chainage_id: params?.chainage_id,
},
},

View File

@@ -13,7 +13,6 @@ export type TicketTableStatusEvent = {
ticket_name?: string;
chainage_id?: string | null;
chainage_name?: string | null;
status?: TicketStatus;
default_defect_class?: string | null;
assigned_to_name?: string | null;
detection_count?: number;

View File

@@ -1,8 +1,6 @@
import type { PaginationParams } from '../common';
import type { TicketStatus } from './status';
export interface TicketListParams extends PaginationParams {
status?: TicketStatus;
chainage_id?: string;
}
@@ -11,7 +9,6 @@ export interface TicketListItem {
ticket_name: string;
chainage_id: string | null;
chainage_name: string | null;
status: TicketStatus;
default_defect_class: string | null;
assigned_to_name: string | null;
detection_count: number;