UNPKG

@scayle/storefront-core

Version:

Collection of essential utilities to work with the Storefront API

57 lines (56 loc) 1.19 kB
import { HashAlgorithm } from "../constants/hash.mjs"; import { md5, sha256 } from "./hash.mjs"; export const generateKey = async ({ keyTemplate, hashAlgorithm = HashAlgorithm.SHA256, shopId, userId, log }) => { if (!shopId) { log?.warn("No shopId provided", { shopId }); } if (!userId) { log?.warn("No userId provided", { userId }); } const key = String( keyTemplate.replace("{shopId}", shopId).replace("{userId}", userId) ); if (hashAlgorithm === HashAlgorithm.MD5) { return await md5(key); } if (hashAlgorithm === HashAlgorithm.SHA256) { return await sha256(key); } return key; }; export const generateWishlistKey = async ({ keyTemplate, hashAlgorithm = HashAlgorithm.SHA256, shopId, userId, log }) => { return await generateKey({ log: log?.space("core.generateWishlistKey"), keyTemplate, hashAlgorithm, shopId, userId }); }; export const generateBasketKey = async ({ keyTemplate, hashAlgorithm = HashAlgorithm.SHA256, shopId, userId, log }) => { return await generateKey({ log: log?.space("core.generateBasketKey"), keyTemplate, hashAlgorithm, shopId, userId }); };