Compare commits

..

1 Commits

Author SHA1 Message Date
c3d15cb1a1 Updated catalog DTOs 2025-10-23 18:32:45 +02:00
8 changed files with 28 additions and 38 deletions

View File

@@ -19,23 +19,13 @@ 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 string `json:"product_id"` ProductID int `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"`
} }

View File

@@ -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 string `db:"product_id" json:"product_id"` ProductID int `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"`

View File

@@ -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 string `db:"product_id" json:"product_id"` ProductID int `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"`

View File

@@ -13,8 +13,8 @@ type GetProductResponseDTO struct {
Name string `json:"name"` Name string `json:"name"`
Slug string `json:"slug"` Slug string `json:"slug"`
Price float64 `json:"price"` Price float64 `json:"price"`
CreatedAt time.Time `json:"created_at"` CreatedAt time.Duration `json:"created_at"`
UpdatedAt *time.Time `json:"updated_at"` UpdatedAt time.Duration `json:"updated_at,omitempty"`
} }
type GetProductListRequestDTO struct { type GetProductListRequestDTO struct {

View File

@@ -1,12 +1,12 @@
package catalog package catalog
import "time" import "github.com/jackc/pgtype"
type Product struct { type Product struct {
ID string `json:"id", db:"id"` ID string `db:"id"`
Slug string `json:"slug", db:"slug"` Slug string `db:"slug"`
Name string `json:"name", db:"name"` Name string `db:"name"`
Price float64 `json:"price", db:"price"` Price float64 `db:"price"`
CreatedAt time.Time `json:"created_at", db:"created_at"` CreatedAt pgtype.Timestamp `db:"created_at"`
UpdatedAt *time.Time `json:"updated_at", db:"updated_at, omitempty"` UpdatedAt pgtype.Timestamp `db:"updated_at,omitempty"`
} }

View File

@@ -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"` UpdatedAt time.Time `db:"updated_at,omitempty"`
} }

2
go.mod
View File

@@ -1,6 +1,6 @@
module git.ego.freeddns.org/egommerce/api-entities module git.ego.freeddns.org/egommerce/api-entities
go 1.24 go 1.19
require github.com/jackc/pgtype v1.14.3 require github.com/jackc/pgtype v1.14.3

View File

@@ -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"`
UpdatedAt *time.Time `db:"updated_at,omitempty" json:"updated_at,omitempty"` // FIXME: zero-value issue ModifiedAt time.Time `db:"modified_at" json:"modified_at"` // FIXME: zero-value issue
} }
// var TestUser = &User{ // var TestUser = &User{