summaryrefslogtreecommitdiff
path: root/internal/processing/workers
diff options
context:
space:
mode:
authorLibravatar tobi <31960611+tsmethurst@users.noreply.github.com>2024-09-16 22:41:04 +0200
committerLibravatar GitHub <noreply@github.com>2024-09-16 22:41:04 +0200
commit4bd5e68b2b811eef42045149f4b7abdc6a2ba9e7 (patch)
tree27621eebf1ba12b78608c2e855244c1c74e3e352 /internal/processing/workers
parent[bugfix] Be more lenient when parsing mastodown following.csv (#3311) (diff)
downloadgotosocial-4bd5e68b2b811eef42045149f4b7abdc6a2ba9e7.tar.xz
[bugfix] Ensure id set on outgoing Reject + Accept (#3312)
Diffstat (limited to 'internal/processing/workers')
-rw-r--r--internal/processing/workers/federate.go62
1 files changed, 8 insertions, 54 deletions
diff --git a/internal/processing/workers/federate.go b/internal/processing/workers/federate.go
index d14f38902..a0fd6bf69 100644
--- a/internal/processing/workers/federate.go
+++ b/internal/processing/workers/federate.go
@@ -1149,41 +1149,18 @@ func (f *federate) AcceptInteraction(
return nil
}
- // Parse relevant URI(s).
+ // Parse outbox URI.
outboxIRI, err := parseURI(req.TargetAccount.OutboxURI)
if err != nil {
return err
}
- acceptingAcctIRI, err := parseURI(req.TargetAccount.URI)
- if err != nil {
- return err
- }
-
- interactingAcctURI, err := parseURI(req.InteractingAccount.URI)
- if err != nil {
- return err
- }
-
- interactionURI, err := parseURI(req.InteractionURI)
+ // Convert req to Accept.
+ accept, err := f.converter.InteractionReqToASAccept(ctx, req)
if err != nil {
- return err
+ return gtserror.Newf("error converting request to Accept: %w", err)
}
- // Create a new Accept.
- accept := streams.NewActivityStreamsAccept()
-
- // Set interacted-with account
- // as Actor of the Accept.
- ap.AppendActorIRIs(accept, acceptingAcctIRI)
-
- // Set the interacted-with object
- // as Object of the Accept.
- ap.AppendObjectIRIs(accept, interactionURI)
-
- // Address the Accept To the interacting acct.
- ap.AppendTo(accept, interactingAcctURI)
-
// Send the Accept via the Actor's outbox.
if _, err := f.FederatingActor().Send(
ctx, outboxIRI, accept,
@@ -1221,41 +1198,18 @@ func (f *federate) RejectInteraction(
return nil
}
- // Parse relevant URI(s).
+ // Parse outbox URI.
outboxIRI, err := parseURI(req.TargetAccount.OutboxURI)
if err != nil {
return err
}
- rejectingAcctIRI, err := parseURI(req.TargetAccount.URI)
- if err != nil {
- return err
- }
-
- interactingAcctURI, err := parseURI(req.InteractingAccount.URI)
- if err != nil {
- return err
- }
-
- interactionURI, err := parseURI(req.InteractionURI)
+ // Convert req to Reject.
+ reject, err := f.converter.InteractionReqToASReject(ctx, req)
if err != nil {
- return err
+ return gtserror.Newf("error converting request to Reject: %w", err)
}
- // Create a new Reject.
- reject := streams.NewActivityStreamsReject()
-
- // Set interacted-with account
- // as Actor of the Reject.
- ap.AppendActorIRIs(reject, rejectingAcctIRI)
-
- // Set the interacted-with object
- // as Object of the Reject.
- ap.AppendObjectIRIs(reject, interactionURI)
-
- // Address the Reject To the interacting acct.
- ap.AppendTo(reject, interactingAcctURI)
-
// Send the Reject via the Actor's outbox.
if _, err := f.FederatingActor().Send(
ctx, outboxIRI, reject,