// imports import { useMutation } from "@tanstack/vue-query"; import { API_ENDPOINTS } from "~/constants"; // types export type CreateTicketRequest = { ticket_category: string | undefined; order: number | undefined; subject: string; content: string; attachments: { id: number; file_link: string; date: string; size: number; name: string; }[]; }; const useCreateTicket = () => { // state const { $axios: axios } = useNuxtApp(); // methods const handleCreateTicket = async (params: CreateTicketRequest) => { const { data } = await axios.post( API_ENDPOINTS.account.address.update, { ...params, }, { headers: { "Content-Type": "multipart/form-data", }, } ); return data; }; return useMutation({ mutationFn: (ticketData: CreateTicketRequest) => handleCreateTicket(ticketData), }); }; export default useCreateTicket;