common

package
v1.27.0-beta.25 Latest Latest
Warning

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

Go to latest
Published: Nov 13, 2024 License: Apache-2.0 Imports: 24 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var CustomContextKey = customContextKey("custom_context")

Functions

func CamelToSnakeCase

func CamelToSnakeCase(str string) string

CamelToSnakeCase converts a given camelCase string to snake_case format.

func CheckMetadataKeyAndValueLength

func CheckMetadataKeyAndValueLength(limit int, metadata map[string]any) error

CheckMetadataKeyAndValueLength check the length of key and value to a limit pass by on field limit

func Contains

func Contains[T comparable](slice []T, item T) bool

Contains checks if an item is in a slice. This function uses type parameters to work with any slice type.

func ContextWithLogger added in v1.27.0

func ContextWithLogger(ctx context.Context, logger mlog.Logger) context.Context

ContextWithLogger returns a context within a Logger in "logger" value.

func ContextWithTracer added in v1.27.0

func ContextWithTracer(ctx context.Context, tracer trace.Tracer) context.Context

ContextWithTracer returns a context within a trace.Tracer in "tracer" value.

func EnsureConfigFromEnvVars

func EnsureConfigFromEnvVars(s any) any

EnsureConfigFromEnvVars ensures that an interface will be settled using SetConfigFromEnvVars anyway.

func GenerateUUIDv7 added in v1.24.0

func GenerateUUIDv7() uuid.UUID

GenerateUUIDv7 generate a new uuid v7 using google/uuid package and return it. If an error occurs, it will return the error.

func GetCPUUsage added in v1.27.0

func GetCPUUsage() int64

GetCPUUsage get the current CPU usage

func GetMemUsage added in v1.27.0

func GetMemUsage() int64

GetMemUsage get the current memory usage

func GetenvBoolOrDefault

func GetenvBoolOrDefault(key string, defaultValue bool) bool

GetenvBoolOrDefault returns the value of os.Getenv(key string) value as bool or defaultValue if error Is the environment variable (key) is not defined, it returns the given defaultValue If the environment variable (key) is not a valid bool format, it returns the given defaultValue If any error occurring during bool parse, it returns the given defaultValue.

func GetenvIntOrDefault

func GetenvIntOrDefault(key string, defaultValue int64) int64

GetenvIntOrDefault returns the value of os.Getenv(key string) value as int or defaultValue if error If the environment variable (key) is not defined, it returns the given defaultValue If the environment variable (key) is not a valid int format, it returns the given defaultValue If any error occurring during int parse, it returns the given defaultValue.

func GetenvOrDefault

func GetenvOrDefault(key string, defaultValue string) string

GetenvOrDefault encapsulate built-in os.Getenv behavior but if key is not present it returns the defaultValue.

func IsNilOrEmpty

func IsNilOrEmpty(s *string) bool

IsNilOrEmpty returns a boolean indicating if a *string is nil or empty. It's use TrimSpace so, a string " " and "" and "null" and "nil" will be considered empty

func IsUUID added in v1.14.0

func IsUUID(s string) bool

IsUUID Validate if the string pass through is an uuid

func MergeMaps added in v1.25.0

func MergeMaps(source, target map[string]any) map[string]any

MergeMaps Following the JSON Merge Patch

func NewLoggerFromContext added in v1.27.0

func NewLoggerFromContext(ctx context.Context) mlog.Logger

NewLoggerFromContext extract the Logger from "logger" value inside context

func NewTracerFromContext added in v1.27.0

func NewTracerFromContext(ctx context.Context) trace.Tracer

NewTracerFromContext returns a new tracer from the context.

func RegexIgnoreAccents added in v1.3.0

func RegexIgnoreAccents(regex string) string

RegexIgnoreAccents receives a regex, then, for each char it's adds the accents variations to expression Ex: Given "a" -> "aáàãâ" Ex: Given "c" -> "ç"

func RemoveAccents

func RemoveAccents(word string) (string, error)

RemoveAccents removes accents of a given word and returns it

func RemoveChars added in v1.3.0

func RemoveChars(str string, chars map[string]bool) string

RemoveChars from a string

func RemoveSpaces

func RemoveSpaces(word string) string

RemoveSpaces removes spaces of a given word and returns it

func ReplaceUUIDWithPlaceholder added in v1.27.0

func ReplaceUUIDWithPlaceholder(path string) string

ReplaceUUIDWithPlaceholder replaces UUIDs with a placeholder in a given path string.

func SafeIntToUint64 added in v1.9.0

func SafeIntToUint64(val int) uint64

SafeIntToUint64 safe mode to converter int to uint64

func SetConfigFromEnvVars

func SetConfigFromEnvVars(s any) error

SetConfigFromEnvVars builds a struct by setting it fields values using the "var" tag Constraints: s any - must be an initialized pointer Supported types: String, Boolean, Int, Int8, Int16, Int32 and Int64.

func StructToJSONString added in v1.14.0

func StructToJSONString(s any) (string, error)

StructToJSONString convert a struct to json string

func ValidateAccountType added in v1.22.0

func ValidateAccountType(t string) error

ValidateAccountType validate type values of accounts

func ValidateBadRequestFieldsError added in v1.16.0

func ValidateBadRequestFieldsError(requiredFields, knownInvalidFields map[string]string, entityType string, unknownFields map[string]any) error

ValidateBadRequestFieldsError validates the error and returns the appropriate bad request error code, title, message, and the invalid fields.

Parameters: - requiredFields: A map of missing required fields and their error messages. - knownInvalidFields: A map of known invalid fields and their validation errors. - entityType: The type of the entity associated with the error. - unknownFields: A map of unknown fields and their error messages.

Returns: - An error indicating the validation result, which could be a ValidationUnknownFieldsError or a ValidationKnownFieldsError.

func ValidateBusinessError added in v1.16.0

func ValidateBusinessError(err error, entityType string, args ...any) error

ValidateBusinessError validates the error and returns the appropriate business error code, title, and message.

Parameters:

Returns:

  • error: The appropriate business error with code, title, and message.

func ValidateCode added in v1.20.0

func ValidateCode(code string) error

func ValidateCountryAddress added in v1.1.0

func ValidateCountryAddress(country string) error

ValidateCountryAddress validate if country in object address contains in countries list using ISO 3166-1 alpha-2

func ValidateCurrency added in v1.1.0

func ValidateCurrency(code string) error

ValidateCurrency validate if code contains in currencies list using ISO 4217

func ValidateInternalError added in v1.16.0

func ValidateInternalError(err error, entityType string) error

ValidateInternalError validates the error and returns an appropriate InternalServerError.

Parameters: - err: The error to be validated. - entityType: The type of the entity associated with the error.

Returns: - An InternalServerError with the appropriate code, title, message.

func ValidateType added in v1.1.0

func ValidateType(t string) error

ValidateType validate type values of currencies

Types

type App

type App interface {
	Run(launcher *Launcher) error
}

App represents an application that will run as a deployable component. It's an entrypoint at main.go.

type CustomContextKeyValue added in v1.27.0

type CustomContextKeyValue struct {
	Tracer trace.Tracer
	Logger mlog.Logger
}

type EntityConflictError

type EntityConflictError struct {
	EntityType string
	Title      string
	Message    string
	Code       string
	Err        error
}

EntityConflictError records an error indicating an entity already exists in some repository You can use it to representing a Database conflict, cache or any other repository.

func (EntityConflictError) Error

func (e EntityConflictError) Error() string

Error implements the error interface.

func (EntityConflictError) Unwrap

func (e EntityConflictError) Unwrap() error

Unwrap implements the error interface introduced in Go 1.13 to unwrap the internal error.

type EntityNotFoundError

type EntityNotFoundError struct {
	EntityType string
	Title      string
	Message    string
	Code       string
	Err        error
}

EntityNotFoundError records an error indicating an entity was not found in any case that caused it. You can use it to representing a Database not found, cache not found or any other repository.

func NewEntityNotFoundError

func NewEntityNotFoundError(entityType string) EntityNotFoundError

NewEntityNotFoundError creates an instance of EntityNotFoundError.

func WrapEntityNotFoundError

func WrapEntityNotFoundError(entityType string, err error) EntityNotFoundError

WrapEntityNotFoundError creates an instance of EntityNotFoundError.

func (EntityNotFoundError) Error

func (e EntityNotFoundError) Error() string

Error implements the error interface.

func (EntityNotFoundError) Unwrap

func (e EntityNotFoundError) Unwrap() error

Unwrap implements the error interface introduced in Go 1.13 to unwrap the internal error.

type FailedPreconditionError added in v1.14.0

type FailedPreconditionError struct {
	EntityType string `json:"entityType,omitempty"`
	Title      string `json:"title,omitempty"`
	Message    string `json:"message,omitempty"`
	Code       string `json:"code,omitempty"`
	Err        error  `json:"err,omitempty"`
}

FailedPreconditionError indicates a precondition failed during an operation.

func (FailedPreconditionError) Error added in v1.14.0

func (e FailedPreconditionError) Error() string

type FieldValidations added in v1.16.0

type FieldValidations map[string]string

FieldValidations is a map of known fields and their validation errors.

type ForbiddenError

type ForbiddenError struct {
	EntityType string `json:"entityType,omitempty"`
	Title      string `json:"title,omitempty"`
	Message    string `json:"message,omitempty"`
	Code       string `json:"code,omitempty"`
	Err        error  `json:"err,omitempty"`
}

ForbiddenError indicates an operation that couldn't be performant because the authenticated user has no sufficient privileges.

func (ForbiddenError) Error

func (e ForbiddenError) Error() string

type HTTPError

type HTTPError struct {
	EntityType string
	Title      string
	Message    string
	Code       string
	Err        error
}

HTTPError indicates a http error raised in a http client.

func (HTTPError) Error

func (e HTTPError) Error() string

type InternalServerError added in v1.16.0

type InternalServerError struct {
	EntityType string `json:"entityType,omitempty"`
	Title      string `json:"title,omitempty"`
	Message    string `json:"message,omitempty"`
	Code       string `json:"code,omitempty"`
	Err        error  `json:"err,omitempty"`
}

InternalServerError indicates a precondition failed during an operation.

func (InternalServerError) Error added in v1.16.0

func (e InternalServerError) Error() string

type Launcher

type Launcher struct {
	Logger mlog.Logger

	Verbose bool
	// contains filtered or unexported fields
}

Launcher manages apps.

func NewLauncher

func NewLauncher(opts ...LauncherOption) *Launcher

NewLauncher create an instance of Launch.

func (*Launcher) Add

func (l *Launcher) Add(appName string, a App) *Launcher

Add runs an application in a goroutine.

func (*Launcher) Run

func (l *Launcher) Run()

Run every application registered before with Run method.

type LauncherOption

type LauncherOption func(l *Launcher)

LauncherOption defines a function option for Launcher.

func RunApp

func RunApp(name string, app App) LauncherOption

RunApp start all process registered before to the launcher.

func WithLogger

func WithLogger(logger mlog.Logger) LauncherOption

WithLogger adds a mlog.Logger component to launcher.

type LocalEnvConfig

type LocalEnvConfig struct {
	Initialized bool
}

LocalEnvConfig is used to automatically call the InitLocalEnvConfig method using Dependency Injection So, if a func parameter or a struct field depends on LocalEnvConfig, when DI starts, it will call InitLocalEnvConfig as the LocalEnvConfig provider.

func InitLocalEnvConfig

func InitLocalEnvConfig() *LocalEnvConfig

InitLocalEnvConfig load a .env file to set up local environment vars It's called once per application process.

type ResponseError added in v1.16.0

type ResponseError struct {
	Code    int    `json:"code,omitempty"`
	Title   string `json:"title,omitempty"`
	Message string `json:"message,omitempty"`
}

ResponseError is a struct used to return errors to the client.

func (ResponseError) Error added in v1.16.0

func (r ResponseError) Error() string

Error returns the message of the ResponseError.

No parameters. Returns a string.

type UnauthorizedError

type UnauthorizedError struct {
	EntityType string `json:"entityType,omitempty"`
	Title      string `json:"title,omitempty"`
	Message    string `json:"message,omitempty"`
	Code       string `json:"code,omitempty"`
	Err        error  `json:"err,omitempty"`
}

UnauthorizedError indicates an operation that couldn't be performant because there's no user authenticated.

func (UnauthorizedError) Error

func (e UnauthorizedError) Error() string

type UnknownFields added in v1.16.0

type UnknownFields map[string]any

UnknownFields is a map of unknown fields and their error messages.

type UnprocessableOperationError

type UnprocessableOperationError struct {
	EntityType string
	Title      string
	Message    string
	Code       string
	Err        error
}

UnprocessableOperationError indicates an operation that couldn't be performant because it's invalid.

func (UnprocessableOperationError) Error

type ValidationError

type ValidationError struct {
	EntityType string `json:"entityType,omitempty"`
	Title      string
	Message    string
	Code       string
	Err        error `json:"err,omitempty"`
}

ValidationError records an error indicating an entity was not found in any case that caused it. You can use it to representing a Database not found, cache not found or any other repository.

func (ValidationError) Error

func (e ValidationError) Error() string

Error implements the error interface.

func (ValidationError) Unwrap

func (e ValidationError) Unwrap() error

Unwrap implements the error interface introduced in Go 1.13 to unwrap the internal error.

type ValidationKnownFieldsError added in v1.16.0

type ValidationKnownFieldsError struct {
	EntityType string           `json:"entityType,omitempty"`
	Title      string           `json:"title,omitempty"`
	Code       string           `json:"code,omitempty"`
	Message    string           `json:"message,omitempty"`
	Fields     FieldValidations `json:"fields,omitempty"`
}

ValidationKnownFieldsError records an error that occurred during a validation of known fields.

func (ValidationKnownFieldsError) Error added in v1.16.0

Error returns the error message for a ValidationKnownFieldsError.

No parameters. Returns a string.

type ValidationUnknownFieldsError added in v1.16.0

type ValidationUnknownFieldsError struct {
	EntityType string        `json:"entityType,omitempty"`
	Title      string        `json:"title,omitempty"`
	Code       string        `json:"code,omitempty"`
	Message    string        `json:"message,omitempty"`
	Fields     UnknownFields `json:"fields,omitempty"`
}

ValidationUnknownFieldsError records an error that occurred during a validation of known fields.

func (ValidationUnknownFieldsError) Error added in v1.16.0

Error returns the error message for a ValidationUnknownFieldsError.

No parameters. Returns a string.

Jump to

Keyboard shortcuts

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