Documentation
¶
Index ¶
Constants ¶
const ( DatabasePortKey string = "database.port" DatabaseHostKey string = "database.host" DatabaseNameKey string = "database.name" DatabaseUsernameKey string = "database.username" DatabasePasswordKey string = "database.password" DatabaseSslmodeKey string = "database.sslmode" DatabaseRetryKey string = "database.init.retry" DatabaseRetryDurationKey string = "database.init.retryTime" )
The config keys regarding the database settings
const ( ServerTimeoutKey string = "server.timeout" ServerHostKey string = "server.host" ServerPortKey string = "server.port" ServerPaginationMaxElemPerPage string = "server.pagination.page.max" )
The config keys regarding the http server settings
const ( LoggerModeKey string = "logger.mode" LoggerRequestTemplateKey string = "logger.request.template" )
The config keys regarding the logger settings
const ( SessionDurationKey string = "session.duration" SessionPullIntervalKey string = "session.pullInterval" SessionRollIntervalKey string = "session.rollDuration" )
The config keys regarding the session handling settings
const (
InitializationDefaultAdminPasswordKey string = "default.admin.password"
)
The config keys regarding the initialization settings
Variables ¶
var ConfigurationModule = fx.Module( "configuration", fx.Provide(NewDatabaseConfiguration), fx.Provide(NewHTTPServerConfiguration), fx.Provide(NewLoggerConfiguration), fx.Provide(NewPaginationConfiguration), fx.Provide(NewInitializationConfiguration), fx.Provide(NewSessionConfiguration), )
ConfigurationModule for fx
Functions ¶
This section is empty.
Types ¶
type ConfigurationHolder ¶
type ConfigurationHolder interface { // Reload the values provided by the configuration holder Reload() // Log the values provided by the configuration holder Log(logger *zap.Logger) }
Every configuration holder must implement this interface
type DatabaseConfiguration ¶
type DatabaseConfiguration interface { ConfigurationHolder GetPort() int GetHost() string GetDBName() string GetUsername() string GetPassword() string GetSSLMode() string GetRetry() uint GetRetryTime() time.Duration }
Hold the configuration values for the database connection
func NewDatabaseConfiguration ¶
func NewDatabaseConfiguration() DatabaseConfiguration
Instantiate a new configuration holder for the database connection
type HTTPServerConfiguration ¶
type HTTPServerConfiguration interface { ConfigurationHolder GetHost() string GetPort() int GetMaxTimeout() time.Duration }
Hold the configuration values for the http server
func NewHTTPServerConfiguration ¶
func NewHTTPServerConfiguration() HTTPServerConfiguration
Instantiate a new configuration holder for the http server
type InitializationConfiguration ¶
type InitializationConfiguration interface { ConfigurationHolder GetAdminPassword() string }
Hold the configuration values for the initialization
func NewInitializationConfiguration ¶
func NewInitializationConfiguration() InitializationConfiguration
InitializationConfiguration constructor
type LoggerConfiguration ¶
type LoggerConfiguration interface { ConfigurationHolder GetMode() string GetRequestTemplate() string }
Hold the configuration values for the logger
func NewLoggerConfiguration ¶
func NewLoggerConfiguration() LoggerConfiguration
Instantiate a new configuration holder for the logger
type PaginationConfiguration ¶
type PaginationConfiguration interface { ConfigurationHolder GetMaxElemPerPage() uint }
Hold the configuration values for the pagination
func NewPaginationConfiguration ¶
func NewPaginationConfiguration() PaginationConfiguration
Instantiate a new configuration holder for the pagination
type SessionConfiguration ¶
type SessionConfiguration interface { ConfigurationHolder GetSessionDuration() time.Duration GetPullInterval() time.Duration GetRollDuration() time.Duration }
Hold the configuration values to handle the sessions
func NewSessionConfiguration ¶
func NewSessionConfiguration() SessionConfiguration
Instantiate a new configuration holder for the session management