summaryrefslogtreecommitdiff
path: root/src/lib/wishlist
diff options
context:
space:
mode:
authorRafi Zadanly <zadanlyr@gmail.com>2023-02-22 23:34:50 +0700
committerRafi Zadanly <zadanlyr@gmail.com>2023-02-22 23:34:50 +0700
commit8cfb615556e67408d7afb6d9694b2407447085ff (patch)
tree7dd9d93e1b5a27f2efd49083a7b1d4d39a96a738 /src/lib/wishlist
parent32f684cc40e66239451fcaa93ae2971b4bd86026 (diff)
fix
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