|
|
@@ -25,17 +25,10 @@ const getBaseUrl = () => {
|
|
|
return BASE_URL.trim().replace(/\/$/, '')
|
|
|
}
|
|
|
|
|
|
-const setDefaultServicesUrls = (config: Config): Config => {
|
|
|
- Object.keys(config.servicesUrls).forEach(key => {
|
|
|
- config.servicesUrls[key] = config.servicesUrls[key].replace('{BASE_URL}', getBaseUrl())
|
|
|
- })
|
|
|
- return config
|
|
|
-}
|
|
|
-
|
|
|
-const modServicesUrls = (config: Config, servicesMod: Services): Services => {
|
|
|
- let services: Services = { ...config.servicesUrls }
|
|
|
+const modServicesUrls = (configServices: Services, servicesMod?: Services): Services => {
|
|
|
+ let services: Services = { ...configServices }
|
|
|
Object.keys(services).forEach(key => {
|
|
|
- services[key] = (servicesMod[key] ? servicesMod[key] : services[key])
|
|
|
+ services[key] = ((servicesMod && servicesMod[key]) ? servicesMod[key] : services[key])
|
|
|
.replace('{BASE_URL}', getBaseUrl())
|
|
|
})
|
|
|
return services
|
|
|
@@ -48,7 +41,7 @@ export default (router: express$Router) => {
|
|
|
let config: Config = requireWithoutCache(configPath, require).config
|
|
|
let modJsonPath: ?string = process.env.MOD_JSON
|
|
|
if (!modJsonPath) {
|
|
|
- setDefaultServicesUrls(config)
|
|
|
+ config.servicesUrls = modServicesUrls(config.servicesUrls)
|
|
|
res.send(config)
|
|
|
return
|
|
|
}
|
|
|
@@ -56,12 +49,11 @@ export default (router: express$Router) => {
|
|
|
let jsonContent = fs.readFileSync(modJsonPath)
|
|
|
let configMod = JSON.parse(jsonContent).config
|
|
|
Object.keys(configMod).forEach(key => {
|
|
|
- if (key === 'servicesUrls') {
|
|
|
- config[key] = modServicesUrls(config, configMod[key])
|
|
|
- } else {
|
|
|
+ if (key !== 'servicesUrls') {
|
|
|
config[key] = configMod[key]
|
|
|
}
|
|
|
})
|
|
|
+ config.servicesUrls = modServicesUrls(config.servicesUrls, configMod.servicesUrls)
|
|
|
res.send(config)
|
|
|
} catch (err) {
|
|
|
console.error(err)
|