refactor(ticket): remove defect-classes endpoint and related hooks
This commit is contained in:
@@ -32,9 +32,6 @@ export function useTicketDetailEvents(
|
|||||||
queryClient.refetchQueries({
|
queryClient.refetchQueries({
|
||||||
queryKey: ticketKeys.timeline(ticketId),
|
queryKey: ticketKeys.timeline(ticketId),
|
||||||
});
|
});
|
||||||
queryClient.invalidateQueries({
|
|
||||||
queryKey: ticketKeys.defectClasses(ticketId),
|
|
||||||
});
|
|
||||||
queryClient.invalidateQueries({ queryKey: ticketKeys.lists() });
|
queryClient.invalidateQueries({ queryKey: ticketKeys.lists() });
|
||||||
}, [queryClient, ticketId]);
|
}, [queryClient, ticketId]);
|
||||||
|
|
||||||
|
|||||||
@@ -77,14 +77,6 @@ export function useTicketTimelineQuery(ticketId: string | undefined) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
export function useTicketDefectClassesQuery(ticketId: string | undefined) {
|
|
||||||
return useQuery({
|
|
||||||
queryKey: ticketKeys.defectClasses(ticketId ?? ''),
|
|
||||||
queryFn: () => ticketService.getTicketDefectClasses(ticketId as string),
|
|
||||||
enabled: Boolean(ticketId),
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
export function useTicketAssignmentsQuery(
|
export function useTicketAssignmentsQuery(
|
||||||
ticketId: string | undefined,
|
ticketId: string | undefined,
|
||||||
initialAssignments?: TicketAssignmentSummary[],
|
initialAssignments?: TicketAssignmentSummary[],
|
||||||
@@ -231,9 +223,6 @@ export function useDiscardDetectionMutation(
|
|||||||
queryClient.invalidateQueries({
|
queryClient.invalidateQueries({
|
||||||
queryKey: ticketKeys.overview(ticketId),
|
queryKey: ticketKeys.overview(ticketId),
|
||||||
}),
|
}),
|
||||||
queryClient.invalidateQueries({
|
|
||||||
queryKey: ticketKeys.defectClasses(ticketId),
|
|
||||||
}),
|
|
||||||
queryClient.invalidateQueries({ queryKey: ticketKeys.lists() }),
|
queryClient.invalidateQueries({ queryKey: ticketKeys.lists() }),
|
||||||
queryClient.invalidateQueries({
|
queryClient.invalidateQueries({
|
||||||
queryKey: ticketKeys.assignments(ticketId),
|
queryKey: ticketKeys.assignments(ticketId),
|
||||||
@@ -274,9 +263,6 @@ export function useReviewDetectionRepairProofMutation({
|
|||||||
queryKey: ticketKeys.classDetectionLists(videoId),
|
queryKey: ticketKeys.classDetectionLists(videoId),
|
||||||
})
|
})
|
||||||
: Promise.resolve(),
|
: Promise.resolve(),
|
||||||
queryClient.invalidateQueries({
|
|
||||||
queryKey: ticketKeys.defectClasses(ticketId),
|
|
||||||
}),
|
|
||||||
queryClient.invalidateQueries({
|
queryClient.invalidateQueries({
|
||||||
queryKey: ticketKeys.overview(ticketId),
|
queryKey: ticketKeys.overview(ticketId),
|
||||||
}),
|
}),
|
||||||
|
|||||||
@@ -32,8 +32,6 @@ export const ticketKeys = {
|
|||||||
'review',
|
'review',
|
||||||
proofStatus ?? 'all',
|
proofStatus ?? 'all',
|
||||||
] as const,
|
] as const,
|
||||||
defectClasses: (ticketId: string) =>
|
|
||||||
[...ticketKeys.details(), ticketId, 'defect-classes'] as const,
|
|
||||||
assignments: (ticketId: string) =>
|
assignments: (ticketId: string) =>
|
||||||
[...ticketKeys.details(), ticketId, 'assignments'] as const,
|
[...ticketKeys.details(), ticketId, 'assignments'] as const,
|
||||||
extensionRequest: (ticketId: string, assignmentId: number | undefined) =>
|
extensionRequest: (ticketId: string, assignmentId: number | undefined) =>
|
||||||
|
|||||||
@@ -66,7 +66,6 @@ export const API_ROUTES = {
|
|||||||
BASE: '/biz/api/v1/tickets',
|
BASE: '/biz/api/v1/tickets',
|
||||||
DETAIL: (id: string) => `/biz/api/v1/tickets/${id}`,
|
DETAIL: (id: string) => `/biz/api/v1/tickets/${id}`,
|
||||||
TIMELINE: (id: string) => `/biz/api/v1/tickets/${id}/timeline`,
|
TIMELINE: (id: string) => `/biz/api/v1/tickets/${id}/timeline`,
|
||||||
DEFECT_CLASSES: (id: string) => `/biz/api/v1/tickets/${id}/defect-classes`,
|
|
||||||
ASSIGNMENTS: (id: string) => `/biz/api/v1/tickets/${id}/assignments`,
|
ASSIGNMENTS: (id: string) => `/biz/api/v1/tickets/${id}/assignments`,
|
||||||
REQUEST_EXTENSION: (ticketId: string, assignmentId: number) =>
|
REQUEST_EXTENSION: (ticketId: string, assignmentId: number) =>
|
||||||
`/biz/api/v1/tickets/${ticketId}/assignments/${assignmentId}/extension-requests`,
|
`/biz/api/v1/tickets/${ticketId}/assignments/${assignmentId}/extension-requests`,
|
||||||
|
|||||||
@@ -1,35 +0,0 @@
|
|||||||
import type { TicketDefectClassTicketStatus } from '@/types';
|
|
||||||
|
|
||||||
export const DEFECT_CLASS_STATUS_CONFIG: Record<
|
|
||||||
TicketDefectClassTicketStatus,
|
|
||||||
{
|
|
||||||
label: string;
|
|
||||||
badgeClassName: string;
|
|
||||||
}
|
|
||||||
> = {
|
|
||||||
unassigned: {
|
|
||||||
label: 'Unassigned',
|
|
||||||
badgeClassName:
|
|
||||||
'bg-zinc-500/15 text-zinc-600 dark:bg-zinc-500/20 dark:text-zinc-300',
|
|
||||||
},
|
|
||||||
assigned: {
|
|
||||||
label: 'Assigned',
|
|
||||||
badgeClassName:
|
|
||||||
'bg-red-500/15 text-red-600 dark:bg-red-500/20 dark:text-red-400',
|
|
||||||
},
|
|
||||||
under_review: {
|
|
||||||
label: 'Under Review',
|
|
||||||
badgeClassName:
|
|
||||||
'bg-violet-500/15 text-violet-600 dark:bg-violet-500/20 dark:text-violet-400',
|
|
||||||
},
|
|
||||||
approved: {
|
|
||||||
label: 'Approved',
|
|
||||||
badgeClassName:
|
|
||||||
'bg-emerald-500/15 text-emerald-600 dark:bg-emerald-500/20 dark:text-emerald-400',
|
|
||||||
},
|
|
||||||
rejected: {
|
|
||||||
label: 'Rejected',
|
|
||||||
badgeClassName:
|
|
||||||
'bg-orange-500/15 text-orange-600 dark:bg-orange-500/20 dark:text-orange-400',
|
|
||||||
},
|
|
||||||
};
|
|
||||||
@@ -13,7 +13,6 @@ import type {
|
|||||||
TicketExtensionRequestsResponse,
|
TicketExtensionRequestsResponse,
|
||||||
TicketExtensionRequestsParams,
|
TicketExtensionRequestsParams,
|
||||||
TicketOverviewDetail,
|
TicketOverviewDetail,
|
||||||
TicketDefectClassesResponse,
|
|
||||||
TicketListParams,
|
TicketListParams,
|
||||||
TicketListResponse,
|
TicketListResponse,
|
||||||
TicketTimelineResponse,
|
TicketTimelineResponse,
|
||||||
@@ -62,15 +61,6 @@ export const ticketService = {
|
|||||||
return response.data;
|
return response.data;
|
||||||
},
|
},
|
||||||
|
|
||||||
getTicketDefectClasses: async (
|
|
||||||
ticketId: string,
|
|
||||||
): Promise<TicketDefectClassesResponse> => {
|
|
||||||
const response = await axiosClient.get<TicketDefectClassesResponse>(
|
|
||||||
API_ROUTES.TICKETS.DEFECT_CLASSES(ticketId),
|
|
||||||
);
|
|
||||||
return response.data;
|
|
||||||
},
|
|
||||||
|
|
||||||
getAssignableUsers: async (
|
getAssignableUsers: async (
|
||||||
params?: AssignableTicketUsersParams,
|
params?: AssignableTicketUsersParams,
|
||||||
): Promise<AssignableTicketUsersResponse> => {
|
): Promise<AssignableTicketUsersResponse> => {
|
||||||
|
|||||||
@@ -1,19 +0,0 @@
|
|||||||
export type TicketDefectClassTicketStatus =
|
|
||||||
| 'unassigned'
|
|
||||||
| 'assigned'
|
|
||||||
| 'under_review'
|
|
||||||
| 'approved'
|
|
||||||
| 'rejected';
|
|
||||||
|
|
||||||
export interface TicketDefectClassItem {
|
|
||||||
class_name: string;
|
|
||||||
display_name: string;
|
|
||||||
assignment_status: TicketDefectClassTicketStatus;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface TicketDefectClassesResponse {
|
|
||||||
ticket_id: string;
|
|
||||||
video_id: string;
|
|
||||||
ticket_status: TicketDefectClassTicketStatus;
|
|
||||||
defect_classes: TicketDefectClassItem[];
|
|
||||||
}
|
|
||||||
@@ -2,6 +2,5 @@ export * from './status';
|
|||||||
export * from './list';
|
export * from './list';
|
||||||
export * from './detail';
|
export * from './detail';
|
||||||
export * from './actions';
|
export * from './actions';
|
||||||
export * from './defect-class';
|
|
||||||
export * from './events';
|
export * from './events';
|
||||||
export * from './timeline';
|
export * from './timeline';
|
||||||
|
|||||||
Reference in New Issue
Block a user