47 lines
1.6 KiB
TypeScript
47 lines
1.6 KiB
TypeScript
import type {
|
|
DetectionCoordinatesParams,
|
|
TicketListParams,
|
|
VideoDetectionsParams,
|
|
} from '@/types';
|
|
|
|
export const ticketKeys = {
|
|
all: ['tickets'] as const,
|
|
lists: () => [...ticketKeys.all, 'list'] as const,
|
|
list: (params: TicketListParams) => [...ticketKeys.lists(), params] as const,
|
|
details: () => [...ticketKeys.all, 'detail'] as const,
|
|
overview: (ticketId: string) =>
|
|
[...ticketKeys.details(), ticketId, 'overview'] as const,
|
|
timeline: (ticketId: string) =>
|
|
[...ticketKeys.details(), ticketId, 'timeline'] as const,
|
|
classDetectionLists: (videoId: string) =>
|
|
[...ticketKeys.details(), 'video', videoId, 'detections'] as const,
|
|
classDetections: (videoId: string, params: VideoDetectionsParams) =>
|
|
[...ticketKeys.classDetectionLists(videoId), params] as const,
|
|
detectionCoordinateLists: (videoId: string) =>
|
|
[
|
|
...ticketKeys.details(),
|
|
'video',
|
|
videoId,
|
|
'detection-coordinates',
|
|
] as const,
|
|
detectionCoordinates: (videoId: string, params: DetectionCoordinatesParams) =>
|
|
[...ticketKeys.detectionCoordinateLists(videoId), params] as const,
|
|
reviewDetections: (videoId: string, proofStatus?: string) =>
|
|
[
|
|
...ticketKeys.classDetectionLists(videoId),
|
|
'review',
|
|
proofStatus ?? 'all',
|
|
] as const,
|
|
assignments: (ticketId: string) =>
|
|
[...ticketKeys.details(), ticketId, 'assignments'] as const,
|
|
extensionRequest: (ticketId: string, assignmentId: number | undefined) =>
|
|
[
|
|
...ticketKeys.details(),
|
|
ticketId,
|
|
'assignments',
|
|
assignmentId,
|
|
'extension-request',
|
|
] as const,
|
|
assignableUsers: () => [...ticketKeys.all, 'assignable-users'] as const,
|
|
};
|