helpers

package
v0.0.0-...-70b0837 Latest Latest
Warning

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

Go to latest
Published: Sep 27, 2020 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const (
	EnvPort = "PORT"

	EnvPrivateRSA = "RSA_PRIVATE"
	EnvPublicRSA  = "RSA_PUBLIC"

	EnvLogPath  = "LOG_PATH"
	EnvLogName  = "LOG_NAME"
	EnvLogLevel = "LOG_LEVEL"

	EnvDBHost     = "DB_HOST"
	EnvDBPort     = "DB_PORT"
	EnvDBUser     = "DB_USER"
	EnvDBPassword = "DB_PASSWORD"
	EnvDBSSlMode  = "DB_SSLMODE"
	EnvDBName     = "DB_NAME"
	EnvDBSchema   = "DB_SCHEMA"
)

Now we define configuration's keys, you can use strings directly in your code but having them definied as const makes code clearer

View Source
const ConfigPrefix = "GOVUE"

ConfigPrefix is used to determine configuration's prefix, it's useful if you want a .env file with different configuration scopes.

View Source
const (
	EnvApp = "GOVUE_ENV"
)

System env variable

Variables

View Source
var (
	// ErrInitAlreadyDone is returned when multiplit init function is called on same object
	ErrInitAlreadyDone = errors.New("this instance is already initialized")

	// ErrFieldCantBeEmpty is returned when a necessary field is empty
	ErrFieldCantBeEmpty = errors.New("field can't be empty")
)

Functions

func CheckErrorNotFound

func CheckErrorNotFound(c *gin.Context, details map[ErrorKey]interface{}, err error)

func CheckErrorValidator

func CheckErrorValidator(c *gin.Context, err error)

func GenerateErrorValidator

func GenerateErrorValidator(str string) error

func MakeEasyDetail

func MakeEasyDetail(key ErrorKey, value interface{}) map[ErrorKey]interface{}

MakeEasyDetail maps errors with unique key

func NewGenErrorToError

func NewGenErrorToError(errData ErrorData) error

func SendData

func SendData(c *gin.Context, status int, data interface{})

SendData oui

func SendError

func SendError(c *gin.Context, errorNewGen ErrorData, details map[ErrorKey]interface{}, errorToLog error)

SendError Permet de renvoyer au front une erreur

func SetupLogrus

func SetupLogrus(path string, logger *logrus.Logger) error

SetupLogrus

Types

type DatabaseConfig

type DatabaseConfig struct {
	Host     string
	Port     string
	User     string
	Password string
	DBName   string
	SSLMode  string
	Schema   string
}

DatabaseConfig is a struct to manage database configuration.

func InitWithViper

func InitWithViper(vpr *viper.Viper) DatabaseConfig

InitWithViper simply takes a configured viper pointer and returns a new DatabaseConfig with hydrated fields according to viper's configuration.

func (DatabaseConfig) ConnString

func (dbc DatabaseConfig) ConnString() string

ConnString returns a connexion string according to current configuration.

type Descriptions

type Descriptions struct {
	FR  string `json:"fr"`
	ENG string `json:"eng"`
}

Descriptions Used to store errors payload

type ErrorData

type ErrorData struct {
	Title      string                   `json:"title"`
	HttpStatus int                      `json:"httpStatus"`
	Descr      Descriptions             `json:"descriptions"`
	Details    map[ErrorKey]interface{} `json:"details"`
}

ErrorData is used to describe an error and send it to frontend

func ErrAuth

func ErrAuth() ErrorData

func ErrBadCredentials

func ErrBadCredentials() ErrorData

func ErrBadPassword

func ErrBadPassword() ErrorData

func ErrBadRequest

func ErrBadRequest() ErrorData

func ErrBadTokenConnection

func ErrBadTokenConnection() ErrorData

func ErrDuplicate

func ErrDuplicate() ErrorData

func ErrForbidden

func ErrForbidden() ErrorData

func ErrInternalServerError

func ErrInternalServerError() ErrorData

func ErrInvalidInput

func ErrInvalidInput() ErrorData

func ErrInvalidInputCookies

func ErrInvalidInputCookies() ErrorData

func ErrInvalidInputImage

func ErrInvalidInputImage() ErrorData

func ErrInvalidInputJSON

func ErrInvalidInputJSON() ErrorData

func ErrInvalidInputURL

func ErrInvalidInputURL() ErrorData

func ErrNotFound

func ErrNotFound() ErrorData

func ErrPasswordStrength

func ErrPasswordStrength() ErrorData

func ErrUnauthorized

func ErrUnauthorized() ErrorData

type ErrorKey

type ErrorKey string
const (
	// URL : error is about bad URL
	URL ErrorKey = "URL"
	// PAYLOAD : error is about bad data payload formatting
	PAYLOAD ErrorKey = "PAYLOAD"
	// HEADER : error is in the header of the request
	HEADER ErrorKey = "HEADER"
	// DATA : generic error about bad data
	DATA ErrorKey = "DATA"
)

type Logger

type Logger struct {
	// Logs is main pointer to logrus
	Logs *logrus.Entry
	// contains filtered or unexported fields
}

Logger

func (*Logger) Init

func (l *Logger) Init(name, logLevel, logPath string) error

Init create and setup logrus available log levels : panic, fatal, error, warn, info, debug, trace (ordered)

func (*Logger) InitWithViper

func (l *Logger) InitWithViper(vpr *viper.Viper) error

InitWithViper allows to init log by just passing viper instance instead of all parameters You can use InitWithViper or Init

Jump to

Keyboard shortcuts

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