[feature] List replies policy, refactor async workers (#2087)

* Add/update some DB functions.

* move async workers into subprocessor

* rename FromFederator -> FromFediAPI

* update home timeline check to include check for current status first before moving to parent status

* change streamMap to pointer to mollify linter

* update followtoas func signature

* fix merge

* remove errant debug log

* don't use separate errs.Combine() check to wrap errs

* wrap parts of workers functionality in sub-structs

* populate report using new db funcs

* embed federator (tiny bit tidier)

* flesh out error msg, add continue(!)

* fix other error messages to be more specific

* better, nicer

* give parseURI util function a bit more util

* missing headers

* use pointers for subprocessors
This commit is contained in:
tobi 2023-08-09 19:14:33 +02:00 committed by GitHub
commit 9770d54237
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
49 changed files with 4110 additions and 2660 deletions

View file

@ -41,6 +41,9 @@ type Relationship interface {
// GetBlock returns the block from account1 targeting account2, if it exists, or an error if it doesn't.
GetBlock(ctx context.Context, account1 string, account2 string) (*gtsmodel.Block, error)
// PopulateBlock populates the struct pointers on the given block.
PopulateBlock(ctx context.Context, block *gtsmodel.Block) error
// PutBlock attempts to place the given account block in the database.
PutBlock(ctx context.Context, block *gtsmodel.Block) error
@ -77,6 +80,9 @@ type Relationship interface {
// GetFollowRequest retrieves a follow request if it exists between source and target accounts.
GetFollowRequest(ctx context.Context, sourceAccountID string, targetAccountID string) (*gtsmodel.FollowRequest, error)
// PopulateFollowRequest populates the struct pointers on the given follow request.
PopulateFollowRequest(ctx context.Context, follow *gtsmodel.FollowRequest) error
// IsFollowing returns true if sourceAccount follows target account, or an error if something goes wrong while finding out.
IsFollowing(ctx context.Context, sourceAccountID string, targetAccountID string) (bool, error)