summaryrefslogtreecommitdiff
path: root/src/core/utils
diff options
context:
space:
mode:
authortrisusilo <tri.susilo@altama.co.id>2023-07-24 08:35:11 +0000
committertrisusilo <tri.susilo@altama.co.id>2023-07-24 08:35:11 +0000
commit5be5be868124e7d4b21ab2137f45006380e3d0a1 (patch)
treed7c4151eb2bf83b85cd0532d45dedd02aa06694e /src/core/utils
parentbed971bc1265cd9b0e6f0c01dcb57bf4089c21f9 (diff)
parent2de322571bad7490baaf439fa2bb12124c646bb5 (diff)
Merged in CR/widget_WA (pull request #17)
CR/widget WA
Diffstat (limited to 'src/core/utils')
-rw-r--r--src/core/utils/cart.js52
-rw-r--r--src/core/utils/whatsappUrl.js17
2 files changed, 62 insertions, 7 deletions
diff --git a/src/core/utils/cart.js b/src/core/utils/cart.js
index d987cda7..16befdf7 100644
--- a/src/core/utils/cart.js
+++ b/src/core/utils/cart.js
@@ -1,3 +1,6 @@
+import odooApi from "../api/odooApi"
+import { getAuth } from "./auth"
+
/**
* Retrieves cart data from localStorage, if available.
*
@@ -27,6 +30,49 @@ const setCart = (cart) => {
return false
}
+const addCart = async (product_id, qty, selected, programLineId = null) => {
+ const data = {
+ 'product_id' : product_id,
+ 'qty' : qty,
+ 'selected' : selected,
+ 'program_line_id' : programLineId
+ }
+
+ const id = getAuth()?.id
+ const cartAdd = await odooApi(
+ 'POST',
+ `/api/v1/user/${id}/cart/create-or-update`,
+ data
+ )
+
+ return true
+
+}
+
+const getCartApi = async () => {
+ const id = getAuth()?.id
+ const cart = await odooApi('GET', `/api/v1/user/${id}/cart`)
+
+ return cart
+}
+
+const getCountCart = async () => {
+ const id = getAuth()?.id
+ if(id){
+ const cart = await odooApi('GET', `/api/v1/user/${id}/cart/count`)
+ return cart
+ }
+ return
+}
+
+const deleteCart = async (product_id) => {
+ const id = getAuth()?.id
+ const cartDelete = await odooApi(
+ 'DELETE',
+ `/api/v1/user/${id}/cart?product_ids=${product_id}`
+ )
+}
+
/**
* Retrieves an item from the cart data based on the given product ID.
*
@@ -48,11 +94,12 @@ const getItemCart = ({ productId }) => {
* @param {boolean} [options.selected=false] - The new selected status of the product in the cart. Default is `false`.
* @returns {boolean} - Returns `true`.
*/
-const updateItemCart = ({ productId, quantity, selected = false }) => {
+const updateItemCart = async ({ productId, quantity, selected = false , programLineId}) => {
let cart = getCart()
quantity = parseInt(quantity)
cart[productId] = { productId, quantity, selected }
setCart(cart)
+ await addCart(productId, quantity, selected, programLineId)
return true
}
@@ -66,8 +113,9 @@ const updateItemCart = ({ productId, quantity, selected = false }) => {
const deleteItemCart = ({ productId }) => {
let cart = getCart()
delete cart[productId]
+ deleteCart(productId)
setCart(cart)
return true
}
-export { getCart, getItemCart, updateItemCart, deleteItemCart }
+export { getCart, getItemCart, updateItemCart, deleteItemCart, addCart, getCartApi, getCountCart}
diff --git a/src/core/utils/whatsappUrl.js b/src/core/utils/whatsappUrl.js
index 6ca9722b..81ea3463 100644
--- a/src/core/utils/whatsappUrl.js
+++ b/src/core/utils/whatsappUrl.js
@@ -1,20 +1,27 @@
+import { getAuth } from "./auth"
+
const whatsappUrl = (template = 'default', payload) => {
+ let user = getAuth()
+ if(!user){
+ return '/login'
+ }
let url = 'https://wa.me/628128080622'
- let text = ''
+ let text = 'Hallo Indoteknik.com,'
switch (template) {
case 'product':
- text = `Halo, saya mau tanya ${payload.name}, bisa tolong bantu saya?\n\nBerikut ini linknya: ${payload.url}`
+ text += ` Saya ${user.name} , Saya dari ${user.parentName} Saya mencari barang dibawah ini\n\n: Brand = ${payload?.manufacture}\n\n Item Name = ${payload?.name}\n\nLink : ${payload?.url}`
break
case 'productWeight':
- text = `Mau tanya untuk berat ${payload.name}, bisa minta tolong informasikan beratnya?\n\nBerikut ini linknya: ${payload.url}`
+ text += ` Saya ${user.name} , Saya dari ${user.parentName} Saya mencari barang dibawah ini\n\n: Brand = ${payload?.manufacture}\n\n Item Name = ${payload?.name}\n\nLink : ${payload?.url}`
break
case 'productSearch':
- text = `Saya lagi cari-cari produk ${payload.name}, bisa bantu saya cari produknya?`
+ text += `Saya lagi cari-cari produk ${payload?.name}, bisa bantu saya cari produknya?`
break
case null:
+ text += `Saya ${user.name}, Saya dari ${user.parentName} Bisa tolong bantu kebutuhan saya?`
break;
default:
- text = 'Halo, saya mau tanya-tanya seputar produk, bisa tolong bantu saya?'
+ text += `Saya ${user.name}, Saya dari ${user.parentName} Bisa tolong bantu kebutuhan saya?`
break
}
if (text) url += `?text=${encodeURI(text)}`