owl-blogs/domain/model/post_entry.go

38 lines
721 B
Go

package model
import "time"
type PostEntry struct {
id string
publishedAt *time.Time
meta PostEntryMetaData
}
type PostEntryMetaData struct {
Title string `owl:"inputType=text"`
Content string `owl:"inputType=text widget=textarea"`
}
func (e *PostEntry) ID() string {
return e.id
}
func (e *PostEntry) Content() EntryContent {
return EntryContent(e.meta.Content)
}
func (e *PostEntry) PublishedAt() *time.Time {
return e.publishedAt
}
func (e *PostEntry) MetaData() interface{} {
return &e.meta
}
func (e *PostEntry) Create(id string, publishedAt *time.Time, metaData EntryMetaData) error {
e.id = id
e.publishedAt = publishedAt
e.meta = *metaData.(*PostEntryMetaData)
return nil
}