editing getPlatformUrl for cloud

This commit is contained in:
Martin McKeaveney 2022-05-16 23:22:33 +01:00
parent f9cf997117
commit b98476349e
1 changed files with 16 additions and 8 deletions

View File

@ -1,7 +1,7 @@
const google = require("../google") const google = require("../google")
const { Cookies, Configs } = require("../../../constants") const { Cookies, Configs } = require("../../../constants")
const { clearCookie, getCookie } = require("../../../utils") const { clearCookie, getCookie } = require("../../../utils")
const { getScopedConfig, getPlatformUrl } = require("../../../db/utils") const { getScopedConfig } = require("../../../db/utils")
const { doWithDB } = require("../../../db") const { doWithDB } = require("../../../db")
const environment = require("../../../environment") const environment = require("../../../environment")
const { getGlobalDB } = require("../../../tenancy") const { getGlobalDB } = require("../../../tenancy")
@ -21,20 +21,28 @@ async function fetchGoogleCreds() {
) )
} }
async function platformUrl() { async function getPlatformUrl() {
let platformUrl = environment.PLATFORM_URL || "http://localhost:10000"
const db = getGlobalDB() const db = getGlobalDB()
const publicConfig = await getScopedConfig(db, { const settings = await getScopedConfig(db, {
type: Configs.SETTINGS, type: Configs.SETTINGS,
}) })
return getPlatformUrl(publicConfig)
// self hosted - check for platform url override
if (settings && settings.platformUrl) {
platformUrl = settings.platformUrl
}
return platformUrl
} }
async function preAuth(passport, ctx, next) { async function preAuth(passport, ctx, next) {
// get the relevant config // get the relevant config
const googleConfig = await fetchGoogleCreds() const googleConfig = await fetchGoogleCreds()
const platUrl = await platformUrl() const platformUrl = await getPlatformUrl()
let callbackUrl = `${platUrl}/api/global/auth/datasource/google/callback` let callbackUrl = `${platformUrl}/api/global/auth/datasource/google/callback`
const strategy = await google.strategyFactory(googleConfig, callbackUrl) const strategy = await google.strategyFactory(googleConfig, callbackUrl)
if (!ctx.query.appId || !ctx.query.datasourceId) { if (!ctx.query.appId || !ctx.query.datasourceId) {
@ -51,9 +59,9 @@ async function preAuth(passport, ctx, next) {
async function postAuth(passport, ctx, next) { async function postAuth(passport, ctx, next) {
// get the relevant config // get the relevant config
const config = await fetchGoogleCreds() const config = await fetchGoogleCreds()
const platUrl = await platformUrl() const platformUrl = await getPlatformUrl()
let callbackUrl = `${platUrl}/api/global/auth/datasource/google/callback` let callbackUrl = `${platformUrl}/api/global/auth/datasource/google/callback`
const strategy = await google.strategyFactory( const strategy = await google.strategyFactory(
config, config,
callbackUrl, callbackUrl,