summaryrefslogtreecommitdiff
path: root/internal/gtsmodel
diff options
context:
space:
mode:
Diffstat (limited to 'internal/gtsmodel')
-rw-r--r--internal/gtsmodel/mention.go6
-rw-r--r--internal/gtsmodel/status.go10
2 files changed, 16 insertions, 0 deletions
diff --git a/internal/gtsmodel/mention.go b/internal/gtsmodel/mention.go
index 180193f0f..85b59899d 100644
--- a/internal/gtsmodel/mention.go
+++ b/internal/gtsmodel/mention.go
@@ -49,6 +49,12 @@ type Mention struct {
// This will not be put in the database, it's just for convenience.
NameString string `bun:"-"`
+ // IsNew indicates whether this mention is "new" in the sense
+ // that it has not previously been inserted into the database.
+ //
+ // This will not be put in the database, it's just for convenience.
+ IsNew bool `bun:"-"`
+
// TargetAccountURI is the AP ID (uri) of the user mentioned.
//
// This will not be put in the database, it's just for convenience.
diff --git a/internal/gtsmodel/status.go b/internal/gtsmodel/status.go
index a7d917f78..eca50416e 100644
--- a/internal/gtsmodel/status.go
+++ b/internal/gtsmodel/status.go
@@ -210,6 +210,16 @@ func (s *Status) GetMentionByTargetURI(uri string) (*Mention, bool) {
return nil, false
}
+// GetMentionByTargetID searches status for Mention{} with target ID.
+func (s *Status) GetMentionByTargetID(id string) (*Mention, bool) {
+ for _, mention := range s.Mentions {
+ if mention.TargetAccountID == id {
+ return mention, true
+ }
+ }
+ return nil, false
+}
+
// GetMentionByUsernameDomain fetches the Mention associated with given
// username and domains, typically extracted from a mention Namestring.
func (s *Status) GetMentionByUsernameDomain(username, domain string) (*Mention, bool) {