Compare commits

...

16 Commits
v0.0.8 ... dev

Author SHA1 Message Date
77fd417f4e catalog update 2022-12-23 09:44:43 +01:00
7de07b9ef0 catalog update 2022-12-23 09:36:40 +01:00
304ffcbc3e catalog update 2022-12-23 09:33:13 +01:00
5e3b9e5d23 catalog update 2022-12-23 08:37:21 +01:00
edd980f4c1 basket update 2022-12-22 23:01:11 +01:00
2e64d106aa basket update 2022-12-22 20:59:47 +01:00
cb2e0ac34e models update 2022-12-22 20:49:12 +01:00
735f2d668c basket update 2022-12-22 17:38:52 +01:00
2f71ff408d basket update 2022-12-22 17:33:58 +01:00
0c99855748 basket update 2022-12-22 17:31:32 +01:00
b63cf00c33 order update 2022-12-22 15:05:21 +01:00
e9d0fe8960 basket update 2022-12-22 14:05:52 +01:00
73ecb0aa7e basket update 2022-12-22 14:04:01 +01:00
d614a907b5 basket update 2022-12-22 13:59:08 +01:00
597e72169a basket update 2022-12-22 13:53:17 +01:00
4f1fdd447a basket update 2022-12-22 13:31:25 +01:00
5 changed files with 84 additions and 12 deletions

View File

@@ -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"`
}

View File

@@ -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:"products"`
}
type AddProductToBasketRequest struct {
ProductID int `json:"product_id"`
Quantity int `json:"quantity"`

View File

@@ -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"`
}

View File

@@ -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
View 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"`
}