summaryrefslogtreecommitdiff
path: root/src/lib/wishlist
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/wishlist')
-rw-r--r--src/lib/wishlist/api/createOrDeleteWishlistApi.js10
-rw-r--r--src/lib/wishlist/api/wishlistApi.js14
-rw-r--r--src/lib/wishlist/hooks/useWishlist.js13
3 files changed, 37 insertions, 0 deletions
diff --git a/src/lib/wishlist/api/createOrDeleteWishlistApi.js b/src/lib/wishlist/api/createOrDeleteWishlistApi.js
new file mode 100644
index 00000000..63cb1c51
--- /dev/null
+++ b/src/lib/wishlist/api/createOrDeleteWishlistApi.js
@@ -0,0 +1,10 @@
+import odooApi from "@/core/api/odooApi";
+import { getAuth } from "@/core/utils/auth";
+
+const createOrDeleteWishlistApi = async ({ data }) => {
+ const auth = getAuth()
+ const dataWishlist = await odooApi('POST', `/api/v1/user/${auth.id}/wishlist/create-or-delete`, data)
+ return dataWishlist
+}
+
+export default createOrDeleteWishlistApi \ No newline at end of file
diff --git a/src/lib/wishlist/api/wishlistApi.js b/src/lib/wishlist/api/wishlistApi.js
new file mode 100644
index 00000000..a8906dd4
--- /dev/null
+++ b/src/lib/wishlist/api/wishlistApi.js
@@ -0,0 +1,14 @@
+import odooApi from '@/core/api/odooApi'
+import { getAuth } from '@/core/utils/auth'
+
+const wishlistApi = async ({ productId }) => {
+ const auth = getAuth()
+ if (!auth) return { productTotal: 0, products: [] }
+ const dataWishlist = await odooApi(
+ 'GET',
+ `/api/v1/user/${auth.id}/wishlist?product_id=${productId}`
+ )
+ return dataWishlist
+}
+
+export default wishlistApi
diff --git a/src/lib/wishlist/hooks/useWishlist.js b/src/lib/wishlist/hooks/useWishlist.js
new file mode 100644
index 00000000..1eb17d53
--- /dev/null
+++ b/src/lib/wishlist/hooks/useWishlist.js
@@ -0,0 +1,13 @@
+import { useQuery } from "react-query"
+import wishlistApi from "../api/wishlistApi"
+
+const useWishlist = ({ productId }) => {
+ const fetchWishlist = async () => await wishlistApi({ productId })
+ const { data, isLoading, refetch } = useQuery(`wishlist-${productId}`, fetchWishlist)
+
+ return {
+ wishlist: { data, isLoading, refetch }
+ }
+}
+
+export default useWishlist