repository

package
v0.0.0-...-80f30d8 Latest Latest
Warning

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

Go to latest
Published: Mar 24, 2025 License: MIT Imports: 12 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        uuid.UUID          `db:"id" json:"id"`
	UserID    uuid.UUID          `db:"user_id" json:"user_id"`
	CreatedAt pgtype.Timestamptz `db:"created_at" json:"created_at"`
	UpdatedAt pgtype.Timestamptz `db:"updated_at" json:"updated_at"`
}

type CartItem

type CartItem struct {
	ID        uuid.UUID          `db:"id" json:"id"`
	CartID    uuid.UUID          `db:"cart_id" json:"cart_id"`
	ProductID uuid.UUID          `db:"product_id" json:"product_id"`
	Quantity  int32              `db:"quantity" json:"quantity"`
	Price     pgtype.Numeric     `db:"price" json:"price"`
	CreatedAt pgtype.Timestamptz `db:"created_at" json:"created_at"`
	UpdatedAt pgtype.Timestamptz `db:"updated_at" json:"updated_at"`
}

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
	CopyFrom(ctx context.Context, tableName pgx.Identifier, columnNames []string, rowSrc pgx.CopyFromSource) (int64, error)
}

type DeleteCartByIdAndUserIdParams

type DeleteCartByIdAndUserIdParams struct {
	ID     uuid.UUID `db:"id" json:"id"`
	UserID uuid.UUID `db:"user_id" json:"user_id"`
}

type DeleteCartItemFromCartsByIdParams

type DeleteCartItemFromCartsByIdParams struct {
	ID     uuid.UUID `db:"id" json:"id"`
	CartID uuid.UUID `db:"cart_id" json:"cart_id"`
}

type FindCartByIdParams

type FindCartByIdParams struct {
	ID   uuid.UUID `db:"id" json:"id"`
	ID_2 uuid.UUID `db:"id_2" json:"id_2"`
}

type FindCartByIdRow

type FindCartByIdRow struct {
	ID        uuid.UUID          `db:"id" json:"id"`
	UserID    uuid.UUID          `db:"user_id" json:"user_id"`
	CreatedAt pgtype.Timestamptz `db:"created_at" json:"created_at"`
	UpdatedAt pgtype.Timestamptz `db:"updated_at" json:"updated_at"`
	CartItems []byte             `db:"cart_items" json:"cart_items"`
}

func (FindCartByIdRow) Response

func (f FindCartByIdRow) Response() (cartResponse.Cart, error)

type FindCartByUserIdRow

type FindCartByUserIdRow struct {
	ID        uuid.UUID          `db:"id" json:"id"`
	UserID    uuid.UUID          `db:"user_id" json:"user_id"`
	CreatedAt pgtype.Timestamptz `db:"created_at" json:"created_at"`
	UpdatedAt pgtype.Timestamptz `db:"updated_at" json:"updated_at"`
	CartItems []byte             `db:"cart_items" json:"cart_items"`
}

type FindOrderByIdParams

type FindOrderByIdParams struct {
	ID   uuid.UUID `db:"id" json:"id"`
	ID_2 uuid.UUID `db:"id_2" json:"id_2"`
}

type FindOrderByIdRow

type FindOrderByIdRow struct {
	ID         uuid.UUID          `db:"id" json:"id"`
	UserID     uuid.UUID          `db:"user_id" json:"user_id"`
	Status     OrderStatus        `db:"status" json:"status"`
	CreatedAt  pgtype.Timestamptz `db:"created_at" json:"created_at"`
	UpdatedAt  pgtype.Timestamptz `db:"updated_at" json:"updated_at"`
	OrderItems []byte             `db:"order_items" json:"order_items"`
}

func (FindOrderByIdRow) ResponseOrder

func (f FindOrderByIdRow) ResponseOrder() (orderResponse.Order, error)

type FindOrderItemByIdAndUserIdParams

type FindOrderItemByIdAndUserIdParams struct {
	Column1 interface{} `db:"column_1" json:"column_1"`
	Column2 interface{} `db:"column_2" json:"column_2"`
}

type GetOrdersRow

type GetOrdersRow struct {
	ID         uuid.UUID          `db:"id" json:"id"`
	UserID     uuid.UUID          `db:"user_id" json:"user_id"`
	Status     OrderStatus        `db:"status" json:"status"`
	CreatedAt  pgtype.Timestamptz `db:"created_at" json:"created_at"`
	UpdatedAt  pgtype.Timestamptz `db:"updated_at" json:"updated_at"`
	OrderItems []byte             `db:"order_items" json:"order_items"`
}

func (GetOrdersRow) Response

func (o GetOrdersRow) Response() (orderResponse.Order, error)

type InsertCartItemParams

type InsertCartItemParams struct {
	ID        uuid.UUID      `db:"id" json:"id"`
	CartID    uuid.UUID      `db:"cart_id" json:"cart_id"`
	ProductID uuid.UUID      `db:"product_id" json:"product_id"`
	Quantity  int32          `db:"quantity" json:"quantity"`
	Price     pgtype.Numeric `db:"price" json:"price"`
}

type InsertCartItemsParams

type InsertCartItemsParams struct {
	ID        uuid.UUID      `db:"id" json:"id"`
	CartID    uuid.UUID      `db:"cart_id" json:"cart_id"`
	ProductID uuid.UUID      `db:"product_id" json:"product_id"`
	Quantity  int32          `db:"quantity" json:"quantity"`
	Price     pgtype.Numeric `db:"price" json:"price"`
}

type InsertOrderItemParams

type InsertOrderItemParams struct {
	ID        uuid.UUID          `db:"id" json:"id"`
	OrderID   uuid.UUID          `db:"order_id" json:"order_id"`
	ProductID uuid.UUID          `db:"product_id" json:"product_id"`
	Quantity  int32              `db:"quantity" json:"quantity"`
	Price     pgtype.Numeric     `db:"price" json:"price"`
	CreatedAt pgtype.Timestamptz `db:"created_at" json:"created_at"`
	UpdatedAt pgtype.Timestamptz `db:"updated_at" json:"updated_at"`
}

type InsertOrderParams

type InsertOrderParams struct {
	ID     uuid.UUID `db:"id" json:"id"`
	UserID uuid.UUID `db:"user_id" json:"user_id"`
}

type InsertOrdersParams

type InsertOrdersParams struct {
	ID        uuid.UUID          `db:"id" json:"id"`
	UserID    uuid.UUID          `db:"user_id" json:"user_id"`
	CreatedAt pgtype.Timestamptz `db:"created_at" json:"created_at"`
	UpdatedAt pgtype.Timestamptz `db:"updated_at" json:"updated_at"`
}

type InsertProductParams

type InsertProductParams struct {
	Name     string         `db:"name" json:"name"`
	Price    pgtype.Numeric `db:"price" json:"price"`
	Quantity int32          `db:"quantity" json:"quantity"`
}

type InsertUserParams

type InsertUserParams struct {
	Username  string             `db:"username" json:"username"`
	Email     string             `db:"email" json:"email"`
	Password  string             `db:"password" json:"password"`
	CreatedAt pgtype.Timestamptz `db:"created_at" json:"created_at"`
	UpdatedAt pgtype.Timestamptz `db:"updated_at" json:"updated_at"`
}

type NullOrderStatus

type NullOrderStatus struct {
	OrderStatus OrderStatus `json:"order_status"`
	Valid       bool        `json:"valid"` // Valid is true if OrderStatus is not NULL
}

func (*NullOrderStatus) Scan

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

Scan implements the Scanner interface.

func (NullOrderStatus) Value

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

Value implements the driver Valuer interface.

type Order

type Order struct {
	ID        uuid.UUID          `db:"id" json:"id"`
	UserID    uuid.UUID          `db:"user_id" json:"user_id"`
	Status    OrderStatus        `db:"status" json:"status"`
	CreatedAt pgtype.Timestamptz `db:"created_at" json:"created_at"`
	UpdatedAt pgtype.Timestamptz `db:"updated_at" json:"updated_at"`
}

type OrderItem

type OrderItem struct {
	ID        uuid.UUID          `db:"id" json:"id"`
	OrderID   uuid.UUID          `db:"order_id" json:"order_id"`
	ProductID uuid.UUID          `db:"product_id" json:"product_id"`
	Quantity  int32              `db:"quantity" json:"quantity"`
	Price     pgtype.Numeric     `db:"price" json:"price"`
	CreatedAt pgtype.Timestamptz `db:"created_at" json:"created_at"`
	UpdatedAt pgtype.Timestamptz `db:"updated_at" json:"updated_at"`
}

type OrderStatus

type OrderStatus string
const (
	OrderStatusWAITINGPAYMENT OrderStatus = "WAITING_PAYMENT"
	OrderStatusSHIPPING       OrderStatus = "SHIPPING"
	OrderStatusCOMPLETED      OrderStatus = "COMPLETED"
	OrderStatusEXPIRED        OrderStatus = "EXPIRED"
	OrderStatusCANCELLED      OrderStatus = "CANCELLED"
)

func (*OrderStatus) Scan

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

type Product

type Product struct {
	ID        uuid.UUID          `db:"id" json:"id"`
	Name      string             `db:"name" json:"name"`
	Price     pgtype.Numeric     `db:"price" json:"price"`
	Quantity  int32              `db:"quantity" json:"quantity"`
	CreatedAt pgtype.Timestamptz `db:"created_at" json:"created_at"`
	UpdatedAt pgtype.Timestamptz `db:"updated_at" json:"updated_at"`
}

func (Product) Response

func (p Product) Response() productResponse.Product

type Querier

type Querier interface {
	DeleteCartByIdAndUserId(ctx context.Context, arg DeleteCartByIdAndUserIdParams) (Cart, error)
	DeleteCartItemFromCartsById(ctx context.Context, arg DeleteCartItemFromCartsByIdParams) (CartItem, error)
	DeleteOrderItemFromOrdersById(ctx context.Context, id uuid.UUID) (OrderItem, error)
	DeleteProduct(ctx context.Context, id uuid.UUID) (Product, error)
	FindByEmail(ctx context.Context, email string) (User, error)
	FindById(ctx context.Context, id uuid.UUID) (User, error)
	FindCartById(ctx context.Context, arg FindCartByIdParams) (FindCartByIdRow, error)
	FindCartByUserId(ctx context.Context, id uuid.UUID) ([]FindCartByUserIdRow, error)
	FindCartItemByCartId(ctx context.Context, cartID uuid.UUID) ([]CartItem, error)
	FindCartItemById(ctx context.Context, id uuid.UUID) (CartItem, error)
	FindOrderById(ctx context.Context, arg FindOrderByIdParams) (FindOrderByIdRow, error)
	FindOrderByUserId(ctx context.Context, userID uuid.UUID) ([]Order, error)
	FindOrderItemById(ctx context.Context, id uuid.UUID) ([]OrderItem, error)
	FindOrderItemByIdAndUserId(ctx context.Context, arg FindOrderItemByIdAndUserIdParams) ([]OrderItem, error)
	FindOrderUserId(ctx context.Context, id uuid.UUID) ([]Order, error)
	FindProductById(ctx context.Context, id uuid.UUID) (Product, error)
	FindProductByIdLock(ctx context.Context, id uuid.UUID) (Product, error)
	FindProductByName(ctx context.Context, name string) (Product, error)
	FindProducts(ctx context.Context) ([]Product, error)
	FindProductsByIds(ctx context.Context, dollar_1 []uuid.UUID) ([]Product, error)
	FindProductsByIdsLock(ctx context.Context, dollar_1 []uuid.UUID) ([]Product, error)
	GetOrders(ctx context.Context, dollar_1 []uuid.UUID) ([]GetOrdersRow, error)
	GetProducts(ctx context.Context) ([]Product, error)
	InsertCart(ctx context.Context, userID uuid.UUID) (Cart, error)
	InsertCartItem(ctx context.Context, arg InsertCartItemParams) (CartItem, error)
	InsertCartItems(ctx context.Context, arg []InsertCartItemsParams) (int64, error)
	InsertOrder(ctx context.Context, arg InsertOrderParams) (Order, error)
	InsertOrderItem(ctx context.Context, arg []InsertOrderItemParams) (int64, error)
	InsertOrders(ctx context.Context, arg []InsertOrdersParams) (int64, error)
	InsertProduct(ctx context.Context, arg InsertProductParams) (Product, error)
	InsertUser(ctx context.Context, arg InsertUserParams) (User, error)
	UpdateProduct(ctx context.Context, arg UpdateProductParams) (Product, error)
	UpdateProductQuantity(ctx context.Context, arg UpdateProductQuantityParams) (Product, error)
}

type Queries

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

func New

func New(db DBTX) *Queries

func (*Queries) DeleteCartByIdAndUserId

func (q *Queries) DeleteCartByIdAndUserId(ctx context.Context, arg DeleteCartByIdAndUserIdParams) (Cart, error)

func (*Queries) DeleteCartItemFromCartsById

func (q *Queries) DeleteCartItemFromCartsById(ctx context.Context, arg DeleteCartItemFromCartsByIdParams) (CartItem, error)

func (*Queries) DeleteOrderItemFromOrdersById

func (q *Queries) DeleteOrderItemFromOrdersById(ctx context.Context, id uuid.UUID) (OrderItem, error)

func (*Queries) DeleteProduct

func (q *Queries) DeleteProduct(ctx context.Context, id uuid.UUID) (Product, error)

func (*Queries) FindByEmail

func (q *Queries) FindByEmail(ctx context.Context, email string) (User, error)

func (*Queries) FindById

func (q *Queries) FindById(ctx context.Context, id uuid.UUID) (User, error)

func (*Queries) FindCartById

func (q *Queries) FindCartById(ctx context.Context, arg FindCartByIdParams) (FindCartByIdRow, error)

func (*Queries) FindCartByUserId

func (q *Queries) FindCartByUserId(ctx context.Context, id uuid.UUID) ([]FindCartByUserIdRow, error)

func (*Queries) FindCartItemByCartId

func (q *Queries) FindCartItemByCartId(ctx context.Context, cartID uuid.UUID) ([]CartItem, error)

func (*Queries) FindCartItemById

func (q *Queries) FindCartItemById(ctx context.Context, id uuid.UUID) (CartItem, error)

func (*Queries) FindOrderById

func (q *Queries) FindOrderById(ctx context.Context, arg FindOrderByIdParams) (FindOrderByIdRow, error)

func (*Queries) FindOrderByUserId

func (q *Queries) FindOrderByUserId(ctx context.Context, userID uuid.UUID) ([]Order, error)

func (*Queries) FindOrderItemById

func (q *Queries) FindOrderItemById(ctx context.Context, id uuid.UUID) ([]OrderItem, error)

func (*Queries) FindOrderItemByIdAndUserId

func (q *Queries) FindOrderItemByIdAndUserId(ctx context.Context, arg FindOrderItemByIdAndUserIdParams) ([]OrderItem, error)

func (*Queries) FindOrderUserId

func (q *Queries) FindOrderUserId(ctx context.Context, id uuid.UUID) ([]Order, error)

func (*Queries) FindProductById

func (q *Queries) FindProductById(ctx context.Context, id uuid.UUID) (Product, error)

func (*Queries) FindProductByIdLock

func (q *Queries) FindProductByIdLock(ctx context.Context, id uuid.UUID) (Product, error)

func (*Queries) FindProductByName

func (q *Queries) FindProductByName(ctx context.Context, name string) (Product, error)

func (*Queries) FindProducts

func (q *Queries) FindProducts(ctx context.Context) ([]Product, error)

func (*Queries) FindProductsByIds

func (q *Queries) FindProductsByIds(ctx context.Context, dollar_1 []uuid.UUID) ([]Product, error)

func (*Queries) FindProductsByIdsLock

func (q *Queries) FindProductsByIdsLock(ctx context.Context, dollar_1 []uuid.UUID) ([]Product, error)

func (*Queries) GetOrders

func (q *Queries) GetOrders(ctx context.Context, dollar_1 []uuid.UUID) ([]GetOrdersRow, error)

func (*Queries) GetProducts

func (q *Queries) GetProducts(ctx context.Context) ([]Product, error)

func (*Queries) InsertCart

func (q *Queries) InsertCart(ctx context.Context, userID uuid.UUID) (Cart, error)

func (*Queries) InsertCartItem

func (q *Queries) InsertCartItem(ctx context.Context, arg InsertCartItemParams) (CartItem, error)

func (*Queries) InsertCartItems

func (q *Queries) InsertCartItems(ctx context.Context, arg []InsertCartItemsParams) (int64, error)

func (*Queries) InsertOrder

func (q *Queries) InsertOrder(ctx context.Context, arg InsertOrderParams) (Order, error)

func (*Queries) InsertOrderItem

func (q *Queries) InsertOrderItem(ctx context.Context, arg []InsertOrderItemParams) (int64, error)

func (*Queries) InsertOrders

func (q *Queries) InsertOrders(ctx context.Context, arg []InsertOrdersParams) (int64, error)

func (*Queries) InsertProduct

func (q *Queries) InsertProduct(ctx context.Context, arg InsertProductParams) (Product, error)

func (*Queries) InsertUser

func (q *Queries) InsertUser(ctx context.Context, arg InsertUserParams) (User, error)

func (*Queries) UpdateProduct

func (q *Queries) UpdateProduct(ctx context.Context, arg UpdateProductParams) (Product, error)

func (*Queries) UpdateProductQuantity

func (q *Queries) UpdateProductQuantity(ctx context.Context, arg UpdateProductQuantityParams) (Product, error)

func (*Queries) WithTx

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

type UpdateProductParams

type UpdateProductParams struct {
	Name     string         `db:"name" json:"name"`
	Price    pgtype.Numeric `db:"price" json:"price"`
	Quantity int32          `db:"quantity" json:"quantity"`
	ID       uuid.UUID      `db:"id" json:"id"`
}

type UpdateProductQuantityParams

type UpdateProductQuantityParams struct {
	ID       uuid.UUID `db:"id" json:"id"`
	Quantity int32     `db:"quantity" json:"quantity"`
}

type User

type User struct {
	ID        uuid.UUID          `db:"id" json:"id"`
	Username  string             `db:"username" json:"username"`
	Email     string             `db:"email" json:"email"`
	Password  string             `db:"password" json:"password"`
	CreatedAt pgtype.Timestamptz `db:"created_at" json:"created_at"`
	UpdatedAt pgtype.Timestamptz `db:"updated_at" json:"updated_at"`
}

Jump to

Keyboard shortcuts

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