Compare commits

...

17 Commits

16 changed files with 96 additions and 38 deletions

View File

@@ -4,13 +4,13 @@ import (
"time"
)
type BasketModel struct {
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"`
}
type BasketItemModel struct {
type BasketItem struct {
BasketID string `db:"basket_id" json:"basket_id"`
ProductID int `db:"product_id" json:"product_id"`
Quantity int `db:"quantity" json:"quantity"`

View File

@@ -1,24 +1,24 @@
package dto
package catalog
import (
"time"
)
type GetProductRequestDTO struct {
ProductID int `json:"product_id"`
ProductID string `json:"product_id"`
}
type GetProductResponseDTO 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"`
ID string `json:"id"`
Name string `json:"name"`
Slug string `json:"slug"`
Price float64 `json:"price"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at,omitempty"`
}
type GetProductListRequestDTO struct {
CategoryID int `json:"category_id"`
CategoryID string `json:"category_id"`
}
type GetProductListResponseDTO struct {
@@ -26,21 +26,21 @@ type GetProductListResponseDTO struct {
}
type AddProductToBasketRequestDTO struct {
ProductID int `json:"product_id"`
Quantity int `json:"quantity"`
ProductID string `json:"product_id"`
Quantity int `json:"quantity"`
}
type AddProductToBasketResponseDTO struct {
ProductID int `json:"product_id"`
ProductID string `json:"product_id"`
BasketID string `json:"basket_id"`
}
type RemoveProductFromBasketRequestDTO struct {
ProductID int `json:"product_id"`
Quantity int `json:"quantity"`
ProductID string `json:"product_id"`
Quantity int `json:"quantity"`
}
type RemoveProductFromBasketResponseDTO struct {
ProductID int `json:"product_id"`
ProductID string `json:"product_id"`
BasketID string `json:"basket_id"`
}

View File

@@ -1,12 +1,12 @@
package entity
package catalog
import "github.com/jackc/pgtype"
import "time"
type ProductEntity struct {
ID int `db:"id"`
PID string `db:"pid"`
Name string `db:"name"`
Price float64 `db:"price"`
CreatedAt pgtype.Timestamp `db:"created_at"`
UpdatedAt pgtype.Timestamp `db:"updated_at,omitempty"`
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"`
}

View File

@@ -1,12 +1,12 @@
package model
package catalog
import (
"time"
)
type ProductModel struct {
PID string `db:"pid"`
type Product struct {
Name string `db:"name"`
Slug string `db:"slug"`
Price float64 `db:"price"`
CreatedAt time.Time `db:"created_at"`
UpdatedAt time.Time `db:"updated_at,omitempty"`

View File

@@ -1,4 +1,4 @@
package dto
package common
type ErrorResponseDTO struct {
Error string `json:"error"`

View File

@@ -1,4 +1,4 @@
package dto
package common
type HealthResponseDTO struct {
Status string `json:"status"`

View File

@@ -1,4 +1,4 @@
package vo
package common
import "strings"

View File

@@ -1,4 +1,4 @@
package vo
package common
type Money struct {
}

2
go.mod
View File

@@ -1,4 +1,4 @@
module git.ego.cloudns.be/egommerce/api-entities
module git.ego.freeddns.org/egommerce/api-entities
go 1.19

View File

@@ -6,5 +6,23 @@ type AuthLoginRequestDTO struct {
}
type AuthLoginResponseDTO struct {
Token string `json:"jwt_token"`
Token string `json:"token"`
}
type AuthRefreshTokenRequestDTO struct {
AccessToken string `json:"access_token"`
}
type AuthRefreshTokenResponseDTO struct {
Token string `json:"token"`
}
type AuthRegisterRequestDTO struct {
Email string `json:"email"`
Username string `json:"username"`
Password string `json:"password"`
}
type AuthRegisterResponseDTO struct {
ID string `json:"id"`
}

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

19
identity/entity/user.go Normal file
View File

@@ -0,0 +1,19 @@
package identity
import "time"
type User struct {
ID string `db:"id" json:"id"`
Email string `db:"email" json:"email"`
Username string `db:"username" json:"username"`
Password string `db:"password" json:"password"`
CreatedAt time.Time `db:"created_at" json:"created_at"`
ModifiedAt time.Time `db:"modified_at" json:"modified_at"` // FIXME: zero-value issue
}
// var TestUser = &User{
// ID: 1,
// Username: "test",
// Password: "test",
// CreateDate: time.Now(),
// }

View File

@@ -2,13 +2,13 @@ package order
import "time"
type OrderModel struct {
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"`
}
type OrderItemModel struct {
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"`

View File

@@ -1,6 +1,6 @@
package pricing
type ProductPriceModel struct {
type ProductPrice struct {
PID string `db:"pid"`
Price int `db:"price"`
}