1
0
mirror of https://github.com/mrusme/neonmodem.git synced 2024-06-30 06:45:24 +00:00
neonmodem/models/post/post.go

56 lines
871 B
Go
Raw Normal View History

2022-12-29 03:22:36 +00:00
package post
2022-12-30 06:44:31 +00:00
import (
2022-12-31 04:57:03 +00:00
"fmt"
"strings"
2022-12-30 07:05:48 +00:00
"time"
"github.com/mergestat/timediff"
2023-01-07 00:46:41 +00:00
"github.com/mrusme/neonmodem/models/author"
"github.com/mrusme/neonmodem/models/forum"
"github.com/mrusme/neonmodem/models/reply"
2022-12-30 06:44:31 +00:00
)
2022-12-29 03:22:36 +00:00
type Post struct {
ID string
Subject string
2022-12-30 06:44:31 +00:00
Body string
Type string // "post", "url"
Pinned bool
Closed bool
2022-12-30 07:05:48 +00:00
CreatedAt time.Time
LastCommentedAt time.Time
2022-12-30 06:44:31 +00:00
Author author.Author
2022-12-31 04:57:03 +00:00
Forum forum.Forum
TotalReplies int
CurrentRepliesStartIDX int
Replies []reply.Reply
2022-12-30 08:22:54 +00:00
URL string
2022-12-30 08:22:54 +00:00
SysIDX int
2022-12-29 03:22:36 +00:00
}
func (post Post) FilterValue() string {
return post.Subject
}
func (post Post) Title() string {
return post.Subject
}
func (post Post) Description() string {
2022-12-31 04:57:03 +00:00
return fmt.Sprintf(
"by %s %s in %s",
2022-12-31 21:57:11 +00:00
post.Author.Name,
timediff.TimeDiff(post.CreatedAt.Local()),
strings.Title(post.Forum.Name),
2022-12-31 04:57:03 +00:00
)
2022-12-29 03:22:36 +00:00
}