outbound federation of likes working

This commit is contained in:
tsmethurst 2021-05-24 18:49:04 +02:00
commit 79daebe99c
11 changed files with 196 additions and 57 deletions

View file

@ -44,7 +44,7 @@ func (p *processor) processFromClientAPI(clientMsg gtsmodel.FromClientAPI) error
return err
}
if status.VisibilityAdvanced.Federated {
if status.VisibilityAdvanced != nil && status.VisibilityAdvanced.Federated {
return p.federateStatus(status)
}
return nil
@ -63,6 +63,15 @@ func (p *processor) processFromClientAPI(clientMsg gtsmodel.FromClientAPI) error
case gtsmodel.ActivityStreamsLike:
// CREATE LIKE/FAVE
fave, ok := clientMsg.GTSModel.(*gtsmodel.StatusFave)
if !ok {
return errors.New("fave was not parseable as *gtsmodel.StatusFave")
}
if err := p.notifyFave(fave); err != nil {
return err
}
return p.federateFave(fave, clientMsg.OriginAccount, clientMsg.TargetAccount)
}
case gtsmodel.ActivityStreamsUpdate:
// UPDATE
@ -225,7 +234,7 @@ func (p *processor) federateFave(fave *gtsmodel.StatusFave, originAccount *gtsmo
}
// create the AS fave
asFave, err := p.tc.FaveToAS(fave, originAccount, targetAccount)
asFave, err := p.tc.FaveToAS(fave)
if err != nil {
return fmt.Errorf("federateFave: error converting fave to as format: %s", err)
}
@ -234,7 +243,6 @@ func (p *processor) federateFave(fave *gtsmodel.StatusFave, originAccount *gtsmo
if err != nil {
return fmt.Errorf("federateFave: error parsing outboxURI %s: %s", originAccount.OutboxURI, err)
}
_, err = p.federator.FederatingActor().Send(context.Background(), outboxIRI, asFave)
return err
}