[feature] Implement /api/v1/reports endpoints on client API (#1330)

* start adding report client api

* route + test reports get

* start report create endpoint

* you can create reports now babyy

* stub account report processor

* add single reportGet endpoint

* fix test

* add more filtering params to /api/v1/reports GET

* update swagger

* use marshalIndent in tests

* add + test missing Link info
This commit is contained in:
tobi
2023-01-23 13:14:21 +01:00
committed by GitHub
parent 605dfca1af
commit e9747247d5
26 changed files with 2184 additions and 20 deletions

View File

@ -121,6 +121,12 @@ func (p *processor) ProcessFromClientAPI(ctx context.Context, clientMsg messages
// DELETE ACCOUNT/PROFILE
return p.processDeleteAccountFromClientAPI(ctx, clientMsg)
}
case ap.ActivityFlag:
// FLAG
if clientMsg.APObjectType == ap.ObjectProfile {
// FLAG/REPORT A PROFILE
return p.processReportAccountFromClientAPI(ctx, clientMsg)
}
}
return nil
}
@ -338,6 +344,13 @@ func (p *processor) processDeleteAccountFromClientAPI(ctx context.Context, clien
return p.accountProcessor.Delete(ctx, clientMsg.TargetAccount, origin)
}
func (p *processor) processReportAccountFromClientAPI(ctx context.Context, clientMsg messages.FromClientAPI) error {
// TODO: in a separate PR, handle side effects of flag/report
// 1. email admin(s)
// 2. federate report if necessary
return nil
}
// TODO: move all the below functions into federation.Federator
func (p *processor) federateAccountDelete(ctx context.Context, account *gtsmodel.Account) error {