Documentation ¶
Index ¶
- func GetLogger(env string, level zapcore.Level, serviceName string) *zap.SugaredLogger
- func NewLogger(env *Env) *zap.SugaredLogger
- func NewStatsd(lc fx.Lifecycle, env *Env) (statsd.ClientInterface, error)
- type AuthConfig
- type ColumnMapping
- type ConfigurationManager
- type Datalayer
- type Env
- type FieldMapping
- type JWTConfig
- type JWTResponse
- type JwtConfig
- type PostMapping
- type State
- type TableConfig
- type TableMapping
- type TokenProvider
- type TokenProviders
- type User
- type VariableGetter
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewLogger ¶
func NewLogger(env *Env) *zap.SugaredLogger
Types ¶
type AuthConfig ¶
type ColumnMapping ¶
type ColumnMapping struct { FieldName string `json:"fieldName" yaml:"fieldName"` PropertyName string `json:"propertyName" yaml:"propertyName"` IsIdColumn bool `json:"isIdColumn" yaml:"isIdColumn"` IsReference bool `json:"isReference" yaml:"isReference"` IsEntity bool `json:"isEntity" yaml:"isEntity"` ReferenceTemplate string `json:"referenceTemplate" yaml:"referenceTemplate"` IgnoreColumn bool `json:"ignoreColumn" yaml:"ignoreColumn"` IdTemplate string `json:"idTemplate" yaml:"idTemplate"` ColumnMappings []*ColumnMapping `json:"columnMappings" yaml:"columnMappings"` }
type ConfigurationManager ¶
type ConfigurationManager struct { Datalayer *Datalayer State State TokenProviders *TokenProviders // contains filtered or unexported fields }
func NewConfigurationManager ¶
func NewConfigurationManager(lc fx.Lifecycle, env *Env, providers *TokenProviders) *ConfigurationManager
func (*ConfigurationManager) Init ¶
func (conf *ConfigurationManager) Init()
type Datalayer ¶
type Datalayer struct { Id string `json:"id" yaml:"id"` DatabaseServer string `json:"databaseServer" yaml:"databaseServer"` BaseUri string `json:"baseUri" yaml:"baseUri"` Database string `json:"database" yaml:"database"` Port string `json:"port" yaml:"port"` Schema string `json:"schema" yaml:"schema"` BaseNameSpace string `json:"baseNameSpace" yaml:"baseNameSpace"` User string `json:"user" yaml:"user"` Password string `json:"password" yaml:"password"` TableMappings []*TableMapping `json:"tableMappings" yaml:"tableMappings"` PostMappings []*PostMapping `json:"postMappings" yaml:"postMappings"` }
func (*Datalayer) GetUrl ¶
func (layer *Datalayer) GetUrl(postMapping *PostMapping, tableMapping *TableMapping) *url.URL
type Env ¶
type Env struct { Logger *zap.SugaredLogger Env string LogLevel string `koanf:"server.log.level"` Port string `koanf:"server.port"` ServiceName string `koanf:"server.service.name"` AgentHost string `koanf:"dd.agent.host"` ConfigLocation string RefreshInterval string Jwt JwtConfig `koanf:"jwt"` User User Auth AuthConfig }
type FieldMapping ¶
type FieldMapping struct { FieldName string `json:"fieldName" yaml:"fieldName"` ToPostgresField string `json:"toPostgresField" yaml:"toPostgresField"` SortOrder int `json:"order" yaml:"sortOrder"` Type string `json:"type" yaml:"type"` ResolveNamespace bool `json:"resolveNamespace" yaml:"resolveNamespace"` }
type JWTConfig ¶
type JWTConfig struct { ClientId string `json:"client_id"` ClientSecret string `json:"client_secret"` Audience string `json:"audience"` GrantType string `json:"grant_type"` // contains filtered or unexported fields }
JWTConfig contains the auth configuration
func NewJWTConfig ¶
NewJWTConfig creates a new JWT Auth Config struct, populated with the values from Viper.
func (*JWTConfig) Token ¶
Token returns a valid token, or an error caused when getting one Successive calls to this will return cached values, where the cache validity equals the token validity. Experience-wise, this can lead to race conditions when the caller asks for a valid token that is about to run out, and then it runs out before it can be used.
type JWTResponse ¶
type PostMapping ¶
type PostMapping struct { DatasetName string `json:"datasetName" yaml:"datasetName"` TableName string `json:"tableName" yaml:"tableName"` Query string `json:"query" yaml:"query"` Config *TableConfig `json:"config" yaml:"config"` FieldMappings []*FieldMapping `json:"fieldMappings" yaml:"fieldMappings"` IdColumn string `json:"idColumn" yaml:"idColumn"` }
type TableConfig ¶
type TableConfig struct { DatabaseServer *string `json:"databaseServer" yaml:"databaseServer"` Database *string `json:"database" yaml:"database"` Port *string `json:"port" yaml:"port"` Schema *string `json:"schema" yaml:"schema"` User *VariableGetter `json:"user" yaml:"user"` Password *VariableGetter `json:"password" yaml:"password"` }
type TableMapping ¶
type TableMapping struct { TableName string `json:"tableName" yaml:"tableName"` NameSpace string `json:"nameSpace" yaml:"nameSpace"` CustomQuery string `json:"query" yaml:"customQuery"` CDCEnabled bool `json:"cdcEnabled" yaml:"cdcEnabled"` EntityIdConstructor string `json:"entityIdConstructor" yaml:"entityIdConstructor"` Types []string `json:"types" yaml:"types"` ColumnMappings []*ColumnMapping `json:"columnMappings" yaml:"columnMappings"` Config *TableConfig `json:"config" yaml:"config"` Columns map[string]*ColumnMapping }
type TokenProvider ¶
type TokenProviders ¶
type TokenProviders struct {
Providers map[string]interface{}
}
func NewTokenProviders ¶
func NewTokenProviders(env *Env) *TokenProviders
NewTokenProviders provides a map of token providers, keyed on the name of the token provider struct as lower_case.
func NoOpTokenProviders ¶
func NoOpTokenProviders() *TokenProviders
type VariableGetter ¶
type VariableGetter struct { Type string `json:"type" yaml:"type"` Key string `json:"key" yaml:"key"` }
func (*VariableGetter) GetValue ¶
func (v *VariableGetter) GetValue() string
Click to show internal directories.
Click to hide internal directories.