Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 3e340d68d0 | |||
| f6c6bb07fd | |||
| 606c6ec6f8 | |||
| 7d9c66ae26 | |||
| 3b1ff1b649 | |||
| 01963ddd35 | |||
| e4042cd76d | |||
| 7a20709424 |
@@ -19,13 +19,23 @@ type GetBasketItemsRequestDTO struct {
|
|||||||
type GetBasketItemsResponseDTO struct {
|
type GetBasketItemsResponseDTO struct {
|
||||||
ID string `json:"id"`
|
ID string `json:"id"`
|
||||||
BasketID string `json:"basket_id"`
|
BasketID string `json:"basket_id"`
|
||||||
ProductID int `json:"product_id"`
|
ProductID string `json:"product_id"`
|
||||||
Quantity int `json:"quantity"`
|
Quantity int `json:"quantity"`
|
||||||
Price float64 `json:"price"`
|
Price float64 `json:"price"`
|
||||||
CreatedAt time.Duration `json:"created_at"`
|
CreatedAt time.Duration `json:"created_at"`
|
||||||
UpdatedAt time.Duration `json:"updated_at,omitempty"`
|
UpdatedAt time.Duration `json:"updated_at,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type AddProductToBasketRequestDTO struct {
|
||||||
|
BasketID string `json:"basket_id"`
|
||||||
|
ProductID string `json:"product_id"`
|
||||||
|
Quantity int `json:"quantity"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type AddProductToBasketResponseDTO struct {
|
||||||
|
BasketID string `json:"basket_id"`
|
||||||
|
}
|
||||||
|
|
||||||
type BasketCheckoutRequestDTO struct {
|
type BasketCheckoutRequestDTO struct {
|
||||||
BasketID string `json:"basket_id"`
|
BasketID string `json:"basket_id"`
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ type BasketEntity struct {
|
|||||||
type BasketItemEntity struct {
|
type BasketItemEntity struct {
|
||||||
ID string `db:"id" json:"id"`
|
ID string `db:"id" json:"id"`
|
||||||
BasketID string `db:"basket_id" json:"basket_id"`
|
BasketID string `db:"basket_id" json:"basket_id"`
|
||||||
ProductID int `db:"product_id" json:"product_id"`
|
ProductID string `db:"product_id" json:"product_id"`
|
||||||
Quantity int `db:"quantity" json:"quantity"`
|
Quantity int `db:"quantity" json:"quantity"`
|
||||||
Price float64 `db:"price" json:"price"`
|
Price float64 `db:"price" json:"price"`
|
||||||
CreatedAt pgtype.Timestamp `db:"created_at" json:"created_at"`
|
CreatedAt pgtype.Timestamp `db:"created_at" json:"created_at"`
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ type Basket struct {
|
|||||||
|
|
||||||
type BasketItem struct {
|
type BasketItem struct {
|
||||||
BasketID string `db:"basket_id" json:"basket_id"`
|
BasketID string `db:"basket_id" json:"basket_id"`
|
||||||
ProductID int `db:"product_id" json:"product_id"`
|
ProductID string `db:"product_id" json:"product_id"`
|
||||||
Quantity int `db:"quantity" json:"quantity"`
|
Quantity int `db:"quantity" json:"quantity"`
|
||||||
Price float64 `db:"price" json:"price"`
|
Price float64 `db:"price" json:"price"`
|
||||||
CreatedAt time.Time `db:"created_at" json:"created_at"`
|
CreatedAt time.Time `db:"created_at" json:"created_at"`
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ type GetProductResponseDTO struct {
|
|||||||
Slug string `json:"slug"`
|
Slug string `json:"slug"`
|
||||||
Price float64 `json:"price"`
|
Price float64 `json:"price"`
|
||||||
CreatedAt time.Time `json:"created_at"`
|
CreatedAt time.Time `json:"created_at"`
|
||||||
UpdatedAt time.Time `json:"updated_at,omitempty"`
|
UpdatedAt *time.Time `json:"updated_at"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type GetProductListRequestDTO struct {
|
type GetProductListRequestDTO struct {
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
package catalog
|
package catalog
|
||||||
|
|
||||||
import "github.com/jackc/pgtype"
|
import "time"
|
||||||
|
|
||||||
type Product struct {
|
type Product struct {
|
||||||
ID string `json:"id", db:"id"`
|
ID string `json:"id", db:"id"`
|
||||||
Slug string `json:"slug", db:"slug"`
|
Slug string `json:"slug", db:"slug"`
|
||||||
Name string `json:"name", db:"name"`
|
Name string `json:"name", db:"name"`
|
||||||
Price float64 `json:"price", db:"price"`
|
Price float64 `json:"price", db:"price"`
|
||||||
CreatedAt pgtype.Timestamp `json:"created_at", db:"created_at"`
|
CreatedAt time.Time `json:"created_at", db:"created_at"`
|
||||||
UpdatedAt pgtype.Timestamp `json:"updated_at", db:"updated_at,omitempty"`
|
UpdatedAt *time.Time `json:"updated_at", db:"updated_at, omitempty"`
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,5 +9,5 @@ type Product struct {
|
|||||||
Slug string `db:"slug"`
|
Slug string `db:"slug"`
|
||||||
Price float64 `db:"price"`
|
Price float64 `db:"price"`
|
||||||
CreatedAt time.Time `db:"created_at"`
|
CreatedAt time.Time `db:"created_at"`
|
||||||
UpdatedAt time.Time `db:"updated_at,omitempty"`
|
UpdatedAt *time.Time `db:"updated_at"`
|
||||||
}
|
}
|
||||||
|
|||||||
2
go.mod
2
go.mod
@@ -1,6 +1,6 @@
|
|||||||
module git.ego.freeddns.org/egommerce/api-entities
|
module git.ego.freeddns.org/egommerce/api-entities
|
||||||
|
|
||||||
go 1.19
|
go 1.24
|
||||||
|
|
||||||
require github.com/jackc/pgtype v1.14.3
|
require github.com/jackc/pgtype v1.14.3
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ type User struct {
|
|||||||
Username string `db:"username" json:"username"`
|
Username string `db:"username" json:"username"`
|
||||||
Password string `db:"password" json:"password"`
|
Password string `db:"password" json:"password"`
|
||||||
CreatedAt time.Time `db:"created_at" json:"created_at"`
|
CreatedAt time.Time `db:"created_at" json:"created_at"`
|
||||||
ModifiedAt time.Time `db:"modified_at" json:"modified_at"` // FIXME: zero-value issue
|
UpdatedAt *time.Time `db:"updated_at,omitempty" json:"updated_at,omitempty"` // FIXME: zero-value issue
|
||||||
}
|
}
|
||||||
|
|
||||||
// var TestUser = &User{
|
// var TestUser = &User{
|
||||||
|
|||||||
Reference in New Issue
Block a user