You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

65 lines
1.6 KiB

3 weeks ago
import apiService from "./apiClient";
export interface InquiryFormData extends FormData {
append(name: string, value: string | Blob, fileName?: string): void;
}
export interface InquiryResponse {
inquiry_id: number;
user_id: number;
image_url: string;
quantity: number;
name: string;
link: string;
remark: string;
material: string;
status: number;
create_time: string;
update_time: string;
}
export interface InquiryResponseData {
create_time:string
image_url:string
inquiry_id:number
link:string
material:string
name:string
quantity:number
remark:string
status:number
update_time:string
user_id:number
}
export interface InquiryResponseDataList {
items:{
create_time:string
image_url:string
inquiry_id:number
link:string
material:string
name:string
quantity:number
remark:string
status:number
update_time:string
user_id:number
}[]
}
export const inquiriesApi = {
getInquiries: (page: number,page_size:number) => apiService.get<InquiryResponseDataList>(`/api/inquiries/?page=${page}&page_size=${page_size}`),
getInquiry: (inquiry_id: number) => apiService.get<InquiryResponseData>(`/api/inquiries/${inquiry_id}/`),
createInquiry: (formData: InquiryFormData) =>
apiService.upload<InquiryResponseData>("/api/inquiries/", formData),
updateInquiry: (id: number, inquiry: InquiryFormData) =>
apiService.put<InquiryResponse>(`/api/inquiries/${id}/`, inquiry),
deleteInquiry: (id: number) =>
apiService.delete<InquiryResponse>(`/api/inquiries/${id}/`),
};