UNPKG

ice.fo.utils

Version:

45 lines (35 loc) 1.15 kB
import { ICE_SOURCE_PREFIX, ROUTE_NAMES } from './enums'; export default function extractSiteId(context) { const { req, $config, route } = context; const isDynamicPage = [ ROUTE_NAMES.DynamicPage, ROUTE_NAMES.BuilderEditablePage, ].includes(route.name); if (!isDynamicPage) { const siteIdByRoutePath = route.path.split('/').filter((i) => i)[0]; if (!siteIdByRoutePath) { return $config.exclusiveSiteId || $config.defaultSiteId; } return siteIdByRoutePath; } let targetPath; let siteId = ''; if (process.server) { targetPath = req.originalUrl.split(/\?|#/)[0]; } else { targetPath = route.path; } if ($config.dynamicSiteRouting) { const pathTokens = targetPath.split('/').filter((key) => key.trim()); siteId = [ROUTE_NAMES.BuilderEditablePage].includes(route.name) ? pathTokens[2] : pathTokens[0]; } else if ($config.exclusiveSiteId) { siteId = $config.exclusiveSiteId; } if (!siteId || siteId == ICE_SOURCE_PREFIX) { siteId = $config.defaultSiteId; } if (!siteId) { console.error('[ Site ] SiteId is not defined anywhere.'); } return siteId; }