repository

package
v1.8.0 Latest Latest
Warning

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

Go to latest
Published: May 12, 2026 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Init

func Init(db *gorm.DB)

Init creates all repository instances from the given DB.

Types

type AddressRepo

type AddressRepo interface {
	GetByIDAndUser(id, userID uint) (*model.Address, error)
}

AddressRepo defines data access operations for addresses.

func NewAddressRepo

func NewAddressRepo(db *gorm.DB) AddressRepo

type CartRepo

type CartRepo interface {
	FindByIDsAndUser(ids []uint, userID uint) ([]model.Cart, error)
	DeleteByIDsAndUser(tx *gorm.DB, ids []uint, userID uint) error
}

CartRepo defines data access operations for cart.

func NewCartRepo

func NewCartRepo(db *gorm.DB) CartRepo

type OrderRepo

type OrderRepo interface {
	GetByID(id uint) (*model.Order, error)
	GetByUserAndID(userID, id uint) (*model.Order, error)
	List(userID uint, status *int8, offset, limit int) ([]model.Order, int64, error)
	Create(tx *gorm.DB, order *model.Order) error
	UpdateStatus(tx *gorm.DB, id uint, status int8) error
}

OrderRepo defines data access operations for orders.

func NewOrderRepo

func NewOrderRepo(db *gorm.DB) OrderRepo

type Registry

type Registry struct {
	Order   OrderRepo
	Cart    CartRepo
	Address AddressRepo
	SKU     SKURepo
}
var Repos *Registry

Repos holds all repository instances. Initialized once at startup.

type SKURepo

type SKURepo interface {
	DeductStock(tx *gorm.DB, skuID uint, quantity int) error
	RestoreStock(tx *gorm.DB, skuID uint, quantity int) error
}

SKURepo defines data access operations for goods SKU.

func NewSKURepo

func NewSKURepo(db *gorm.DB) SKURepo

Jump to

Keyboard shortcuts

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