diff options
Diffstat (limited to 'internal/typeutils')
-rw-r--r-- | internal/typeutils/converter.go | 2 | ||||
-rw-r--r-- | internal/typeutils/internaltoas.go | 14 |
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) } |