Compare commits
11 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 0c99855748 | |||
| b63cf00c33 | |||
| e9d0fe8960 | |||
| 73ecb0aa7e | |||
| d614a907b5 | |||
| 597e72169a | |||
| 4f1fdd447a | |||
| fb63ea8b7d | |||
| 14fbd44668 | |||
| 20fe425aef | |||
| 1e8a075d5d |
@@ -1,5 +1,33 @@
|
|||||||
package http
|
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"`
|
||||||
|
|
||||||
|
Error string `json:"error"`
|
||||||
|
}
|
||||||
|
|
||||||
|
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 {
|
type BasketCheckoutRequest struct {
|
||||||
BasketID string `json:"basket_id"`
|
BasketID string `json:"basket_id"`
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,16 +2,20 @@ package http
|
|||||||
|
|
||||||
type AddProductToBasketRequest struct {
|
type AddProductToBasketRequest struct {
|
||||||
ProductID int `json:"product_id"`
|
ProductID int `json:"product_id"`
|
||||||
|
Quantity int `json:"quantity"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type AddProductToBasketResponse struct {
|
type AddProductToBasketResponse struct {
|
||||||
BasketID string `json:"basket_id"`
|
ProductID int `json:"product_id"`
|
||||||
|
BasketID string `json:"basket_id"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type RemoveProductFromBasketRequest struct {
|
type RemoveProductFromBasketRequest struct {
|
||||||
ProductID int `json:"product_id"`
|
ProductID int `json:"product_id"`
|
||||||
|
Quantity int `json:"quantity"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type RemoveProductFromBasketResponse struct {
|
type RemoveProductFromBasketResponse struct {
|
||||||
BasketID string `json:"basket_id"`
|
ProductID int `json:"product_id"`
|
||||||
|
BasketID string `json:"basket_id"`
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,7 +5,18 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
type BasketModel struct {
|
type BasketModel struct {
|
||||||
ID string `db:"id"`
|
ID string `db:"id" json:"id"`
|
||||||
CreatedAt pgtype.Timestamp `db:"created_at"`
|
State string `db:"state" json:"state"`
|
||||||
UpdatedAt pgtype.Timestamp `db:"updated_at"`
|
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" 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 {
|
type ProductPriceModel struct {
|
||||||
ID int `db:"id"`
|
ID int `db:"id"`
|
||||||
PID int `db:"pid"`
|
PID string `db:"pid"`
|
||||||
Price float64 `db:"price"`
|
Price float64 `db:"price"`
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user