summaryrefslogtreecommitdiff
path: root/internal/typeutils
diff options
context:
space:
mode:
Diffstat (limited to 'internal/typeutils')
-rw-r--r--internal/typeutils/converter.go2
-rw-r--r--internal/typeutils/internaltoas.go14
2 files changed, 10 insertions, 6 deletions
diff --git a/internal/typeutils/converter.go b/internal/typeutils/converter.go
index cb69cba5d..73992fc0e 100644
--- a/internal/typeutils/converter.go
+++ b/internal/typeutils/converter.go
@@ -156,7 +156,7 @@ type TypeConverter interface {
// URI of the status as object, and addressing the Delete appropriately.
StatusToASDelete(ctx context.Context, status *gtsmodel.Status) (vocab.ActivityStreamsDelete, error)
// FollowToASFollow converts a gts model Follow into an activity streams Follow, suitable for federation
- FollowToAS(ctx context.Context, f *gtsmodel.Follow, originAccount *gtsmodel.Account, targetAccount *gtsmodel.Account) (vocab.ActivityStreamsFollow, error)
+ FollowToAS(ctx context.Context, f *gtsmodel.Follow) (vocab.ActivityStreamsFollow, error)
// MentionToAS converts a gts model mention into an activity streams Mention, suitable for federation
MentionToAS(ctx context.Context, m *gtsmodel.Mention) (vocab.ActivityStreamsMention, error)
// EmojiToAS converts a gts emoji into a mastodon ns Emoji, suitable for federation
diff --git a/internal/typeutils/internaltoas.go b/internal/typeutils/internaltoas.go
index 60ab24383..f10205b13 100644
--- a/internal/typeutils/internaltoas.go
+++ b/internal/typeutils/internaltoas.go
@@ -774,10 +774,14 @@ func (c *converter) StatusToASDelete(ctx context.Context, s *gtsmodel.Status) (v
return delete, nil
}
-func (c *converter) FollowToAS(ctx context.Context, f *gtsmodel.Follow, originAccount *gtsmodel.Account, targetAccount *gtsmodel.Account) (vocab.ActivityStreamsFollow, error) {
- // parse out the various URIs we need for this
- // origin account (who's doing the follow)
- originAccountURI, err := url.Parse(originAccount.URI)
+func (c *converter) FollowToAS(ctx context.Context, f *gtsmodel.Follow) (vocab.ActivityStreamsFollow, error) {
+ if err := c.db.PopulateFollow(ctx, f); err != nil {
+ return nil, gtserror.Newf("error populating follow: %w", err)
+ }
+
+ // Parse out the various URIs we need for this
+ // origin account (who's doing the follow).
+ originAccountURI, err := url.Parse(f.Account.URI)
if err != nil {
return nil, fmt.Errorf("followtoasfollow: error parsing origin account uri: %s", err)
}
@@ -785,7 +789,7 @@ func (c *converter) FollowToAS(ctx context.Context, f *gtsmodel.Follow, originAc
originActor.AppendIRI(originAccountURI)
// target account (who's being followed)
- targetAccountURI, err := url.Parse(targetAccount.URI)
+ targetAccountURI, err := url.Parse(f.TargetAccount.URI)
if err != nil {
return nil, fmt.Errorf("followtoasfollow: error parsing target account uri: %s", err)
}