Documentation ¶
Index ¶
- Constants
- func DBConnectionIntoGorm(db DBConnection) *gorm.DB
- func GetLogger(ctx context.Context) *log.Entry
- func LoadConfig(cfgFile string) error
- func LogError(entry *log.Entry, err error) *log.Entry
- func NewContextWithConfiguration(config *AppConfig) context.Context
- func NewOperationContext() context.Context
- func SetupLogger(loggingLevel string)
- func ToJSON(obj interface{}) string
- func ToJSONIndent(obj interface{}) string
- type AppConfig
- type AppError
- type DBConfig
- type DBConnection
- type DBEntryConfig
- type ErrDetail
- type FeatureConfig
- type FeatureParams
- type FeaturesConfig
- type JwkConfig
- type LoggingIdentity
- type RedisConfig
- type Scopes
- type ServerConfig
- type ValidationData
- type ValidationPartial
- type ValidationResult
- func (r *ValidationResult) AllPartials() []ValidationPartial
- func (r *ValidationResult) Fail(message string, data ValidationData) *ValidationResult
- func (r *ValidationResult) IntoError() AppError
- func (r *ValidationResult) IsFailed() bool
- func (r *ValidationResult) IsSuccess() bool
- func (r *ValidationResult) Success(message string, data ValidationData) *ValidationResult
- type Validator
Constants ¶
View Source
const ( ErrStatusInvalidRequest string = "invalid_request" ErrStatusNotFound string = "not_found" )
View Source
const ( ScopeSession = "session" ScopeUI = "ui" ScopeAnonymous = "anon" )
View Source
const AppName = "gouthy"
View Source
const IsStatConfigName = "gouthy-config"
Variables ¶
This section is empty.
Functions ¶
func DBConnectionIntoGorm ¶
func DBConnectionIntoGorm(db DBConnection) *gorm.DB
func LoadConfig ¶
LoadConfig - Loads a config from the configuration
func NewOperationContext ¶
func SetupLogger ¶
func SetupLogger(loggingLevel string)
func ToJSONIndent ¶
func ToJSONIndent(obj interface{}) string
Types ¶
type AppConfig ¶
type AppConfig struct { DB DBConfig `json:"db" yaml:"db" mapstructure:"db"` Server ServerConfig `json:"server" yaml:"server" mapstructure:"server"` Jwk JwkConfig `json:"jwk" yaml:"jwk" mapstructure:"jwk"` Redis RedisConfig `json:"redis" yaml:"redis" mapstructure:"redis"` Features FeaturesConfig `json:"features" yaml:"features" mapstructure:"features"` }
Config - Application config
func GetAppConfig ¶
GetAppConfig - Unmarshal the app configuration using the viper
func (*AppConfig) SaveToDefaultLocation ¶
SaveToDefaultLocation - Saves a config to the default location ~/.config/gouthy/gouthy-config.yml
type AppError ¶
type AppError interface { error WithDetail(detail ErrDetail) AppError AddDetailField(name string, value interface{}) AppError WithType(errType string) AppError Type() string Detail() ErrDetail Message() string LogAppend(entry *log.Entry) *log.Entry }
func CheckFieldMaxLength ¶
func CheckFieldMinLength ¶
func NewAppError ¶
func NewErrFromValidator ¶
func NewErrFromValidator(result *ValidationResult) AppError
type DBConfig ¶
type DBConfig struct { Default string `json:"default" yaml:"default" mapstructure:"default"` DataSources map[string]DBEntryConfig `json:"datasources" yaml:"datasources" mapstructure:"datasources"` AutoMigrate bool `json:"automigrate" yaml:"automigrate" mapstructure:"automigrate"` }
DBConfig - Database config
func (*DBConfig) GetDefault ¶
func (c *DBConfig) GetDefault() *DBEntryConfig
type DBConnection ¶
type DBConnection interface { GetRaw() interface{} Close() error }
func GetDBConnection ¶
func GetDBConnection(config *AppConfig) (DBConnection, error)
GetDBConnection - Get the database connection
type DBEntryConfig ¶
type DBEntryConfig struct { Uri string `json:"uri" yaml:"uri" mapstructure:"uri"` DBType string `json:"db_type" yaml:"db_type" mapstructure:"db_type"` AutoMigrate bool `json:"automigrate" yaml:"automigrate" mapstructure:"automigrate"` DataImport []string `json:"data_import" yaml:"data_import" mapstructure:"data_import"` }
type FeatureConfig ¶
type FeatureConfig struct { Enabled bool `json:"enabled" yaml:"enabled" mapstructure:"enabled"` Params FeatureParams `json:"params" yaml:"params" mapstructure:"params"` }
func (*FeatureConfig) GetParamInt ¶
func (f *FeatureConfig) GetParamInt(name string, d int) int
func (*FeatureConfig) GetParamString ¶
func (f *FeatureConfig) GetParamString(name string, d string) string
func (*FeatureConfig) GetParamsBool ¶
func (f *FeatureConfig) GetParamsBool(name string, d bool) bool
type FeatureParams ¶
type FeatureParams map[string]interface{}
type FeaturesConfig ¶
type FeaturesConfig map[string]FeatureConfig
func (*FeaturesConfig) GetFeature ¶
func (c *FeaturesConfig) GetFeature(name string) *FeatureConfig
func (*FeaturesConfig) PasswordPolicy ¶
func (c *FeaturesConfig) PasswordPolicy() *FeatureConfig
type LoggingIdentity ¶
type RedisConfig ¶
type ServerConfig ¶
type ValidationData ¶
type ValidationData map[string]interface{}
type ValidationPartial ¶
type ValidationPartial struct { Success bool Message string Data ValidationData }
type ValidationResult ¶
type ValidationResult struct { FailedPartials []ValidationPartial SuccessPartials []ValidationPartial // contains filtered or unexported fields }
func NewValidationResult ¶
func NewValidationResult() ValidationResult
func (*ValidationResult) AllPartials ¶
func (r *ValidationResult) AllPartials() []ValidationPartial
func (*ValidationResult) Fail ¶
func (r *ValidationResult) Fail(message string, data ValidationData) *ValidationResult
func (*ValidationResult) IntoError ¶
func (r *ValidationResult) IntoError() AppError
func (*ValidationResult) IsFailed ¶
func (r *ValidationResult) IsFailed() bool
func (*ValidationResult) IsSuccess ¶
func (r *ValidationResult) IsSuccess() bool
func (*ValidationResult) Success ¶
func (r *ValidationResult) Success(message string, data ValidationData) *ValidationResult
type Validator ¶
type Validator interface { Validate(data interface{}) ValidationResult FieldName() string }
func NewEmailValidator ¶
func NewEmailValidator() Validator
Source Files ¶
Click to show internal directories.
Click to hide internal directories.