mirror of
https://github.com/ToolJet/ToolJet
synced 2026-04-21 21:47:17 +00:00
* make tooljetdb optional * restrict routes when tooljetdb is disabled * validate dbname before creating database * fix comment * format
38 lines
980 B
TypeScript
38 lines
980 B
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',
|
|
'TOOLJET_HOST',
|
|
'SUB_PATH',
|
|
'DISABLE_MULTI_WORKSPACE',
|
|
'ENABLE_MARKETPLACE_FEATURE',
|
|
'ENABLE_TOOLJET_DB',
|
|
];
|
|
}
|
|
|
|
fetchAllowedConfigFromEnv() {
|
|
const whitelistedConfigVars = process.env.ALLOWED_CLIENT_CONFIG_VARS.split(',').map((envVar) => envVar.trim());
|
|
|
|
return whitelistedConfigVars;
|
|
}
|
|
}
|