Files
hossein-por-shop/frontend/composables/api/notifications/useSubscribeNotification.ts
2025-03-22 16:20:21 +03:30

35 lines
769 B
TypeScript

// imports
import { useMutation } from "@tanstack/vue-query";
import { API_ENDPOINTS } from "~/constants";
// types
export type SubscribeNotificationRequest = {
body: PushSubscriptionJSON;
};
const useSubscribeNotification = () => {
// state
const { $axios: axios } = useNuxtApp();
// methods
const handleSubscribeNotification = async (
params: SubscribeNotificationRequest
) => {
const { data } = await axios.post(API_ENDPOINTS.account.subscribe, {
...params.body,
});
return data;
};
return useMutation({
mutationFn: (subscribeData: SubscribeNotificationRequest) =>
handleSubscribeNotification(subscribeData),
});
};
export default useSubscribeNotification;