package tools import "sync" // =================================================== // This class has to be updated everytime // a new configuration variable is defined // in a componant that imports oc-lib // =================================================== type Config struct { NATSUrl string MongoUrl string MongoDatabase string Host string Port string } func (c Config) GetUrl() string { return c.MongoUrl } func (c Config) GetDatabase() string { return c.MongoDatabase } var instance *Config var once sync.Once func GetConfig() *Config { once.Do(func() { instance = &Config{} }) return instance } func SetConfig(url string, database string, natsUrl string) *Config { once.Do(func() { instance = &Config{ MongoUrl: url, MongoDatabase: database, NATSUrl: natsUrl, } }) return instance }