2025-01-02 01:20:26 +01:00
|
|
|
package viewmodel
|
|
|
|
|
|
|
|
|
|
import "crowsnest/internal/model"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
type ArticleViewModel struct {
|
|
|
|
|
Title string
|
|
|
|
|
Author string
|
|
|
|
|
PublishDate string
|
|
|
|
|
SourceUrl string
|
|
|
|
|
Summary string
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func NewArticleViewModel(a *model.Article) *ArticleViewModel {
|
|
|
|
|
summary := a.Content
|
2025-01-02 15:05:20 +01:00
|
|
|
if len(a.Content) > 300 {
|
|
|
|
|
summary = summary[:300]
|
2025-01-02 01:20:26 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return &ArticleViewModel{
|
|
|
|
|
Title: a.Title,
|
|
|
|
|
Author: a.Author,
|
|
|
|
|
PublishDate: a.PublishDate.Local().Format("02.01.2006 03:04"),
|
|
|
|
|
SourceUrl: a.SourceUrl,
|
|
|
|
|
Summary: summary,
|
|
|
|
|
}
|
|
|
|
|
}
|