add viewmodel for article

This commit is contained in:
2025-01-02 01:20:26 +01:00
parent f0fc6820f3
commit b1719704e4
4 changed files with 71 additions and 20 deletions

View File

@@ -1,33 +0,0 @@
package model
import (
"time"
"crypto/sha256"
"encoding/hex"
)
// TODO docstring
type Article struct {
SourceUrl string
PublishDate time.Time
FetchDate time.Time
Title string
Content string
Author string
}
// Generates a hash based on the source url of the article. Can be used to
// identify the article.
func (article *Article) Hash() string {
hash := sha256.Sum256([]byte(article.SourceUrl))
return hex.EncodeToString(hash[:])
}
// --- implement IIdentifiable interface ---
// Using the Identifier attribute as the Id.
func (article *Article) Id() string {
return article.Hash()
}