mirror of
https://github.com/node-ebics/node-ebics-client.git
synced 2024-11-21 21:52:07 +00:00
Examples: Improve config implementation for multibank.
When using the software with multiple banks, the current config file solution wasn't very flexible. We had some different local implementation at our end. In order to use upstream software directly without any changes, suggesting to merge these changes. For me locally it would mean I can get rid of a lot of local example code which are currently bank and even entity specific and can be made more generic. This will also allow multiple EBICS connections with the same bank for different entities as well, in case this is needed. In our case we have multiple EBICS connections with the same bank. Signed-off-by: Herman van Hazendonk <github.com@herrie.org>
This commit is contained in:
parent
f027bc4048
commit
de92265c95
10
examples/config/config.production.testbank.testentity.json
Normal file
10
examples/config/config.production.testbank.testentity.json
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"url": "https://ebics.server",
|
||||||
|
"partnerId": "EBICS ParnerID Production",
|
||||||
|
"userId": "MyUserIdProduction",
|
||||||
|
"hostId": "MyHostIdProduction",
|
||||||
|
"passphrase": "MyPasswordProduction",
|
||||||
|
"keyStoragePath": "./keys-prod",
|
||||||
|
"bankName":"Production Bank",
|
||||||
|
"languageCode":"en"
|
||||||
|
}
|
@ -20,11 +20,22 @@ const getDefaultEnv = () => {
|
|||||||
return parArg || process.env.NODE_ENV;
|
return parArg || process.env.NODE_ENV;
|
||||||
}
|
}
|
||||||
|
|
||||||
const loadConfig = (configDirectory = path.join(__dirname, './config'), env = getDefaultEnv()) => {
|
const getBankIdentifier = () => {
|
||||||
console.log(`Loading config form ${configDirectory} with env set to ${env}.`);
|
const [,,,parArg] = process.argv;
|
||||||
|
return parArg || "testbank";
|
||||||
|
}
|
||||||
|
|
||||||
|
const getEntityIdentifier = () => {
|
||||||
|
const [,,,,parArg] = process.argv;
|
||||||
|
return parArg || ""
|
||||||
|
}
|
||||||
|
|
||||||
|
const loadConfig = (configDirectory = path.join(__dirname, './config'), env = getDefaultEnv(), bank = getBankIdentifier(), entity = getEntityIdentifier()) => {
|
||||||
|
entity ? console.log(`Loading config from ${configDirectory} with env set to ${env}, bank set to ${bank} and entity set to ${entity}.`) : console.log(`Loading config from ${configDirectory} with env set to ${env} and bank set to ${bank}.`);
|
||||||
|
|
||||||
|
global.entity = entity;
|
||||||
const baseConfigFile = path.join(configDirectory, 'config.json');
|
const baseConfigFile = path.join(configDirectory, 'config.json');
|
||||||
const envConfigFile = env ? path.join(configDirectory, `config.${env}.json`) : null;
|
const envConfigFile = env ? entity ? path.join(configDirectory, `config.${env}.${bank}.${entity}.json`) : path.join(configDirectory, `config.${env}.${bank}.json`) : null;
|
||||||
|
|
||||||
return {
|
return {
|
||||||
...safeLoadJson(baseConfigFile),
|
...safeLoadJson(baseConfigFile),
|
||||||
|
Loading…
Reference in New Issue
Block a user