repositories

package
v0.0.0-...-625f0bf Latest Latest
Warning

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

Go to latest
Published: Dec 22, 2021 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ItemRepository

type ItemRepository interface {
	GetAllItems(ctx context.Context) ([]*entities.Item, error)
	GetItem(ctx context.Context, id int64) (*entities.Item, error)
	CreateItem(ctx context.Context, item *entities.Item) error
	UpdateItem(ctx context.Context, item *entities.Item) error
	DeleteItem(ctx context.Context, id int64) error
	GetItemsByOrderId(ctx context.Context, orderId int) ([]*entities.Item, error)
}

func InitItemRepository

func InitItemRepository(db *sqlx.DB) ItemRepository

type OrderRepository

type OrderRepository interface {
	GetAllOrders(ctx context.Context) ([]*entities.Order, error)
	GetOrdersByUserID(ctx context.Context, userID int64) ([]*entities.Order, error)
	GetOrder(ctx context.Context, id int64) (*entities.Order, error)
	CreateOrder(ctx context.Context, order *entities.Order) (*entities.Order, error)
	UpdateOrder(ctx context.Context, order *entities.Order) error
	GetOrderItems(ctx context.Context, orderID int64) ([]*entities.Item, error)
	GetOrdersByUserIDAndStatus(ctx context.Context, userID int64, status string) ([]*entities.Order, error)
}

func InitOrderRepository

func InitOrderRepository(db *sqlx.DB) OrderRepository

type StatRepository

type StatRepository interface {
	GetStatsLastMonth(ctx context.Context) (entities.Stat, error)
	GetStatsLastWeek(ctx context.Context) (entities.Stat, error)
	GetStatsLastDay(ctx context.Context) (entities.Stat, error)
	GetUsersWhoSpentMore(ctx context.Context) ([]entities.UserStat, error)
	GetMostOrderedItems(ctx context.Context) ([]entities.ItemStat, error)
	GetLeastOrderedItems(ctx context.Context) ([]entities.ItemStat, error)
	GetItemsNotOrdered(ctx context.Context) ([]entities.ItemStat, error)
	GetTotalNumberOfItems(ctx context.Context) (int, error)
	GetTotalNumberOfUsers(ctx context.Context) (int, error)
	GetTotalNumberOfOrders(ctx context.Context) (int, error)
}

func InitStatRepository

func InitStatRepository(db *sqlx.DB) StatRepository

type UserRepository

type UserRepository interface {
	GetAllUsers(ctx context.Context) ([]*entities.User, error)
	GetUserByID(ctx context.Context, id int64) (*entities.User, error)
	GetUserByUsername(ctx context.Context, username string) (*entities.User, error)
	CreateUser(ctx context.Context, user *entities.User) error
	UpdateUser(ctx context.Context, user *entities.User) error
	DeleteUser(ctx context.Context, id int64) error
}

func InitUserRepository

func InitUserRepository(db *sqlx.DB) UserRepository

Jump to

Keyboard shortcuts

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