UNPKG

@scayle/storefront-nuxt

Version:

Nuxt integration for the SCAYLE Commerce Engine and Storefront API

27 lines (26 loc) 747 B
import { isCampaignActive, campaignHasNotEnded, sortCampaignsByDateAscending } from "@scayle/storefront-core"; export const fetchCampaignKey = async (sapiClient, cached, log) => { try { const { campaigns } = await cached( async () => { const { entities } = await sapiClient.campaigns.get(); return { campaigns: entities.filter((campaign) => { return campaignHasNotEnded(campaign); }).sort(sortCampaignsByDateAscending) }; }, { cacheKeyPrefix: "fetch-campaignKey", ttl: 5 * 60 } )(); return campaigns.find(isCampaignActive)?.key; } catch (error) { log.error("Failed to get or process the campaigns from SAPI.", error); } };