Files
aresv2/database/models/docs_models.go
Beyhan Oğur 4362c3b83f first commit
2026-04-26 21:33:39 +03:00

97 lines
2.9 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"`
}
type ProductCategoryDoc struct {
ID uint `json:"id"`
Title string `json:"title"`
Slug string `json:"slug"`
Description string `json:"description,omitempty"`
Keywords string `json:"keywords,omitempty"`
ParentID *uint `json:"parent_id,omitempty"`
Children []ProductCategoryDoc `json:"children,omitempty"`
}
type ProductTagDoc struct {
ID uint `json:"id"`
Name string `json:"name"`
}
type ProductDoc struct {
ID uint `json:"id"`
Title string `json:"title"`
Images string `json:"images"`
Price float64 `json:"price"`
Width int `json:"width"`
Height int `json:"height"`
Quality int `json:"quality"`
Format string `json:"format"`
Content string `json:"content,omitempty"`
Slug string `json:"slug"`
Categories []ProductCategoryDoc `json:"categories,omitempty"`
Tags []ProductTagDoc `json:"tags,omitempty"`
}
type CartItemDoc struct {
ID uint `json:"id"`
CartID uint `json:"cart_id"`
ProductID uint `json:"product_id"`
Product ProductDoc `json:"product,omitempty"`
Quantity int `json:"quantity"`
}
type CartDoc struct {
ID uint `json:"id"`
UserID uint `json:"user_id"`
Items []CartItemDoc `json:"items,omitempty"`
}
type ProductCommentDoc struct {
ID uint `json:"id"`
UserID uint `json:"user_id"`
ProductID uint `json:"product_id"`
Body string `json:"body"`
}
type ProductCategoryViewDoc struct {
ID uint `json:"id"`
CategoryID uint `json:"category_id"`
IPAddress string `json:"ip_address,omitempty"`
}