wbcr

package
v0.6.0 Latest Latest
Warning

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

Go to latest
Published: Dec 13, 2025 License: GPL-3.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrNotFound = server.JSONErrorResponse{
		Code:       http.StatusNotFound,
		Message:    "Entity not found",
		LogMessage: "Entity not found",
	}

	ErrAlreadyExists = server.JSONErrorResponse{
		Code:       http.StatusConflict,
		Message:    "A value with the given key already exists",
		LogMessage: "A value with the given key already exists",
	}
)

Functions

This section is empty.

Types

type ExtendablePersister

type ExtendablePersister[K comparable, V any, PT Keyer[K, V]] struct {
	IntCreate func(*server.Context, K, PT) error
	IntUpdate func(*server.Context, K, PT) (V, error)
	IntGet    func(ctx *server.Context, key K) (V, error)
	IntGetAll func(ctx *server.Context) ([]PT, error)
	IntDelete func(ctx *server.Context, key K) error
}

func (*ExtendablePersister[K, V, PT]) Create

func (e *ExtendablePersister[K, V, PT]) Create(ctx *server.Context, key K, value PT) error

func (*ExtendablePersister[K, V, PT]) Delete

func (e *ExtendablePersister[K, V, PT]) Delete(ctx *server.Context, key K) error

func (*ExtendablePersister[K, V, PT]) Get

func (e *ExtendablePersister[K, V, PT]) Get(ctx *server.Context, key K) (V, error)

func (*ExtendablePersister[K, V, PT]) GetAll

func (e *ExtendablePersister[K, V, PT]) GetAll(ctx *server.Context) ([]PT, error)

func (*ExtendablePersister[K, V, PT]) Update

func (e *ExtendablePersister[K, V, PT]) Update(ctx *server.Context, key K, value PT) (V, error)

type GormPersister

type GormPersister[K comparable, V any, PT Keyer[K, V]] struct {
	// contains filtered or unexported fields
}

func (*GormPersister[K, V, PT]) Create

func (p *GormPersister[K, V, PT]) Create(ctx *server.Context, value PT) (V, error)

func (*GormPersister[K, V, PT]) Delete

func (p *GormPersister[K, V, PT]) Delete(ctx *server.Context, key K) error

func (*GormPersister[K, V, PT]) Get

func (p *GormPersister[K, V, PT]) Get(ctx *server.Context, key K) (V, error)

func (*GormPersister[K, V, PT]) GetAll

func (p *GormPersister[K, V, PT]) GetAll(ctx *server.Context) ([]PT, error)

func (*GormPersister[K, V, PT]) RunMigration

func (p *GormPersister[K, V, PT]) RunMigration(repository *server.Repository)

func (*GormPersister[K, V, PT]) RunMigrationInternalRepo added in v0.4.2

func (p *GormPersister[K, V, PT]) RunMigrationInternalRepo()

func (*GormPersister[K, V, PT]) SetRepository added in v0.4.2

func (p *GormPersister[K, V, PT]) SetRepository(repo *server.Repository)

func (*GormPersister[K, V, PT]) Update

func (p *GormPersister[K, V, PT]) Update(ctx *server.Context, value PT) (V, error)

type Keyer

type Keyer[K comparable, V any] interface {
	SetKey(key K)
	GetKey() K
	GetValue() V
	GetKeyName() string
	*V // non-interface type constraint
}

type Persister

type Persister[K comparable, V any, PT Keyer[K, V]] interface {
	Create(ctx *server.Context, value PT) (V, error)
	Update(ctx *server.Context, value PT) (V, error)
	Get(ctx *server.Context, key K) (V, error)
	GetAll(ctx *server.Context) ([]PT, error)
	Delete(ctx *server.Context, key K) error
}

type WBCacheRepository

type WBCacheRepository[K comparable, V any, PT Keyer[K, V]] struct {
	// contains filtered or unexported fields
}

func CreateWBCacheRepository

func CreateWBCacheRepository[K comparable, V any, PT Keyer[K, V]](persister Persister[K, V, PT]) *WBCacheRepository[K, V, PT]

func (*WBCacheRepository[K, V, PT]) Delete

func (wbcr *WBCacheRepository[K, V, PT]) Delete(ctx *server.Context, key K) error

func (*WBCacheRepository[K, V, PT]) GetAllKnownKeys

func (wbcr *WBCacheRepository[K, V, PT]) GetAllKnownKeys(ctx *server.Context, ensureAllLoaded bool) (map[K]bool, error)

func (*WBCacheRepository[K, V, PT]) GetByKey

func (wbcr *WBCacheRepository[K, V, PT]) GetByKey(ctx *server.Context, key K) (V, error)

func (*WBCacheRepository[K, V, PT]) Insert

func (wbcr *WBCacheRepository[K, V, PT]) Insert(ctx *server.Context, value PT) error

func (*WBCacheRepository[K, V, PT]) Search

func (wbcr *WBCacheRepository[K, V, PT]) Search(ctx *server.Context, searcher func(V) bool, ensureLoaded bool) ([]V, error)

func (*WBCacheRepository[K, V, PT]) Update

func (wbcr *WBCacheRepository[K, V, PT]) Update(ctx *server.Context, value PT) error

Jump to

Keyboard shortcuts

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