cart

package
v0.0.0-...-3bb7120 Latest Latest
Warning

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

Go to latest
Published: Aug 21, 2024 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Cart

type Cart struct {
	ID           int64
	UserID       *int64
	Status       CartStatus
	LastActivity pgtype.Timestamptz
	ExpiresAt    pgtype.Timestamptz
	CreatedAt    pgtype.Timestamptz
	UpdatedAt    pgtype.Timestamptz
}

type CartItem

type CartItem struct {
	ID                int64
	CartID            int64
	VariantID         int64
	Qty               int32
	Price             decimal.Decimal
	Currency          string
	Thumbnail         string
	ProductName       string
	ProductPath       string
	VariantAttributes []byte
	IsRemoved         bool
	CreatedAt         pgtype.Timestamptz
	UpdatedAt         pgtype.Timestamptz
}

type CartStatus

type CartStatus string
const (
	CartStatusOpen      CartStatus = "Open"
	CartStatusCompleted CartStatus = "Completed"
	CartStatusMerged    CartStatus = "Merged"
	CartStatusExpired   CartStatus = "Expired"
	CartStatusAbandoned CartStatus = "Abandoned"
)

func (*CartStatus) Scan

func (e *CartStatus) Scan(src interface{}) error

type DBTX

type DBTX interface {
	Exec(context.Context, string, ...interface{}) (pgconn.CommandTag, error)
	Query(context.Context, string, ...interface{}) (pgx.Rows, error)
	QueryRow(context.Context, string, ...interface{}) pgx.Row
}

type NullCartStatus

type NullCartStatus struct {
	CartStatus CartStatus
	Valid      bool // Valid is true if CartStatus is not NULL
}

func (*NullCartStatus) Scan

func (ns *NullCartStatus) Scan(value interface{}) error

Scan implements the Scanner interface.

func (NullCartStatus) Value

func (ns NullCartStatus) Value() (driver.Value, error)

Value implements the driver Valuer interface.

type Querier

type Querier interface {
	AddCartItem(ctx context.Context, cartID int64, variantID int64, qty int32, price decimal.Decimal, currency string, thumbnail string, productName string, productPath string, variantAttributes []byte) (*CartItem, error)
	CartItemExistsByCartID(ctx context.Context, iD int64, cartID int64) (bool, error)
	CountCartItemsByCartID(ctx context.Context, cartID int64) (int64, error)
	CountCartItemsByUserIdAndCartStatus(ctx context.Context, userID *int64, status CartStatus) (int64, error)
	CreateCart(ctx context.Context, userID *int64) (*Cart, error)
	CreateGuestCart(ctx context.Context, expiresAt pgtype.Timestamptz) (*Cart, error)
	DeleteCartItem(ctx context.Context, id int64) (int64, error)
	GetCartByID(ctx context.Context, id int64) (*Cart, error)
	GetCartByUserID(ctx context.Context, userID *int64) (*Cart, error)
	GetCartItemsByCartID(ctx context.Context, cartID int64) ([]*CartItem, error)
	GetCartItemsByUserID(ctx context.Context, userID *int64) ([]*CartItem, error)
	IncrementCartItemQty(ctx context.Context, cartID int64, variantID int64, qty int32) (*CartItem, error)
	IsCartItemExistsByCartUserID(ctx context.Context, iD int64, userID *int64) (bool, error)
	MergeGuestCartWithUserCart(ctx context.Context, guestCartID int64, userCartID int64) error
	UpdateCartItemQty(ctx context.Context, iD int64, qty int32) (int64, error)
	UpdateCartStatus(ctx context.Context, iD int64, status CartStatus) (int64, error)
}

type Queries

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

func New

func New(db DBTX) *Queries

func (*Queries) AddCartItem

func (q *Queries) AddCartItem(ctx context.Context, cartID int64, variantID int64, qty int32, price decimal.Decimal, currency string, thumbnail string, productName string, productPath string, variantAttributes []byte) (*CartItem, error)

func (*Queries) CartItemExistsByCartID

func (q *Queries) CartItemExistsByCartID(ctx context.Context, iD int64, cartID int64) (bool, error)

func (*Queries) CountCartItemsByCartID

func (q *Queries) CountCartItemsByCartID(ctx context.Context, cartID int64) (int64, error)

func (*Queries) CountCartItemsByUserIdAndCartStatus

func (q *Queries) CountCartItemsByUserIdAndCartStatus(ctx context.Context, userID *int64, status CartStatus) (int64, error)

func (*Queries) CreateCart

func (q *Queries) CreateCart(ctx context.Context, userID *int64) (*Cart, error)

func (*Queries) CreateGuestCart

func (q *Queries) CreateGuestCart(ctx context.Context, expiresAt pgtype.Timestamptz) (*Cart, error)

func (*Queries) DeleteCartItem

func (q *Queries) DeleteCartItem(ctx context.Context, id int64) (int64, error)

func (*Queries) GetCartByID

func (q *Queries) GetCartByID(ctx context.Context, id int64) (*Cart, error)

func (*Queries) GetCartByUserID

func (q *Queries) GetCartByUserID(ctx context.Context, userID *int64) (*Cart, error)

func (*Queries) GetCartItemsByCartID

func (q *Queries) GetCartItemsByCartID(ctx context.Context, cartID int64) ([]*CartItem, error)

func (*Queries) GetCartItemsByUserID

func (q *Queries) GetCartItemsByUserID(ctx context.Context, userID *int64) ([]*CartItem, error)

func (*Queries) IncrementCartItemQty

func (q *Queries) IncrementCartItemQty(ctx context.Context, cartID int64, variantID int64, qty int32) (*CartItem, error)

func (*Queries) IsCartItemExistsByCartUserID

func (q *Queries) IsCartItemExistsByCartUserID(ctx context.Context, iD int64, userID *int64) (bool, error)

func (*Queries) MergeGuestCartWithUserCart

func (q *Queries) MergeGuestCartWithUserCart(ctx context.Context, guestCartID int64, userCartID int64) error

func (*Queries) UpdateCartItemQty

func (q *Queries) UpdateCartItemQty(ctx context.Context, iD int64, qty int32) (int64, error)

func (*Queries) UpdateCartStatus

func (q *Queries) UpdateCartStatus(ctx context.Context, iD int64, status CartStatus) (int64, error)

func (*Queries) WithTx

func (q *Queries) WithTx(tx pgx.Tx) *Queries

type Repository

type Repository interface {
	Querier
}

func NewRepository

func NewRepository(db *pgxpool.Pool) Repository

Jump to

Keyboard shortcuts

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