summaryrefslogtreecommitdiff
path: root/internal/gtsmodel/interaction.go
diff options
context:
space:
mode:
authorLibravatar tobi <31960611+tsmethurst@users.noreply.github.com>2024-10-08 10:51:13 +0200
committerLibravatar GitHub <noreply@github.com>2024-10-08 08:51:13 +0000
commit1e421cb912a9bc8dc564b814984bcdad4a597ada (patch)
treeb62e67266b59c0952aed0aba93dcd1485777136a /internal/gtsmodel/interaction.go
parent[chore]: Bump golang.org/x/image from 0.20.0 to 0.21.0 (#3399) (diff)
downloadgotosocial-1e421cb912a9bc8dc564b814984bcdad4a597ada.tar.xz
[feature] Distribute + ingest Accepts to followers (#3404)
Diffstat (limited to 'internal/gtsmodel/interaction.go')
-rw-r--r--internal/gtsmodel/interaction.go12
1 files changed, 8 insertions, 4 deletions
diff --git a/internal/gtsmodel/interaction.go b/internal/gtsmodel/interaction.go
index 562b752eb..92dd1a4e0 100644
--- a/internal/gtsmodel/interaction.go
+++ b/internal/gtsmodel/interaction.go
@@ -69,25 +69,29 @@ type InteractionRequest struct {
Like *StatusFave `bun:"-"` // Not stored in DB. Only set if InteractionType = InteractionLike.
Reply *Status `bun:"-"` // Not stored in DB. Only set if InteractionType = InteractionReply.
Announce *Status `bun:"-"` // Not stored in DB. Only set if InteractionType = InteractionAnnounce.
- URI string `bun:",nullzero,unique"` // ActivityPub URI of the Accept (if accepted) or Reject (if rejected). Null/empty if currently neither accepted not rejected.
AcceptedAt time.Time `bun:"type:timestamptz,nullzero"` // If interaction request was accepted, time at which this occurred.
RejectedAt time.Time `bun:"type:timestamptz,nullzero"` // If interaction request was rejected, time at which this occurred.
+
+ // ActivityPub URI of the Accept (if accepted) or Reject (if rejected).
+ // Field may be empty if currently neither accepted not rejected, or if
+ // acceptance/rejection was implicit (ie., not resulting from an Activity).
+ URI string `bun:",nullzero,unique"`
}
// IsHandled returns true if interaction
// request has been neither accepted or rejected.
func (ir *InteractionRequest) IsPending() bool {
- return ir.URI == "" && ir.AcceptedAt.IsZero() && ir.RejectedAt.IsZero()
+ return !ir.IsAccepted() && !ir.IsRejected()
}
// IsAccepted returns true if this
// interaction request has been accepted.
func (ir *InteractionRequest) IsAccepted() bool {
- return ir.URI != "" && !ir.AcceptedAt.IsZero()
+ return !ir.AcceptedAt.IsZero()
}
// IsRejected returns true if this
// interaction request has been rejected.
func (ir *InteractionRequest) IsRejected() bool {
- return ir.URI != "" && !ir.RejectedAt.IsZero()
+ return !ir.RejectedAt.IsZero()
}