mirror of
https://github.com/snowykami/neo-blog.git
synced 2025-09-05 00:36:23 +00:00
feat: create random labels page feat: implement login page with OpenID Connect support feat: add Gravatar component for user avatars feat: create Navbar component with navigation menu chore: create Sidebar component placeholder feat: implement login form with OIDC and email/password options feat: add reusable button component feat: create card component for structured content display feat: implement input component for forms feat: create label component for form labels feat: add navigation menu component for site navigation chore: add configuration file for site metadata feat: implement device context for responsive design feat: add utility functions for class name management feat: define OIDC configuration model feat: define base response model for API responses feat: define user model for user data feat: implement i18n for internationalization support feat: add English and Chinese translations for login chore: create index for locale resources chore: add blog home view placeholder
25 lines
999 B
Go
25 lines
999 B
Go
package model
|
|
|
|
import (
|
|
"github.com/snowykami/neo-blog/internal/dto"
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
type Label struct {
|
|
gorm.Model
|
|
Key string `gorm:"uniqueIndex"` // 标签键,唯一标识
|
|
Value string `gorm:"type:text"` // 标签值,描述标签的内容
|
|
Color string `gorm:"type:text"` // 前端可用颜色代码
|
|
TailwindClassName string `gorm:"type:text"` // Tailwind CSS 的类名,用于前端样式
|
|
Posts []Post `gorm:"many2many:post_labels;constraint:OnUpdate:CASCADE,OnDelete:SET NULL;"` // 关联的帖子
|
|
}
|
|
|
|
func (l *Label) ToDto() dto.LabelDto {
|
|
return dto.LabelDto{
|
|
Key: l.Key,
|
|
Value: l.Value,
|
|
Color: l.Color,
|
|
TailwindClassName: l.TailwindClassName,
|
|
}
|
|
}
|