Compare commits
13 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 645597b54e | |||
| c49fde3d15 | |||
| cc2ba15c37 | |||
| 86341c21e1 | |||
| bcc8de99db | |||
| 4b5d681efe | |||
| c502499aa4 | |||
| 82653025be | |||
| d7bcb71acf | |||
| 6055673a34 | |||
| 957e0aa13a | |||
| 3e340d68d0 | |||
| f6c6bb07fd |
@@ -7,23 +7,44 @@ type GetBasketRequestDTO struct {
|
||||
}
|
||||
|
||||
type GetBasketResponseDTO struct {
|
||||
ID string `json:"id"`
|
||||
State string `json:"state"`
|
||||
CreatedAt time.Duration `json:"created_at"`
|
||||
UpdatedAt time.Duration `json:"updated_at,omitempty"`
|
||||
ID string `json:"id"`
|
||||
State string `json:"state"`
|
||||
CreatedAt time.Time `json:"created_at"`
|
||||
UpdatedAt *time.Time `json:"updated_at,omitempty"`
|
||||
}
|
||||
|
||||
type GetBasketItemsRequestDTO struct {
|
||||
BasketID string `json:"basket_id"`
|
||||
}
|
||||
|
||||
type GetBasketItemsResponseDTO struct {
|
||||
ID string `json:"id"`
|
||||
BasketID string `json:"basket_id"`
|
||||
ProductID string `json:"product_id"`
|
||||
Quantity int `json:"quantity"`
|
||||
Price float64 `json:"price"`
|
||||
CreatedAt time.Duration `json:"created_at"`
|
||||
UpdatedAt time.Duration `json:"updated_at,omitempty"`
|
||||
ID string `json:"id"`
|
||||
BasketID string `json:"basket_id"`
|
||||
ProductID string `json:"product_id"`
|
||||
Quantity int `json:"quantity"`
|
||||
Price float64 `json:"price"`
|
||||
CreatedAt time.Time `json:"created_at"`
|
||||
UpdatedAt *time.Time `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 RemoveFromBasketRequestDTO struct {
|
||||
BasketID string `json:"basket_id"`
|
||||
ProductID string `json:"product_id"`
|
||||
Quantity int `json:"quantity"`
|
||||
}
|
||||
|
||||
type RemoveFromBasketResponseDTO struct {
|
||||
BasketID string `json:"basket_id"`
|
||||
}
|
||||
|
||||
type BasketCheckoutRequestDTO struct {
|
||||
|
||||
@@ -1,22 +1,20 @@
|
||||
package basket
|
||||
|
||||
import (
|
||||
"github.com/jackc/pgtype"
|
||||
)
|
||||
import "time"
|
||||
|
||||
type BasketEntity 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 Basket struct {
|
||||
ID string `db:"id" json:"id"`
|
||||
State string `db:"state" json:"state"`
|
||||
CreatedAt time.Time `db:"created_at" json:"created_at"`
|
||||
UpdatedAt *time.Time `db:"updated_at" json:"updated_at,omitempty"`
|
||||
}
|
||||
|
||||
type BasketItemEntity struct {
|
||||
ID string `db:"id" json:"id"`
|
||||
BasketID string `db:"basket_id" json:"basket_id"`
|
||||
ProductID string `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"`
|
||||
type BasketItem struct {
|
||||
ID string `db:"id" json:"id"`
|
||||
BasketID string `db:"basket_id" json:"basket_id"`
|
||||
ProductID string `db:"product_id" json:"product_id"`
|
||||
Quantity int `db:"quantity" json:"quantity"`
|
||||
Price float64 `db:"price" json:"price"`
|
||||
CreatedAt time.Time `db:"created_at" json:"created_at"`
|
||||
UpdatedAt *time.Time `db:"updated_at" json:"updated_at,omitempty"`
|
||||
}
|
||||
|
||||
@@ -5,16 +5,16 @@ import (
|
||||
)
|
||||
|
||||
type Basket struct {
|
||||
State string `db:"state" json:"state"`
|
||||
CreatedAt time.Time `db:"created_at" json:"created_at"`
|
||||
UpdatedAt time.Time `db:"updated_at" json:"updated_at,omitempty"`
|
||||
State string `db:"state" json:"state"`
|
||||
CreatedAt time.Time `db:"created_at" json:"created_at"`
|
||||
UpdatedAt *time.Time `db:"updated_at" json:"updated_at,omitempty"`
|
||||
}
|
||||
|
||||
type BasketItem struct {
|
||||
BasketID string `db:"basket_id" json:"basket_id"`
|
||||
ProductID string `db:"product_id" json:"product_id"`
|
||||
Quantity int `db:"quantity" json:"quantity"`
|
||||
Price float64 `db:"price" json:"price"`
|
||||
CreatedAt time.Time `db:"created_at" json:"created_at"`
|
||||
UpdatedAt time.Time `db:"updated_at" json:"updated_at,omitempty"`
|
||||
BasketID string `db:"basket_id" json:"basket_id"`
|
||||
ProductID string `db:"product_id" json:"product_id"`
|
||||
Quantity int `db:"quantity" json:"quantity"`
|
||||
Price float64 `db:"price" json:"price"`
|
||||
CreatedAt time.Time `db:"created_at" json:"created_at"`
|
||||
UpdatedAt *time.Time `db:"updated_at" json:"updated_at,omitempty"`
|
||||
}
|
||||
|
||||
@@ -14,33 +14,18 @@ type GetProductResponseDTO struct {
|
||||
Slug string `json:"slug"`
|
||||
Price float64 `json:"price"`
|
||||
CreatedAt time.Time `json:"created_at"`
|
||||
UpdatedAt *time.Time `json:"updated_at"`
|
||||
}
|
||||
|
||||
type GetProductListRequestDTO struct {
|
||||
CategoryID string `json:"category_id"`
|
||||
UpdatedAt *time.Time `json:"updated_at,omitempty"`
|
||||
}
|
||||
|
||||
type GetProductListResponseDTO struct {
|
||||
Products []GetProductResponseDTO `json:"products"`
|
||||
}
|
||||
|
||||
type AddProductToBasketRequestDTO struct {
|
||||
ProductID string `json:"product_id"`
|
||||
Quantity int `json:"quantity"`
|
||||
}
|
||||
|
||||
type AddProductToBasketResponseDTO struct {
|
||||
ProductID string `json:"product_id"`
|
||||
BasketID string `json:"basket_id"`
|
||||
}
|
||||
|
||||
type RemoveProductFromBasketRequestDTO struct {
|
||||
ProductID string `json:"product_id"`
|
||||
Quantity int `json:"quantity"`
|
||||
}
|
||||
|
||||
type RemoveProductFromBasketResponseDTO struct {
|
||||
ProductID string `json:"product_id"`
|
||||
BasketID string `json:"basket_id"`
|
||||
type GetProductDetailsResponseDTO struct {
|
||||
ID string `json:"id"`
|
||||
SLug string `json:"slug"`
|
||||
Name string `json:"name"`
|
||||
Price string `json:"price"`
|
||||
CreatedAt time.Time `json:"created_at"`
|
||||
UpdatedAt *time.Time `json:"updated_at,omitempty"`
|
||||
}
|
||||
|
||||
@@ -3,10 +3,10 @@ package catalog
|
||||
import "time"
|
||||
|
||||
type Product struct {
|
||||
ID string `json:"id", db:"id"`
|
||||
Slug string `json:"slug", db:"slug"`
|
||||
Name string `json:"name", db:"name"`
|
||||
Price float64 `json:"price", db:"price"`
|
||||
CreatedAt time.Time `json:"created_at", db:"created_at"`
|
||||
UpdatedAt *time.Time `json:"updated_at", db:"updated_at, omitempty"`
|
||||
ID string `json:"id" db:"id"`
|
||||
Slug string `json:"slug" db:"slug"`
|
||||
Name string `json:"name" db:"name"`
|
||||
Price float64 `json:"price" db:"price"`
|
||||
CreatedAt time.Time `json:"created_at" db:"created_at"`
|
||||
UpdatedAt *time.Time `json:"updated_at" db:"updated_at, omitempty"`
|
||||
}
|
||||
|
||||
7
config/entity/setting.go
Normal file
7
config/entity/setting.go
Normal file
@@ -0,0 +1,7 @@
|
||||
package config
|
||||
|
||||
type Setting struct {
|
||||
ID string `db:"id" json:"id"`
|
||||
Name string `db:"name" json:"name"`
|
||||
Value string `db:"value" json:"value"`
|
||||
}
|
||||
4
go.mod
4
go.mod
@@ -1,6 +1,6 @@
|
||||
module git.ego.freeddns.org/egommerce/api-entities
|
||||
module git.pbiernat.space/egommerce/api-entities
|
||||
|
||||
go 1.19
|
||||
go 1.24
|
||||
|
||||
require github.com/jackc/pgtype v1.14.3
|
||||
|
||||
|
||||
10
identity/dto/access.go
Normal file
10
identity/dto/access.go
Normal file
@@ -0,0 +1,10 @@
|
||||
package identity
|
||||
|
||||
type CheckAccessRequestDTO struct {
|
||||
URL string `json:"url"`
|
||||
Service string `json:"srv"`
|
||||
}
|
||||
|
||||
type CheckAccessResponseDTO struct {
|
||||
Status string `json:"status"`
|
||||
}
|
||||
@@ -8,12 +8,5 @@ type User struct {
|
||||
Username string `db:"username" json:"username"`
|
||||
Password string `db:"password" json:"password"`
|
||||
CreatedAt time.Time `db:"created_at" json:"created_at"`
|
||||
UpdatedAt *time.Time `db:"updated_at,omitempty" json:"updated_at,omitempty"` // FIXME: zero-value issue
|
||||
UpdatedAt *time.Time `db:"updated_at,omitempty" json:"updated_at,omitempty"`
|
||||
}
|
||||
|
||||
// var TestUser = &User{
|
||||
// ID: 1,
|
||||
// Username: "test",
|
||||
// Password: "test",
|
||||
// CreateDate: time.Now(),
|
||||
// }
|
||||
|
||||
@@ -1,20 +1,22 @@
|
||||
package order
|
||||
|
||||
import "github.com/jackc/pgtype"
|
||||
import (
|
||||
"time"
|
||||
)
|
||||
|
||||
type OrderEntity 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 Order struct {
|
||||
ID string `db:"id" json:"id"`
|
||||
State string `db:"state" json:"state"`
|
||||
CreatedAt time.Time `db:"created_at" json:"created_at"`
|
||||
UpdatedAt *time.Time `db:"updated_at" json:"updated_at,omitempty"`
|
||||
}
|
||||
|
||||
type OrderItemEntity 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"`
|
||||
type OrderItem 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 time.Time `db:"created_at" json:"created_at"`
|
||||
UpdatedAt *time.Time `db:"updated_at" json:"updated_at,omitempty"`
|
||||
}
|
||||
|
||||
@@ -3,16 +3,16 @@ package order
|
||||
import "time"
|
||||
|
||||
type Order struct {
|
||||
State string `db:"state" json:"state"`
|
||||
CreatedAt time.Time `db:"created_at" json:"created_at"`
|
||||
UpdatedAt time.Time `db:"updated_at" json:"updated_at,omitempty"`
|
||||
State string `db:"state" json:"state"`
|
||||
CreatedAt time.Time `db:"created_at" json:"created_at"`
|
||||
UpdatedAt *time.Time `db:"updated_at" json:"updated_at,omitempty"`
|
||||
}
|
||||
|
||||
type OrderItem struct {
|
||||
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 time.Time `db:"created_at" json:"created_at"`
|
||||
UpdatedAt time.Time `db:"updated_at" json:"updated_at,omitempty"`
|
||||
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 time.Time `db:"created_at" json:"created_at"`
|
||||
UpdatedAt *time.Time `db:"updated_at" json:"updated_at,omitempty"`
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package pricing
|
||||
|
||||
type ProductPriceEntity struct {
|
||||
type ProductPrice struct {
|
||||
ID int `db:"id"`
|
||||
PID string `db:"pid"`
|
||||
Price int `db:"price"`
|
||||
|
||||
Reference in New Issue
Block a user