Compare commits
15 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 7de07b9ef0 | |||
| 304ffcbc3e | |||
| 5e3b9e5d23 | |||
| edd980f4c1 | |||
| 2e64d106aa | |||
| cb2e0ac34e | |||
| 735f2d668c | |||
| 2f71ff408d | |||
| 0c99855748 | |||
| b63cf00c33 | |||
| e9d0fe8960 | |||
| 73ecb0aa7e | |||
| d614a907b5 | |||
| 597e72169a | |||
| 4f1fdd447a |
@@ -1,9 +1,35 @@
|
||||
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,omitempty"`
|
||||
}
|
||||
|
||||
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,omitempty"`
|
||||
}
|
||||
|
||||
type BasketCheckoutRequest struct {
|
||||
BasketID string `json:"basket_id"`
|
||||
}
|
||||
|
||||
type BasketCheckoutResponse struct {
|
||||
ID string `json:"order_id"`
|
||||
ID string `json:"basket_id"`
|
||||
}
|
||||
|
||||
@@ -1,5 +1,30 @@
|
||||
package http
|
||||
|
||||
import (
|
||||
"time"
|
||||
)
|
||||
|
||||
type GetProductRequest struct {
|
||||
ProductID int `json:"product_id"`
|
||||
}
|
||||
|
||||
type GetProductResponse struct {
|
||||
ID int `json:"id"`
|
||||
PID string `json:"pid"`
|
||||
Name string `json:"name"`
|
||||
Price float64 `json:"price"`
|
||||
CreatedAt time.Duration `json:"created_at"`
|
||||
UpdatedAt time.Duration `json:"updated_at,omitempty"`
|
||||
}
|
||||
|
||||
type GetProductListRequest struct {
|
||||
CategoryID int `json:"category_id"`
|
||||
}
|
||||
|
||||
type GetProductListResponse struct {
|
||||
Products []GetProductResponse `json:"-"`
|
||||
}
|
||||
|
||||
type AddProductToBasketRequest struct {
|
||||
ProductID int `json:"product_id"`
|
||||
Quantity int `json:"quantity"`
|
||||
|
||||
@@ -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,omitempty"`
|
||||
}
|
||||
|
||||
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,omitempty"`
|
||||
}
|
||||
|
||||
@@ -8,5 +8,5 @@ type ProductModel struct {
|
||||
Name string `db:"name"`
|
||||
Price float64 `db:"price"`
|
||||
CreatedAt pgtype.Timestamp `db:"created_at"`
|
||||
UpdatedAt pgtype.Timestamp `db:"updated_at"`
|
||||
UpdatedAt pgtype.Timestamp `db:"updated_at,omitempty"`
|
||||
}
|
||||
|
||||
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,omitempty"`
|
||||
}
|
||||
|
||||
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,omitempty"`
|
||||
}
|
||||
Reference in New Issue
Block a user