33// config settings, env variables
44import * as path from 'path' ;
55import * as dotenv from 'dotenv' ;
6- import { type RedisConfig } from '@frmscoe/frms-coe-lib/lib/interfaces ' ;
6+ import { type ManagerConfig } from '@frmscoe/frms-coe-lib' ;
77
88// Load .env file into process.env if it exists. This is convenient for running locally.
99dotenv . config ( {
@@ -19,24 +19,12 @@ export interface IConfig {
1919 url : string ;
2020 active : string ;
2121 } ;
22- db : {
23- password : string ;
24- url : string ;
25- user : string ;
26- configurationDb : string ;
27- transactionDb : string ;
28- transactionHistoryDb : string ;
29- dbCertPath : string ;
30- cacheEnabled : boolean ;
31- cacheTTL : number ;
32- networkMap : string ;
33- } ;
22+ db : ManagerConfig ;
3423 logger : {
3524 logstashHost : string ;
3625 logstashPort : number ;
3726 logstashLevel : string ;
3827 } ;
39- redis : RedisConfig ;
4028 sidecarHost : string ;
4129 producerStream : string ;
4230}
@@ -50,29 +38,49 @@ export const configuration: IConfig = {
5038 active : process . env . APM_ACTIVE ! ,
5139 } ,
5240 db : {
53- password : process . env . DATABASE_PASSWORD ! ,
54- url : process . env . DATABASE_URL ! ,
55- user : process . env . DATABASE_USER ! ,
56- configurationDb : process . env . CONFIGURATION_DB ! ,
57- transactionHistoryDb : process . env . TRANSACTION_HISTORY_DB ! ,
58- transactionDb : process . env . TRANSACTION_DB ! ,
59- dbCertPath : process . env . DATABASE_CERT_PATH ! ,
60- cacheEnabled : process . env . CACHE_ENABLED === 'true' ,
61- cacheTTL : parseInt ( process . env . CACHE_TTL ! , 10 ) || 3000 ,
62- networkMap : process . env . DATABASE_NETWORKMAP ! ,
41+ redisConfig : {
42+ db : parseInt ( process . env . REDIS_DB ! , 10 ) || 0 ,
43+ servers : JSON . parse ( process . env . REDIS_SERVERS ! || '[{"hostname": "127.0.0.1", "port":6379}]' ) ,
44+ password : process . env . REDIS_AUTH ! ,
45+ isCluster : process . env . REDIS_IS_CLUSTER === 'true' ,
46+ } ,
47+ networkMap : {
48+ password : process . env . NETWORK_MAP_DATABASE_PASSWORD ! ,
49+ url : process . env . NETWORK_MAP_DATABASE_URL ! ,
50+ user : process . env . NETWORK_MAP_DATABASE_USER ! ,
51+ databaseName : process . env . NETWORK_MAP_DATABASE ! ,
52+ certPath : process . env . NETWORK_MAP_DATABASE_CERT_PATH ! ,
53+ } ,
54+ configuration : {
55+ password : process . env . CONFIG_DATABASE_PASSWORD ! ,
56+ url : process . env . CONFIG_DATABASE_URL ! ,
57+ user : process . env . CONFIG_DATABASE_USER ! ,
58+ databaseName : process . env . CONFIG_DATABASE ! ,
59+ certPath : process . env . CONFIG_DATABASE_CERT_PATH ! ,
60+ localCacheEnabled : process . env . CACHE_ENABLED === 'true' ,
61+ localCacheTTL : parseInt ( process . env . CACHE_TTL ! , 10 ) || 3000 ,
62+ } ,
63+ transactionHistory : {
64+ password : process . env . TRANSACTION_HISTORY_DATABASE_PASSWORD ! ,
65+ url : process . env . TRANSACTION_HISTORY_DATABASE_URL ! ,
66+ user : process . env . TRANSACTION_HISTORY_DATABASE_USER ! ,
67+ databaseName : process . env . TRANSACTION_HISTORY_DATABASE ! ,
68+ certPath : process . env . TRANSACTION_HISTORY_DATABASE_CERT_PATH ! ,
69+ } ,
70+ transaction : {
71+ password : process . env . TRANSACTION_DATABASE_PASSWORD ! ,
72+ url : process . env . TRANSACTION_DATABASE_URL ! ,
73+ user : process . env . TRANSACTION_DATABASE_USER ! ,
74+ databaseName : process . env . TRANSACTION_DATABASE ! ,
75+ certPath : process . env . TRANSACTION_DATABASE_CERT_PATH ! ,
76+ } ,
6377 } ,
6478 env : process . env . NODE_ENV ! ,
6579 logger : {
6680 logstashHost : process . env . LOGSTASH_HOST ! ,
6781 logstashPort : parseInt ( process . env . LOGSTASH_PORT ?? '0' , 10 ) ,
6882 logstashLevel : process . env . LOGSTASH_LEVEL ! || 'info' ,
6983 } ,
70- redis : {
71- db : parseInt ( process . env . REDIS_DB ! , 10 ) || 0 ,
72- servers : JSON . parse ( process . env . REDIS_SERVERS ! || '[{"hostname": "127.0.0.1", "port":6379}]' ) ,
73- password : process . env . REDIS_AUTH ! ,
74- isCluster : process . env . REDIS_IS_CLUSTER === 'true' ,
75- } ,
7684 sidecarHost : process . env . SIDECAR_HOST ! ,
7785 producerStream : process . env . PRODUCER_STREAM ! ,
7886} ;
0 commit comments