feat(ticket): add assignment lots card to ticket detail
This commit is contained in:
@@ -9,6 +9,8 @@ import type {
|
||||
ReviewTicketExtensionPayload,
|
||||
SseTokenResponse,
|
||||
TicketDetail,
|
||||
TicketAssignmentSummary,
|
||||
TicketAssignmentsResponse,
|
||||
TicketExtensionRequestsResponse,
|
||||
TicketOverviewDetail,
|
||||
TicketDefectClassesResponse,
|
||||
@@ -16,6 +18,14 @@ import type {
|
||||
TicketListResponse,
|
||||
} from '@/types';
|
||||
|
||||
type TicketAssignmentsApiResponse =
|
||||
| TicketAssignmentSummary[]
|
||||
| TicketAssignmentsResponse
|
||||
| {
|
||||
assignments: TicketAssignmentSummary[];
|
||||
total?: number;
|
||||
};
|
||||
|
||||
export const ticketService = {
|
||||
getTickets: async (
|
||||
params?: TicketListParams,
|
||||
@@ -80,14 +90,36 @@ export const ticketService = {
|
||||
assignTicket: async (
|
||||
ticketId: string,
|
||||
payload: AssignTicketPayload,
|
||||
): Promise<TicketDetail> => {
|
||||
const response = await axiosClient.post<TicketDetail>(
|
||||
): Promise<TicketAssignmentSummary> => {
|
||||
const response = await axiosClient.post<TicketAssignmentSummary>(
|
||||
API_ROUTES.TICKETS.ASSIGNMENTS(ticketId),
|
||||
payload,
|
||||
);
|
||||
return response.data;
|
||||
},
|
||||
|
||||
getTicketAssignments: async (
|
||||
ticketId: string,
|
||||
): Promise<TicketAssignmentsResponse> => {
|
||||
const response = await axiosClient.get<TicketAssignmentsApiResponse>(
|
||||
API_ROUTES.TICKETS.ASSIGNMENTS(ticketId),
|
||||
);
|
||||
const data = response.data;
|
||||
|
||||
if (Array.isArray(data)) {
|
||||
return { items: data, total: data.length };
|
||||
}
|
||||
|
||||
if ('assignments' in data) {
|
||||
return {
|
||||
items: data.assignments,
|
||||
total: data.total ?? data.assignments.length,
|
||||
};
|
||||
}
|
||||
|
||||
return data;
|
||||
},
|
||||
|
||||
requestTicketExtension: async (
|
||||
ticketId: string,
|
||||
assignmentId: number,
|
||||
|
||||
Reference in New Issue
Block a user