shared

package
v0.0.0-...-0eac02a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 29, 2020 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ErrStatusInvalidRequest string = "invalid_request"
	ErrStatusNotFound       string = "not_found"
)
View Source
const (
	ScopeSession      = "session"
	ScopeUI           = "ui"
	ScopeUnauthorized = "unauthorized"
	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 GetLogger

func GetLogger(ctx context.Context) *log.Entry

func LoadConfig

func LoadConfig(cfgFile string) error

LoadConfig - Loads a config from the configuration

func LogError

func LogError(entry *log.Entry, err error) *log.Entry

func NewContextWithConfiguration

func NewContextWithConfiguration(config *AppConfig) context.Context

func NewOperationContext

func NewOperationContext() context.Context

func SetupLogger

func SetupLogger(loggingLevel string)

func ToJSON

func ToJSON(obj interface{}) 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

func GetAppConfig() (AppConfig, error)

GetAppConfig - Unmarshal the app configuration using the viper

func GetConfig

func GetConfig(ctx context.Context) *AppConfig

func (*AppConfig) Dump

func (config *AppConfig) Dump() (string, error)

func (*AppConfig) Save

func (config *AppConfig) Save(file string) error

Save the config to the specified file

func (*AppConfig) SaveToDefaultLocation

func (config *AppConfig) SaveToDefaultLocation() error

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 CheckFieldMaxLength(field string, fieldName string, max int) AppError

func CheckFieldMinLength

func CheckFieldMinLength(field string, fieldName string, minLen int) AppError

func NewAppError

func NewAppError(msg string) AppError

func NewErrFromValidator

func NewErrFromValidator(result *ValidationResult) AppError

func NewErrInvalidField

func NewErrInvalidField(filed string) AppError

Deprecated

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 ErrDetail

type ErrDetail map[string]interface{}

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 JwkConfig

type JwkConfig struct {
	Keys string `json:"keys"`
}

type LoggingIdentity

type LoggingIdentity interface {
	LogFields() log.Fields
}

type RedisConfig

type RedisConfig struct {
	Address  string `json:"addr" yaml:"addr" mapstructure:"addr"`
	Password string `json:"password" yaml:"password" mapstructure:"password"`
}

type Scopes

type Scopes []string

func (Scopes) IsAnonymous

func (s Scopes) IsAnonymous() bool

func (Scopes) IsSession

func (s Scopes) IsSession() bool

func (Scopes) IsUI

func (s Scopes) IsUI() bool

func (Scopes) IsUnauthorized

func (s Scopes) IsUnauthorized() bool

type ServerConfig

type ServerConfig struct {
	Port   string `json:"port" yaml:"port" mapstructure:"port"`
	Domain string `json:"domain" yaml:"domain" mapstructure:"domain"`
}

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

func NewFieldLengthValidator

func NewFieldLengthValidator(min int, max int, fieldName string) Validator

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL