Documentation ¶
Index ¶
- func CamelToSnakeCase(str string) string
- func CheckMetadataKeyAndValueLength(limit int, metadata map[string]any) error
- func Contains[T comparable](slice []T, item T) bool
- func EnsureConfigFromEnvVars(s any) any
- func GenerateUUIDv7() uuid.UUID
- func GetenvBoolOrDefault(key string, defaultValue bool) bool
- func GetenvIntOrDefault(key string, defaultValue int64) int64
- func GetenvOrDefault(key string, defaultValue string) string
- func IsNilOrEmpty(s *string) bool
- func IsUUID(s string) bool
- func MergeMaps(source, target map[string]any) map[string]any
- 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 SafeIntToUint64(val int) uint64
- func SetConfigFromEnvVars(s any) error
- func StructToJSONString(s any) (string, error)
- func ValidateAccountType(t string) error
- func ValidateBadRequestFieldsError(requiredFields, knownInvalidFields map[string]string, entityType 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 ValidateInternalError(err error, entityType string) error
- func ValidateType(t string) error
- type App
- type EntityConflictError
- type EntityNotFoundError
- type FailedPreconditionError
- type FieldValidations
- type ForbiddenError
- type HTTPError
- type InternalServerError
- type Launcher
- type LauncherOption
- type LocalEnvConfig
- type ResponseError
- type UnauthorizedError
- type UnknownFields
- type UnprocessableOperationError
- type ValidationError
- type ValidationKnownFieldsError
- type ValidationUnknownFieldsError
Constants ¶
This section is empty.
Variables ¶
This section is empty.
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 EnsureConfigFromEnvVars ¶
EnsureConfigFromEnvVars ensures that an interface will be settled using SetConfigFromEnvVars anyway.
func GenerateUUIDv7 ¶ added in v1.24.0
GenerateUUIDv7 generate a new uuid v7 using google/uuid package and return it. If an error occurs, it will return the error.
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 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 RegexIgnoreAccents ¶ added in v1.3.0
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 ¶ added in v1.3.0
RemoveChars from a string
func RemoveSpaces ¶
RemoveSpaces removes spaces of a given word and returns it
func SafeIntToUint64 ¶ added in v1.9.0
SafeIntToUint64 safe mode to converter int to uint64
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 ¶ added in v1.14.0
StructToJSONString convert a struct to json string
func ValidateAccountType ¶ added in v1.22.0
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
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 ¶ added in v1.20.0
func ValidateCountryAddress ¶ added in v1.1.0
ValidateCountryAddress validate if country in object address contains in countries list using ISO 3166-1 alpha-2
func ValidateCurrency ¶ added in v1.1.0
ValidateCurrency validate if code contains in currencies list using ISO 4217
func ValidateInternalError ¶ added in v1.16.0
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
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.
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
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 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 ¶
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 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 {}
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
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 ¶
func (e UnprocessableOperationError) Error() string
type ValidationError ¶
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
func (r ValidationKnownFieldsError) Error() string
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
func (r ValidationUnknownFieldsError) Error() string
Error returns the error message for a ValidationUnknownFieldsError.
No parameters. Returns a string.