feat(ticket): refine repair report and history timeline UI
This commit is contained in:
@@ -3,9 +3,11 @@ import { API_ROUTES } from '@/constants/apiRoutes';
|
||||
import type {
|
||||
AssignTicketPayload,
|
||||
AssignableTicketUsersResponse,
|
||||
AssignableTicketUsersParams,
|
||||
ReviewRepairPayload,
|
||||
SseTokenResponse,
|
||||
SubmitRepairPayload,
|
||||
SubmitRepairUploadPayload,
|
||||
TicketDetail,
|
||||
TicketListParams,
|
||||
TicketListResponse,
|
||||
@@ -36,9 +38,18 @@ export const ticketService = {
|
||||
return response.data;
|
||||
},
|
||||
|
||||
getAssignableUsers: async (): Promise<AssignableTicketUsersResponse> => {
|
||||
getAssignableUsers: async (
|
||||
params?: AssignableTicketUsersParams,
|
||||
): Promise<AssignableTicketUsersResponse> => {
|
||||
const response = await axiosClient.get<AssignableTicketUsersResponse>(
|
||||
API_ROUTES.TICKETS.ASSIGNABLE_USERS,
|
||||
{
|
||||
params: {
|
||||
skip: params?.skip ?? 0,
|
||||
limit: params?.limit ?? 20,
|
||||
search_term: params?.search_term,
|
||||
},
|
||||
},
|
||||
);
|
||||
return response.data;
|
||||
},
|
||||
@@ -72,6 +83,29 @@ export const ticketService = {
|
||||
return response.data;
|
||||
},
|
||||
|
||||
submitRepairUpload: async (
|
||||
ticketId: string,
|
||||
payload: SubmitRepairUploadPayload,
|
||||
): Promise<TicketDetail> => {
|
||||
const formData = new FormData();
|
||||
formData.append('notes', payload.notes);
|
||||
formData.append('video', payload.video);
|
||||
payload.images.forEach((image) => {
|
||||
formData.append('images', image);
|
||||
});
|
||||
|
||||
const response = await axiosClient.post<TicketDetail>(
|
||||
API_ROUTES.TICKETS.SUBMIT_REPAIR_UPLOAD(ticketId),
|
||||
formData,
|
||||
{
|
||||
headers: {
|
||||
'Content-Type': 'multipart/form-data',
|
||||
},
|
||||
},
|
||||
);
|
||||
return response.data;
|
||||
},
|
||||
|
||||
reviewRepair: async (
|
||||
ticketId: string,
|
||||
payload: ReviewRepairPayload,
|
||||
|
||||
Reference in New Issue
Block a user