ToolJet/server/src/services/app_config.service.ts
Midhun G S b710d7b02e
SSO for GitHub Enterprise self hosted (#3352)
* SSO for GitHub Enterprise self hosted

* changes

* test cases

* fixes

* label fix

* fixes

* readme changes
2022-07-29 17:03:42 +05:30

39 lines
1 KiB
TypeScript

import { Injectable } from '@nestjs/common';
@Injectable()
export class AppConfigService {
async public_config() {
const whitelistedConfigVars = process.env.ALLOWED_CLIENT_CONFIG_VARS
? this.fetchAllowedConfigFromEnv()
: this.fetchDefaultConfig();
const mapEntries = await Promise.all(
whitelistedConfigVars.map((envVar) => [envVar, process.env[envVar]] as [string, string])
);
return Object.fromEntries(mapEntries);
}
fetchDefaultConfig() {
return [
'TOOLJET_SERVER_URL',
'RELEASE_VERSION',
'GOOGLE_MAPS_API_KEY',
'APM_VENDOR',
'SENTRY_DNS',
'SENTRY_DEBUG',
'DISABLE_SIGNUPS',
'DISABLE_MULTI_WORKSPACE',
'SSO_GOOGLE_OAUTH2_CLIENT_ID',
'SSO_GIT_OAUTH2_CLIENT_ID',
'SSO_GIT_OAUTH2_HOST',
'SSO_DISABLE_SIGNUPS',
];
}
fetchAllowedConfigFromEnv() {
const whitelistedConfigVars = process.env.ALLOWED_CLIENT_CONFIG_VARS.split(',').map((envVar) => envVar.trim());
return whitelistedConfigVars;
}
}