package newsdomain import ( categorydomain "legalgo-BE-go/internal/domain/category" tagdomain "legalgo-BE-go/internal/domain/tag" "time" ) type NewsReq struct { Title string `json:"title" validate:"required"` Content string `json:"content"` FeaturedImage string `json:"featured_image"` Tags []string `json:"tags"` Categories []string `json:"categories"` IsPremium bool `json:"is_premium"` LiveAt string `json:"live_at" validate:"required"` } type Staff struct { ID string `json:"id"` Name string `json:"name"` ProfilePicture string `json:"profile_picture"` } type News struct { ID string `json:"id" gorm:"primaryKey"` Title string `json:"title"` Content string `json:"content"` FeaturedImage string `json:"featured_image"` Tags []tagdomain.Tag `gorm:"many2many:news_tags" json:"tags"` Categories []categorydomain.Category `gorm:"many2many:news_categories" json:"categories"` IsPremium bool `json:"is_premium"` Slug string `json:"slug"` AuthorID string `json:"author_id"` LiveAt time.Time `json:"live_at"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` Author Staff `json:"author"` }