Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b63cf00c33 | |||
| e9d0fe8960 | |||
| 73ecb0aa7e | |||
| d614a907b5 | |||
| 597e72169a | |||
| 4f1fdd447a | |||
| fb63ea8b7d | |||
| 14fbd44668 |
@@ -1,5 +1,31 @@
|
||||
package http
|
||||
|
||||
import "time"
|
||||
|
||||
type GetBasketRequest struct {
|
||||
BasketID string `json:"basket_id"`
|
||||
}
|
||||
|
||||
type GetBasketResponse struct {
|
||||
ID string `json:"id"`
|
||||
State string `json:"state"`
|
||||
CreatedAt time.Duration `json:"created_at"`
|
||||
UpdatedAt time.Duration `json:"updated_at"`
|
||||
}
|
||||
|
||||
type GetBasketItemsRequest struct {
|
||||
}
|
||||
|
||||
type GetBasketItemsResponse struct {
|
||||
ID string `json:"id"`
|
||||
BasketID string `json:"basket_id"`
|
||||
ProductID int `json:"product_id"`
|
||||
Quantity int `json:"quantity"`
|
||||
Price float64 `json:"price"`
|
||||
CreatedAt time.Duration `json:"created_at"`
|
||||
UpdatedAt time.Duration `json:"updated_at"`
|
||||
}
|
||||
|
||||
type BasketCheckoutRequest struct {
|
||||
BasketID string `json:"basket_id"`
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package http
|
||||
|
||||
type AddProductToBasketRequest struct {
|
||||
ProductID int `json:"product_id"`
|
||||
Quantity int `json:"quantity"`
|
||||
}
|
||||
|
||||
type AddProductToBasketResponse struct {
|
||||
@@ -11,8 +12,10 @@ type AddProductToBasketResponse struct {
|
||||
|
||||
type RemoveProductFromBasketRequest struct {
|
||||
ProductID int `json:"product_id"`
|
||||
Quantity int `json:"quantity"`
|
||||
}
|
||||
|
||||
type RemoveProductFromBasketResponse struct {
|
||||
BasketID string `json:"basket_id"`
|
||||
ProductID int `json:"product_id"`
|
||||
BasketID string `json:"basket_id"`
|
||||
}
|
||||
|
||||
@@ -5,17 +5,18 @@ import (
|
||||
)
|
||||
|
||||
type BasketModel struct {
|
||||
ID string `db:"id"`
|
||||
CreatedAt pgtype.Timestamp `db:"created_at"`
|
||||
UpdatedAt pgtype.Timestamp `db:"updated_at"`
|
||||
ID string `db:"id" json:"id"`
|
||||
State string `db:"state" json:"state"`
|
||||
CreatedAt pgtype.Timestamp `db:"created_at" json:"created_at"`
|
||||
UpdatedAt pgtype.Timestamp `db:"updated_at" json:"updated_at"`
|
||||
}
|
||||
|
||||
type BasketItemModel struct {
|
||||
ID string `db:"id"`
|
||||
BasketID string `db:"basket_id"`
|
||||
ProductID string `db:"product_id"`
|
||||
Quantity int `db:"quantity"`
|
||||
Price float64 `db:"price"`
|
||||
CreatedAt pgtype.Timestamp `db:"created_at"`
|
||||
UpdatedAt pgtype.Timestamp `db:"updated_at"`
|
||||
ID string `db:"id" json:"id"`
|
||||
BasketID string `db:"basket_id" json:"basket_id"`
|
||||
ProductID int `db:"product_id" json:"product_id"`
|
||||
Quantity int `db:"quantity" json:"quantity"`
|
||||
Price float64 `db:"price" json:"price"`
|
||||
CreatedAt pgtype.Timestamp `db:"created_at" json:"created_at"`
|
||||
UpdatedAt pgtype.Timestamp `db:"updated_at" json:"updated_at"`
|
||||
}
|
||||
|
||||
20
model/order.go
Normal file
20
model/order.go
Normal file
@@ -0,0 +1,20 @@
|
||||
package model
|
||||
|
||||
import "github.com/jackc/pgtype"
|
||||
|
||||
type OrderModel struct {
|
||||
ID string `db:"id" json:"id"`
|
||||
State string `db:"state" json:"state"`
|
||||
CreatedAt pgtype.Timestamp `db:"created_at" json:"created_at"`
|
||||
UpdatedAt pgtype.Timestamp `db:"updated_at" json:"updated_at"`
|
||||
}
|
||||
|
||||
type OrderItemModel struct {
|
||||
ID string `db:"id" json:"id"`
|
||||
OrderID string `db:"order_id" json:"order_id"`
|
||||
ProductID int `db:"product_id" json:"product_id"`
|
||||
Quantity int `db:"quantity" json:"quantity"`
|
||||
Price float64 `db:"price" json:"price"`
|
||||
CreatedAt pgtype.Timestamp `db:"created_at" json:"created_at"`
|
||||
UpdatedAt pgtype.Timestamp `db:"updated_at" json:"updated_at"`
|
||||
}
|
||||
@@ -2,6 +2,6 @@ package model
|
||||
|
||||
type ProductPriceModel struct {
|
||||
ID int `db:"id"`
|
||||
PID int `db:"pid"`
|
||||
PID string `db:"pid"`
|
||||
Price float64 `db:"price"`
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user