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} />; return <ClosedTicketAction ticket={ticket} />;
} }

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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