37 lines
1.2 KiB
Go
37 lines
1.2 KiB
Go
package domain
|
|
|
|
import "time"
|
|
|
|
type Game struct {
|
|
ID string `json:"id"`
|
|
Name string `json:"name"`
|
|
Description string `json:"description"`
|
|
ReleaseDate string `json:"release_date"`
|
|
Developer string `json:"developer"`
|
|
Publisher string `json:"publisher"`
|
|
Genres []string `json:"genres"`
|
|
Platforms []string `json:"platforms"`
|
|
Price float64 `json:"price"`
|
|
CreatedAt time.Time `json:"created_at"`
|
|
UpdatedAt time.Time `json:"updated_at"`
|
|
}
|
|
|
|
type GameListResponse struct {
|
|
Data []Game `json:"data"`
|
|
Total int `json:"total"`
|
|
Page int `json:"page"`
|
|
PerPage int `json:"per_page"`
|
|
TotalPages int `json:"total_pages"`
|
|
}
|
|
|
|
type GameCreateRequest struct {
|
|
Name string `json:"name" validate:"required"`
|
|
Description string `json:"description" validate:"required"`
|
|
ReleaseDate string `json:"release_date" validate:"required"`
|
|
Developer string `json:"developer" validate:"required"`
|
|
Publisher string `json:"publisher" validate:"required"`
|
|
Genres []string `json:"genres" validate:"required"`
|
|
Platforms []string `json:"platforms" validate:"required"`
|
|
Price float64 `json:"price" validate:"required"`
|
|
}
|