mirror of https://github.com/Budibase/budibase.git
2 changed files with 1 additions and 48 deletions
@ -1,47 +0,0 @@ |
|||
const COOKIE_SEPARATOR = ";" |
|||
const APP_PREFIX = "app_" |
|||
const KEY_VALUE_SPLIT = "=" |
|||
|
|||
function confirmAppId(possibleAppId) { |
|||
return possibleAppId && possibleAppId.startsWith(APP_PREFIX) |
|||
? possibleAppId |
|||
: undefined |
|||
} |
|||
|
|||
function tryGetFromCookie({ cookies }) { |
|||
if (!cookies) { |
|||
return undefined |
|||
} |
|||
const cookie = cookies |
|||
.split(COOKIE_SEPARATOR) |
|||
.find(cookie => cookie.trim().startsWith("budibase:currentapp")) |
|||
let appId |
|||
if (cookie && cookie.split(KEY_VALUE_SPLIT).length === 2) { |
|||
appId = cookie.split("=")[1] |
|||
} |
|||
return confirmAppId(appId) |
|||
} |
|||
|
|||
function tryGetFromPath() { |
|||
const appId = location.pathname.split("/")[1] |
|||
return confirmAppId(appId) |
|||
} |
|||
|
|||
function tryGetFromSubdomain() { |
|||
const parts = window.location.host.split(".") |
|||
const appId = parts[1] ? parts[0] : undefined |
|||
return confirmAppId(appId) |
|||
} |
|||
|
|||
export const getAppId = (cookies = window.document.cookie) => { |
|||
const functions = [tryGetFromSubdomain, tryGetFromPath, tryGetFromCookie] |
|||
// try getting the app Id in order
|
|||
let appId |
|||
for (let func of functions) { |
|||
appId = func({ cookies }) |
|||
if (appId) { |
|||
break |
|||
} |
|||
} |
|||
return appId |
|||
} |
|||
Loading…
Reference in new issue