middleware

package
v0.0.0-...-833cb33 Latest Latest
Warning

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

Go to latest
Published: Jul 29, 2020 License: AGPL-3.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func WrapCategoryMiddleware

func WrapCategoryMiddleware(svcUnwrap service.Category, logger log.Logger) service.Category

HOC-like function to attach required observability (tracing, logging & metrics) and resiliency patterns to category's use case layer using chain-of-responsibility pattern

Types

type CategoryLog

type CategoryLog struct {
	Logger log.Logger
	Next   service.Category
}

func (CategoryLog) Create

func (l CategoryLog) Create(ctx context.Context, name string) (category *domain.Category, err error)

func (CategoryLog) Delete

func (l CategoryLog) Delete(ctx context.Context, id string) (err error)

func (CategoryLog) Get

func (l CategoryLog) Get(ctx context.Context, id string) (category *domain.Category, err error)

func (CategoryLog) HardDelete

func (l CategoryLog) HardDelete(ctx context.Context, id string) (err error)

func (CategoryLog) List

func (l CategoryLog) List(ctx context.Context, token, limit string,
	filter core.FilterParams) (categories []*domain.Category, nextToken string, err error)

func (CategoryLog) Restore

func (l CategoryLog) Restore(ctx context.Context, id string) (err error)

func (CategoryLog) Update

func (l CategoryLog) Update(ctx context.Context, id string, name string) (category *domain.Category, err error)

type CategoryMetric

type CategoryMetric struct {
	ReqCounter      *prometheus.CounterVec
	ReqErrCounter   *prometheus.CounterVec
	ReqSummary      *prometheus.SummaryVec
	CategoriesTotal prometheus.Gauge
	Next            service.Category
}

func (CategoryMetric) Create

func (c CategoryMetric) Create(ctx context.Context, name string) (category *domain.Category, err error)

func (CategoryMetric) Delete

func (c CategoryMetric) Delete(ctx context.Context, id string) (err error)

func (CategoryMetric) Get

func (c CategoryMetric) Get(ctx context.Context, id string) (category *domain.Category, err error)

func (CategoryMetric) HardDelete

func (c CategoryMetric) HardDelete(ctx context.Context, id string) (err error)

func (CategoryMetric) List

func (c CategoryMetric) List(ctx context.Context, token, limit string,
	filter core.FilterParams) (categories []*domain.Category, nextToken string, err error)

func (CategoryMetric) Restore

func (c CategoryMetric) Restore(ctx context.Context, id string) (err error)

func (CategoryMetric) Update

func (c CategoryMetric) Update(ctx context.Context, id string, name string) (category *domain.Category, err error)

type CategoryResiliency

type CategoryResiliency struct {
	Logger      log.Logger
	RateLimiter ratelimit.Limiter
	Next        service.Category
}

func (CategoryResiliency) Create

func (r CategoryResiliency) Create(ctx context.Context, name string) (*domain.Category, error)

func (CategoryResiliency) Delete

func (r CategoryResiliency) Delete(ctx context.Context, id string) error

func (CategoryResiliency) Get

func (CategoryResiliency) HardDelete

func (r CategoryResiliency) HardDelete(ctx context.Context, id string) error

func (CategoryResiliency) List

func (r CategoryResiliency) List(ctx context.Context, token, limit string,
	filter core.FilterParams) ([]*domain.Category, string, error)

func (CategoryResiliency) Restore

func (r CategoryResiliency) Restore(ctx context.Context, id string) error

func (CategoryResiliency) Update

func (r CategoryResiliency) Update(ctx context.Context, id string, name string) (*domain.Category, error)

Jump to

Keyboard shortcuts

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