Documentation
¶
Index ¶
- Variables
- func CamelToSnakeCase(str string) string
- func CheckMetadataKeyAndValueLength(limit int, metadata map[string]any) error
- func Contains[T comparable](slice []T, item T) bool
- func ContextWithHeaderID(ctx context.Context, headerID string) context.Context
- func ContextWithLogger(ctx context.Context, logger log.Logger) context.Context
- func ContextWithTracer(ctx context.Context, tracer trace.Tracer) context.Context
- func EnsureConfigFromEnvVars(s any) any
- func GenerateUUIDv7() uuid.UUID
- func GetCPUUsage(ctx context.Context, cpuGauge metric.Int64Gauge)
- func GetMapNumKinds() map[reflect.Kind]bool
- func GetMemUsage(ctx context.Context, memGauge metric.Int64Gauge)
- func GetenvBoolOrDefault(key string, defaultValue bool) bool
- func GetenvIntOrDefault(key string, defaultValue int64) int64
- func GetenvOrDefault(key string, defaultValue string) string
- func HashSHA256(input string) string
- func InternalKey(organizationID, ledgerID uuid.UUID, key string) string
- func IsDateRangeWithinMonthLimit(initial, final time.Time, limit int) bool
- func IsInitialDateBeforeFinalDate(initial, final time.Time) bool
- func IsNilOrEmpty(s *string) bool
- func IsUUID(s string) bool
- func IsValidDate(date string) bool
- func LockInternalKey(organizationID, ledgerID uuid.UUID, key string) string
- func MergeMaps(source, target map[string]any) map[string]any
- func NewHeaderIDFromContext(ctx context.Context) string
- func NewLoggerFromContext(ctx context.Context) log.Logger
- func NewTracerFromContext(ctx context.Context) trace.Tracer
- func NormalizeDate(date time.Time, days *int) string
- func RegexIgnoreAccents(regex string) string
- func RemoveAccents(word string) (string, error)
- func RemoveChars(str string, chars map[string]bool) string
- func RemoveSpaces(word string) string
- func ReplaceUUIDWithPlaceholder(path string) string
- func Reverse[T any](s []T) []T
- func SafeInt64ToInt(val int64) int
- func SafeIntToUint64(val int) uint64
- func SafeUintToInt64(val uint) int64
- func SetConfigFromEnvVars(s any) error
- func StringToInt(s string) int
- func StructToJSONString(s any) (string, error)
- func ValidateAccountType(t string) error
- func ValidateBusinessError(err error, entityType string, args ...any) error
- func ValidateCode(code string) error
- func ValidateCountryAddress(country string) error
- func ValidateCurrency(code string) error
- func ValidateServerAddress(value string) string
- func ValidateType(t string) error
- type App
- type CustomContextKeyValue
- type Launcher
- type LauncherOption
- type LocalEnvConfig
- type Response
- type Syscmd
- type SyscmdI
Constants ¶
This section is empty.
Variables ¶
var CustomContextKey = customContextKey("custom_context")
Functions ¶
func CamelToSnakeCase ¶
CamelToSnakeCase converts a given camelCase string to snake_case format.
func CheckMetadataKeyAndValueLength ¶
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 ContextWithHeaderID ¶
ContextWithHeaderID returns a context within a HeaderID in "headerID" value.
func ContextWithLogger ¶
ContextWithLogger returns a context within a Logger in "logger" value.
func ContextWithTracer ¶
ContextWithTracer returns a context within a trace.Tracer in "tracer" value.
func EnsureConfigFromEnvVars ¶
EnsureConfigFromEnvVars ensures that an interface will be settled using SetConfigFromEnvVars anyway.
func GenerateUUIDv7 ¶
GenerateUUIDv7 generate a new uuid v7 using google/uuid package and return it. If an error occurs, it will return the error.
func GetCPUUsage ¶
func GetCPUUsage(ctx context.Context, cpuGauge metric.Int64Gauge)
GetCPUUsage get the current CPU usage
func GetMapNumKinds ¶
GetMapNumKinds get the map of numeric kinds to use in validations and conversions.
The numeric kinds are: - int - int8 - int16 - int32 - int64 - float32 - float64
func GetMemUsage ¶
func GetMemUsage(ctx context.Context, memGauge metric.Int64Gauge)
GetMemUsage get the current memory usage
func GetenvBoolOrDefault ¶
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 ¶
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 ¶
GetenvOrDefault encapsulate built-in os.Getenv behavior but if key is not present it returns the defaultValue.
func HashSHA256 ¶
HashSHA256 generate a hash sha-256 to create idempotency on redis
func IsDateRangeWithinMonthLimit ¶
IsDateRangeWithinMonthLimit checks if the date range is within the permitted range in months.
func IsInitialDateBeforeFinalDate ¶
IsInitialDateBeforeFinalDate checks if the initial date is before or equal to the final date.
func IsNilOrEmpty ¶
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 IsValidDate ¶
IsValidDate checks if the provided date string is in the format "YYYY-MM-DD".
func NewHeaderIDFromContext ¶
NewHeaderIDFromContext returns a HeaderID from the context.
func NewLoggerFromContext ¶
NewLoggerFromContext extract the Logger from "logger" value inside context
func NewTracerFromContext ¶
NewTracerFromContext returns a new tracer from the context.
func NormalizeDate ¶
NormalizeDate normalizes a date adding or subtracting days to make it match the query requirements and string format.
func RegexIgnoreAccents ¶
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 ¶
RemoveAccents removes accents of a given word and returns it
func RemoveChars ¶
RemoveChars from a string
func RemoveSpaces ¶
RemoveSpaces removes spaces of a given word and returns it
func ReplaceUUIDWithPlaceholder ¶
ReplaceUUIDWithPlaceholder replaces UUIDs with a placeholder in a given path string.
func SafeInt64ToInt ¶
SafeInt64ToInt safely converts int64 to int
func SafeIntToUint64 ¶
SafeIntToUint64 safe mode to converter int to uint64
func SafeUintToInt64 ¶ added in v1.1.0
SafeUintToInt64 converts a uint to int64 safely by capping values at math.MaxInt64.
func SetConfigFromEnvVars ¶
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 ¶
StructToJSONString convert a struct to json string
func ValidateAccountType ¶
ValidateAccountType validate type values of accounts
func ValidateBusinessError ¶
ValidateBusinessError validates the error and returns the appropriate business error code, title, and message.
Parameters:
- err: The error to be validated (ref: https://github.com/LerianStudio/midaz/common/constant/errors.go).
- entityType: The type of the entity related to the error.
- args: Additional arguments for formatting error messages.
Returns:
- error: The appropriate business error with code, title, and message.
func ValidateCode ¶
func ValidateCountryAddress ¶
ValidateCountryAddress validate if country in object address contains in countries list using ISO 3166-1 alpha-2
func ValidateCurrency ¶
ValidateCurrency validate if code contains in currencies list using ISO 4217
func ValidateServerAddress ¶
ValidateServerAddress checks if the value matches the pattern <some-address>:<some-port> and returns the value if it does.
func ValidateType ¶
ValidateType validate type values of currencies
Types ¶
type App ¶
App represents an application that will run as a deployable component. It's an entrypoint at main.go. RedisRepository provides an interface for redis.
type CustomContextKeyValue ¶
type Launcher ¶
Launcher manages apps.
func NewLauncher ¶
func NewLauncher(opts ...LauncherOption) *Launcher
NewLauncher create an instance of Launch.
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 log.Logger) LauncherOption
WithLogger adds a log.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 Response ¶
type Response 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"`
}
Response represents a business error with code, title, and message.