1
0
mirror of https://github.com/mrusme/neonmodem.git synced 2024-12-04 14:46:37 -05:00
neonmodem/models/post/post.go
2023-01-10 14:03:57 -05:00

56 lines
871 B
Go

package post
import (
"fmt"
"strings"
"time"
"github.com/mergestat/timediff"
"github.com/mrusme/neonmodem/models/author"
"github.com/mrusme/neonmodem/models/forum"
"github.com/mrusme/neonmodem/models/reply"
)
type Post struct {
ID string
Subject string
Body string
Type string // "post", "url"
Pinned bool
Closed bool
CreatedAt time.Time
LastCommentedAt time.Time
Author author.Author
Forum forum.Forum
TotalReplies int
CurrentRepliesStartIDX int
Replies []reply.Reply
URL string
SysIDX int
}
func (post Post) FilterValue() string {
return post.Subject
}
func (post Post) Title() string {
return post.Subject
}
func (post Post) Description() string {
return fmt.Sprintf(
"by %s %s in %s",
post.Author.Name,
timediff.TimeDiff(post.CreatedAt.Local()),
strings.Title(post.Forum.Name),
)
}