generic

package
v0.5.6 Latest Latest
Warning

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

Go to latest
Published: Jul 28, 2023 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func SetEndpoints

func SetEndpoints[TK any, T any](router fiber.Router, database *gorm.DB, logger *zap.SugaredLogger) (IStore[TK, T], IService[TK, T], IHandler[TK, T])

Types

type Handler

type Handler[TK any, T any] struct {
	Service IService[TK, T]
	Logger  *zap.SugaredLogger
}

func (*Handler[TK, T]) Create

func (s *Handler[TK, T]) Create(c *fiber.Ctx) error

func (*Handler[TK, T]) Delete

func (s *Handler[TK, T]) Delete(c *fiber.Ctx) error

func (*Handler[TK, T]) Get

func (s *Handler[TK, T]) Get(c *fiber.Ctx) error

func (*Handler[TK, T]) List

func (s *Handler[TK, T]) List(c *fiber.Ctx) error

type IHandler

type IHandler[TK any, T any] interface {
	Get(c *fiber.Ctx) error
	Create(c *fiber.Ctx) error
	Delete(c *fiber.Ctx) error
	List(c *fiber.Ctx) error
}

func NewHandler

func NewHandler[TK any, T any](service IService[TK, T], logger *zap.SugaredLogger) IHandler[TK, T]

type IService

type IService[TK any, T any] interface {
	Get(id TK) (*T, error)
	Create(obj *T) error
	Delete(id TK) error
	List(start, limit int) ([]T, error)
}

func NewService

func NewService[TK any, T any](store IStore[TK, T], logger *zap.SugaredLogger) IService[TK, T]

type IStore

type IStore[TK any, T any] interface {
	Get(id TK) (*T, error)
	Create(obj *T) error
	Delete(id TK) error
	List(start, limit int) ([]T, error)
}

func NewStore

func NewStore[TK any, T any](db *gorm.DB) IStore[TK, T]

type Service

type Service[TK any, T any] struct {
	Store  IStore[TK, T]
	Logger *zap.SugaredLogger
}

func (*Service[TK, T]) Create

func (s *Service[TK, T]) Create(obj *T) error

func (*Service[TK, T]) Delete

func (s *Service[TK, T]) Delete(id TK) error

func (*Service[TK, T]) Get

func (s *Service[TK, T]) Get(id TK) (*T, error)

func (*Service[TK, T]) List

func (s *Service[TK, T]) List(start, limit int) ([]T, error)

type Store

type Store[TK any, T any] struct {
	// contains filtered or unexported fields
}

func (*Store[TK, T]) Create

func (s *Store[TK, T]) Create(obj *T) error

func (*Store[TK, T]) Delete

func (s *Store[TK, T]) Delete(id TK) error

func (*Store[TK, T]) Get

func (s *Store[TK, T]) Get(id TK) (*T, error)

func (*Store[TK, T]) List

func (s *Store[TK, T]) List(start, limit int) ([]T, error)

Jump to

Keyboard shortcuts

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