40 lines
1.1 KiB
Go
40 lines
1.1 KiB
Go
package models
|
|
|
|
// Swagger-friendly (light) structs for documentation only.
|
|
// These avoid embedding external types (gorm.Model) so `swag` can parse them.
|
|
|
|
type CategoryDoc struct {
|
|
ID uint `json:"id"`
|
|
Title string `json:"title"`
|
|
Description string `json:"description,omitempty"`
|
|
ParentID *uint `json:"parent_id,omitempty"`
|
|
Children []CategoryDoc `json:"children,omitempty"`
|
|
}
|
|
|
|
type TagDoc struct {
|
|
ID uint `json:"id"`
|
|
Name string `json:"name"`
|
|
}
|
|
|
|
type PostDoc struct {
|
|
ID uint `json:"id"`
|
|
Title string `json:"title"`
|
|
Content string `json:"content,omitempty"`
|
|
Images []string `json:"images,omitempty"`
|
|
Categories []CategoryDoc `json:"categories,omitempty"`
|
|
Tags []TagDoc `json:"tags,omitempty"`
|
|
}
|
|
|
|
type CommentDoc struct {
|
|
ID uint `json:"id"`
|
|
UserID uint `json:"user_id"`
|
|
PostID uint `json:"post_id"`
|
|
Body string `json:"body,omitempty"`
|
|
}
|
|
|
|
type CategoryViewDoc struct {
|
|
ID uint `json:"id"`
|
|
CategoryID uint `json:"category_id"`
|
|
IPAddress string `json:"ip_address,omitempty"`
|
|
}
|