@scayle/storefront-core
Version:
Collection of essential utilities to work with the Storefront API
57 lines (56 loc) • 1.19 kB
JavaScript
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
});
};