Compare commits

...

13 Commits

7 changed files with 53 additions and 32 deletions

View File

@@ -5,20 +5,20 @@ import (
) )
type GetProductRequestDTO struct { type GetProductRequestDTO struct {
ProductID int `json:"product_id"` ProductID string `json:"product_id"`
} }
type GetProductResponseDTO struct { type GetProductResponseDTO struct {
ID int `json:"id"` ID string `json:"id"`
PID string `json:"pid"`
Name string `json:"name"` Name string `json:"name"`
Slug string `json:"slug"`
Price float64 `json:"price"` Price float64 `json:"price"`
CreatedAt time.Duration `json:"created_at"` CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Duration `json:"updated_at,omitempty"` UpdatedAt *time.Time `json:"updated_at"`
} }
type GetProductListRequestDTO struct { type GetProductListRequestDTO struct {
CategoryID int `json:"category_id"` CategoryID string `json:"category_id"`
} }
type GetProductListResponseDTO struct { type GetProductListResponseDTO struct {
@@ -26,21 +26,21 @@ type GetProductListResponseDTO struct {
} }
type AddProductToBasketRequestDTO struct { type AddProductToBasketRequestDTO struct {
ProductID int `json:"product_id"` ProductID string `json:"product_id"`
Quantity int `json:"quantity"` Quantity int `json:"quantity"`
} }
type AddProductToBasketResponseDTO struct { type AddProductToBasketResponseDTO struct {
ProductID int `json:"product_id"` ProductID string `json:"product_id"`
BasketID string `json:"basket_id"` BasketID string `json:"basket_id"`
} }
type RemoveProductFromBasketRequestDTO struct { type RemoveProductFromBasketRequestDTO struct {
ProductID int `json:"product_id"` ProductID string `json:"product_id"`
Quantity int `json:"quantity"` Quantity int `json:"quantity"`
} }
type RemoveProductFromBasketResponseDTO struct { type RemoveProductFromBasketResponseDTO struct {
ProductID int `json:"product_id"` ProductID string `json:"product_id"`
BasketID string `json:"basket_id"` BasketID string `json:"basket_id"`
} }

View File

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

View File

@@ -5,9 +5,9 @@ import (
) )
type Product struct { type Product struct {
PID string `db:"pid"`
Name string `db:"name"` Name string `db:"name"`
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,omitempty"`
} }

5
identity/dto/headers.go Normal file
View File

@@ -0,0 +1,5 @@
package identity
type AuthorizationHeaderDTO struct {
Authorization string `reqHeader:"authorization"`
}

8
identity/entity/role.go Normal file
View File

@@ -0,0 +1,8 @@
package identity
type Role struct {
ID string `db:"id" json:"id"`
Name string `db:"name" json:"name"`
DisplayName string `db:"display_name" json:"display_name"`
URL string `db:"url" json:"url"`
}

View File

@@ -0,0 +1,8 @@
package identity
type URLAccess struct {
ID string `db:"id" json:"id"`
Roles []string `db:"roles" json:"roles"`
URL string `db:"url" json:"url"`
Service string `db:"service" json:"service"`
}

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"`
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{