package model import ( "time" "crypto/sha256" "encoding/hex" ) // TODO docstring type Article struct { Identifier uint 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() uint { return article.Identifier }