From 1b36e858406ff6b15217229d1abaaabdbeec24e8 Mon Sep 17 00:00:00 2001 From: tobi <31960611+tsmethurst@users.noreply.github.com> Date: Sat, 5 Feb 2022 12:47:38 +0100 Subject: [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 --- internal/gtsmodel/status.go | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'internal/gtsmodel/status.go') 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"` -- cgit v1.2.3