summaryrefslogtreecommitdiff
path: root/internal/gtsmodel/status.go
diff options
context:
space:
mode:
authorLibravatar tobi <31960611+tsmethurst@users.noreply.github.com>2022-02-05 12:47:38 +0100
committerLibravatar GitHub <noreply@github.com>2022-02-05 12:47:38 +0100
commit1b36e858406ff6b15217229d1abaaabdbeec24e8 (patch)
tree2a8dba5c81eb69c87aa0d8c930a4e7e2c5c2cfa6 /internal/gtsmodel/status.go
parent[docs] Fix documentation to show --config-path in the right position. (#375) (diff)
downloadgotosocial-1b36e858406ff6b15217229d1abaaabdbeec24e8.tar.xz
[feature] Rework timeline code to make it useful for more than just statuses (#373)
* add preparable and timelineable interfaces * initialize timeline manager within the processor * generic renaming * move status-specific timeline logic into the processor * refactor timeline to make it useful for more than statuses
Diffstat (limited to 'internal/gtsmodel/status.go')
-rw-r--r--internal/gtsmodel/status.go21
1 files changed, 21 insertions, 0 deletions
diff --git a/internal/gtsmodel/status.go b/internal/gtsmodel/status.go
index e80924ca3..e798ea41b 100644
--- a/internal/gtsmodel/status.go
+++ b/internal/gtsmodel/status.go
@@ -66,6 +66,27 @@ type Status struct {
Likeable bool `validate:"-" bun:",notnull"` // This status can be liked/faved
}
+/*
+ The below functions are added onto the gtsmodel status so that it satisfies
+ the Timelineable interface in internal/timeline.
+*/
+
+func (s *Status) GetID() string {
+ return s.ID
+}
+
+func (s *Status) GetAccountID() string {
+ return s.AccountID
+}
+
+func (s *Status) GetBoostOfID() string {
+ return s.BoostOfID
+}
+
+func (s *Status) GetBoostOfAccountID() string {
+ return s.BoostOfAccountID
+}
+
// StatusToTag is an intermediate struct to facilitate the many2many relationship between a status and one or more tags.
type StatusToTag struct {
StatusID string `validate:"ulid,required" bun:"type:CHAR(26),unique:statustag,nullzero,notnull"`