diff options
| author | trisusilo <tri.susilo@altama.co.id> | 2023-07-24 08:35:11 +0000 |
|---|---|---|
| committer | trisusilo <tri.susilo@altama.co.id> | 2023-07-24 08:35:11 +0000 |
| commit | 5be5be868124e7d4b21ab2137f45006380e3d0a1 (patch) | |
| tree | d7c4151eb2bf83b85cd0532d45dedd02aa06694e /src/core/utils | |
| parent | bed971bc1265cd9b0e6f0c01dcb57bf4089c21f9 (diff) | |
| parent | 2de322571bad7490baaf439fa2bb12124c646bb5 (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.js | 52 | ||||
| -rw-r--r-- | src/core/utils/whatsappUrl.js | 17 |
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)}` |
