repository

package
v0.0.0-...-ad7bef5 Latest Latest
Warning

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

Go to latest
Published: Dec 12, 2023 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Connect

func Connect(cfg *config.PG) (*pgxpool.Pool, error)

func GenerateOrder

func GenerateOrder() *models.Order

Types

type Cache

type Cache interface {
	CreateCache(or models.Order)
	PreloadCache(orders []models.Order)
	GetOrderByIdCache(id string) *models.Order
	GetOrdersCache(limit int, offset int) []*models.Order
	GetOrdersCount() int
}

type Order

type Order interface {
	CreateTable() error
	SaveOrder(order models.Order) error
	GetOrders() ([]models.Order, error)
}

type OrderCache

type OrderCache struct {
	// contains filtered or unexported fields
}

func NewOrderCache

func NewOrderCache(cache *cache.OrderCache) *OrderCache

func (*OrderCache) CreateCache

func (oc *OrderCache) CreateCache(or models.Order)

func (*OrderCache) GetOrderByIdCache

func (oc *OrderCache) GetOrderByIdCache(id string) *models.Order

func (*OrderCache) GetOrdersCache

func (oc *OrderCache) GetOrdersCache(limit int, offset int) []*models.Order

func (*OrderCache) GetOrdersCount

func (oc *OrderCache) GetOrdersCount() int

func (*OrderCache) PreloadCache

func (oc *OrderCache) PreloadCache(orders []models.Order)

type Repo

type Repo struct {
	// contains filtered or unexported fields
}

func NewOrderPostgres

func NewOrderPostgres(pool *pgxpool.Pool) *Repo

func (*Repo) CreateTable

func (r *Repo) CreateTable() error

func (*Repo) GetOrder

func (r *Repo) GetOrder(uid string) (models.Order, error)

useless, т.к. все заказы разом подгружаются в кэш и данные http запросов читаются из кэша

func (*Repo) GetOrders

func (r *Repo) GetOrders() ([]models.Order, error)

func (*Repo) SaveOrder

func (r *Repo) SaveOrder(order models.Order) error

type Repository

type Repository struct {
	Order
	Cache
}

func NewRepository

func NewRepository(db *pgxpool.Pool, cache *cache.OrderCache) *Repository

Jump to

Keyboard shortcuts

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