commonErrors

package
v1.22.0 Latest Latest
Warning

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

Go to latest
Published: Feb 24, 2026 License: Apache-2.0 Imports: 3 Imported by: 14

README

commonErrors

commonErrors declares shared sentinel errors and helper functions to wrap errors with consistent, contextual messages.

It’s used across the codebase so callers can:

  • compare root causes with errors.Is(err, commonErrors.ErrNotFound) (etc.)
  • wrap errors with useful context (table, field, operation, etc.)

Examples of sentinel errors

  • ErrNotFound
  • ErrValidationFailed
  • ErrInvalidField
  • ErrInvalidType
  • ErrDAONotInitialised

Cache-related:

  • ErrCacheNotEnabled
  • ErrCacheRecordNotFound
  • ErrCacheMultipleRecordsFound

Wrapper helpers

This package includes many wrapper functions such as:

  • ErrNotFoundWrapper(table string, err error) error
  • ErrGetWrapper(table, field string, value any, readErr error) error
  • ErrDAOInitialisationWrapper(table string, initErr error) error
  • ErrCacheRecordNotFoundWrapper(table string, key any) error

Example

import (
    "errors"

    ce "github.com/mt1976/frantic-core/commonErrors"
)

func example(err error) bool {
    return errors.Is(err, ce.ErrNotFound)
}

Documentation

Overview

Package commonErrors declares shared error variables and wrapping helpers to produce consistent, contextual error messages across the project.

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrEndDateBeforeStartDate = errors.New("end date is before start date")
	ErrEmptyName              = errors.New("name is empty")
	ErrNameTooLong            = errors.New("name is too long, max 50 characters") // Deprecated: use StringTooLongError
	ErrDuplicate              = errors.New("duplicate")
	ErrNegativeValue          = errors.New("negative value")
	//ErrNotFound               = errors.New("not found %w %w") // Deprecated: use NotFoundError
	ErrPasswordMismatch         = errors.New("password mismatch")
	ErrUserNotFound             = errors.New("user not found")
	ErrUserNotActive            = errors.New("user not active")
	ErrNoTranslation            = errors.New("no translation available")
	ErrNoMessageToTranslate     = errors.New("no message to translate")
	ErrProtocolIsRequired       = errors.New("protocol is required")
	ErrInvalidProtocol          = errors.New("invalid protocol")
	ErrHostIsRequired           = errors.New("host is required")
	ErrInvalidHost              = errors.New("invalid host")
	ErrPortIsRequired           = errors.New("port is required")
	ErrInvalidPort              = errors.New("invalid port")
	ErrUsernameIsRequired       = errors.New("username is required")
	ErrInvalidUsername          = errors.New("invalid username")
	ErrPasswordIsRequired       = errors.New("password is required")
	ErrInvalidPassword          = errors.New("invalid password")
	ErrOriginIsRequired         = errors.New("no origin defined, and origin identifier is required")
	ErrInvalidOrigin            = errors.New("invalid origin")
	ErrContextCannotGetUserCode = errors.New("cannot get user from context")

	// Generic, commonly reused sentinel errors for DAO / database usage.
	// These are intended to be wrapped with context using the helper
	// functions below (e.g. WrapNotFoundError, WrapDAOInitialisationError).
	ErrNotFound          = errors.New("not found")
	ErrValidationFailed  = errors.New("validation failed")
	ErrInvalidField      = errors.New("invalid field")
	ErrInvalidType       = errors.New("invalid type")
	ErrDAONotInitialised = errors.New("dao not initialised")
	ErrDAOInitialisation = errors.New("dao initialisation failed")
	ErrDBConnect         = errors.New("database connect failed")
	ErrDBDisconnect      = errors.New("database disconnect failed")
	ErrDBQuery           = errors.New("database query failed")
	ErrNotImplemented    = errors.New("not implemented")

	// Cache related errors
	ErrCacheNotEnabled           = errors.New("caching not enabled")
	ErrCacheNoKeyDefined         = errors.New("no key defined")
	ErrCacheDoesNotExist         = errors.New("cache does not exist")
	ErrCacheRecordNotFound       = errors.New("record not found in cache")
	ErrCacheNilData              = errors.New("cannot operate on nil data")
	ErrCacheNoHydrator           = errors.New("no hydrator defined")
	ErrCacheMultipleRecordsFound = errors.New("multiple records found in cache")

	// Message related errors
	ErrKeyRequired    = errors.New("key is required")
	ErrCodeRequired   = errors.New("code is required")
	ErrSourceRequired = errors.New("source is required")

	// Financial errors
	ErrNoCurrencyProvided = errors.New("no currency provided")
	ErrNoTenorProvided    = errors.New("no tenor provided")
	ErrInvalidTenor       = errors.New("invalid tenor")

	// Frantic identity errors
	ErrInvalidIdentityFormat = errors.New("name must have only two parts, separated by a - or _ character")
	ErrMissingSeparator      = errors.New("name must contain a - or _ character")
	ErrInvalidOriginFormat   = errors.New("invalid this is not a valid origin")
)

Functions

func ErrCacheDoesNotExistWrapper added in v1.7.0

func ErrCacheDoesNotExistWrapper(table string) error

func ErrCacheMultipleRecordsFoundWrapper added in v1.7.0

func ErrCacheMultipleRecordsFoundWrapper(table string, field string, value any, count int) error

func ErrCacheNilDataWrapper added in v1.7.0

func ErrCacheNilDataWrapper(operation string) error

func ErrCacheNoFlusherDefinedWrapper added in v1.7.0

func ErrCacheNoFlusherDefinedWrapper(table string) error

func ErrCacheNoHydratorDefinedWrapper added in v1.7.0

func ErrCacheNoHydratorDefinedWrapper(table string) error

func ErrCacheNoKeyDefinedWrapper added in v1.7.0

func ErrCacheNoKeyDefinedWrapper(operation, table string) error

func ErrCacheNoSynchroniserDefinedWrapper added in v1.7.0

func ErrCacheNoSynchroniserDefinedWrapper(table string) error

func ErrCacheNotEnabledWrapper added in v1.7.0

func ErrCacheNotEnabledWrapper(operation, key, structType string) error

Cache error wrappers

func ErrCacheRecordNotFoundWrapper added in v1.7.0

func ErrCacheRecordNotFoundWrapper(table string, key any) error

func ErrClearWrapper added in v1.6.0

func ErrClearWrapper(err error) error

func ErrCodeRequiredWrapper added in v1.7.0

func ErrCodeRequiredWrapper(messageType string) error

func ErrConnectWrapper added in v1.6.0

func ErrConnectWrapper(err error) error

func ErrCreateWrapper added in v1.6.0

func ErrCreateWrapper(err error) error

func ErrDAOAssertWrapper added in v1.6.0

func ErrDAOAssertWrapper(table, field string, value any, assetErr error) error

func ErrDAOCaclulationWrapper added in v1.6.0

func ErrDAOCaclulationWrapper(table string, calcErr error) error

func ErrDAOCreateWrapper added in v1.6.0

func ErrDAOCreateWrapper(table string, id any, createErr error) error

func ErrDAODeleteWrapper added in v1.6.0

func ErrDAODeleteWrapper(table, field string, value any, deleteErr error) error

func ErrDAOInitialisationWrapper added in v1.6.0

func ErrDAOInitialisationWrapper(table string, initErr error) error

func ErrDAOLookupWrapper added in v1.6.0

func ErrDAOLookupWrapper(table, field string, value any, lookupErr error) error

func ErrDAONotInitialisedWrapper added in v1.6.0

func ErrDAONotInitialisedWrapper(table, action string) error

func ErrDAOUpdateAuditWrapper added in v1.6.0

func ErrDAOUpdateAuditWrapper(table string, id any, auditErr error) error

func ErrDAOUpdateWrapper added in v1.6.0

func ErrDAOUpdateWrapper(table string, updateErr error) error

func ErrDAOValidationWrapper added in v1.6.0

func ErrDAOValidationWrapper(table string, valErr error) error

func ErrDeleteWrapper added in v1.6.0

func ErrDeleteWrapper(err error) error

func ErrDisconnectWrapper added in v1.6.0

func ErrDisconnectWrapper(err error) error

func ErrDropWrapper added in v1.6.0

func ErrDropWrapper(err error) error

func ErrEmailWrapper added in v1.6.0

func ErrEmailWrapper(err error) error

func ErrEmptyWrapper added in v1.6.0

func ErrEmptyWrapper(err error) error

func ErrFunctionalWrapper added in v1.6.0

func ErrFunctionalWrapper(err error, f string) error

func ErrGetWrapper added in v1.6.0

func ErrGetWrapper(table, field string, value any, readErr error) error

func ErrIDGenerationWrapper added in v1.6.0

func ErrIDGenerationWrapper(err error) error

func ErrInvalidFieldWrapper added in v1.6.0

func ErrInvalidFieldWrapper(f string) error

func ErrInvalidFilterWrapper added in v1.6.0

func ErrInvalidFilterWrapper(err error, f string) error

func ErrInvalidHttpReturnStatusWithMessageWrapper added in v1.6.0

func ErrInvalidHttpReturnStatusWithMessageWrapper(status, message string) error

func ErrInvalidHttpReturnStatusWrapper added in v1.6.0

func ErrInvalidHttpReturnStatusWrapper(s string) error

func ErrInvalidTenorWrapper added in v1.7.0

func ErrInvalidTenorWrapper(tenor string) error

Financial error wrappers

func ErrInvalidTypeWrapper added in v1.6.0

func ErrInvalidTypeWrapper(f, d, s string) error

func ErrKeyRequiredWrapper added in v1.7.0

func ErrKeyRequiredWrapper(messageType string) error

Message error wrappers

func ErrMockingWrapper added in v1.6.0

func ErrMockingWrapper(err error) error

func ErrNotFoundWrapper added in v1.6.0

func ErrNotFoundWrapper(table string, err error) error

func ErrNotificationWrapper added in v1.6.0

func ErrNotificationWrapper(err error) error

func ErrOSWrapper added in v1.6.0

func ErrOSWrapper(err error) error

func ErrReadWrapper added in v1.6.0

func ErrReadWrapper(err error) error

func ErrRecordNotFoundWrapper added in v1.6.0

func ErrRecordNotFoundWrapper(table, field, id string) error

func ErrSourceRequiredWrapper added in v1.7.0

func ErrSourceRequiredWrapper(messageType string) error

func ErrStringLengthExceededWrapper added in v1.6.0

func ErrStringLengthExceededWrapper(err error, ln int) error

func ErrUpdateWrapper added in v1.6.0

func ErrUpdateWrapper(err error) error

func ErrValidationWrapper added in v1.6.0

func ErrValidationWrapper(err error) error

func ErrWrapper added in v1.6.0

func ErrWrapper(err error) error

func ErrWriteWrapper added in v1.6.0

func ErrWriteWrapper(err error) error

func HandleGoValidatorError

func HandleGoValidatorError(err error) error

Types

This section is empty.

Jump to

Keyboard shortcuts

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