diff options
Diffstat (limited to 'internal/processing/admin')
-rw-r--r-- | internal/processing/admin/accountaction.go | 4 | ||||
-rw-r--r-- | internal/processing/admin/admin.go | 19 | ||||
-rw-r--r-- | internal/processing/admin/createdomainblock.go | 4 |
3 files changed, 14 insertions, 13 deletions
diff --git a/internal/processing/admin/accountaction.go b/internal/processing/admin/accountaction.go index c9b2edf64..c71eb27e5 100644 --- a/internal/processing/admin/accountaction.go +++ b/internal/processing/admin/accountaction.go @@ -34,12 +34,12 @@ func (p *processor) AccountAction(ctx context.Context, account *gtsmodel.Account case string(gtsmodel.AdminActionSuspend): adminAction.Type = gtsmodel.AdminActionSuspend // pass the account delete through the client api channel for processing - p.fromClientAPI <- messages.FromClientAPI{ + p.clientWorker.Queue(messages.FromClientAPI{ APObjectType: ap.ActorPerson, APActivityType: ap.ActivityDelete, OriginAccount: account, TargetAccount: targetAccount, - } + }) default: return gtserror.NewErrorBadRequest(fmt.Errorf("admin action type %s is not supported for this endpoint", form.Type)) } diff --git a/internal/processing/admin/admin.go b/internal/processing/admin/admin.go index 28d47acf1..a66480b8a 100644 --- a/internal/processing/admin/admin.go +++ b/internal/processing/admin/admin.go @@ -29,6 +29,7 @@ import ( "github.com/superseriousbusiness/gotosocial/internal/media" "github.com/superseriousbusiness/gotosocial/internal/messages" "github.com/superseriousbusiness/gotosocial/internal/typeutils" + "github.com/superseriousbusiness/gotosocial/internal/worker" ) // Processor wraps a bunch of functions for processing admin actions. @@ -43,18 +44,18 @@ type Processor interface { } type processor struct { - tc typeutils.TypeConverter - mediaManager media.Manager - fromClientAPI chan messages.FromClientAPI - db db.DB + tc typeutils.TypeConverter + mediaManager media.Manager + clientWorker *worker.Worker[messages.FromClientAPI] + db db.DB } // New returns a new admin processor. -func New(db db.DB, tc typeutils.TypeConverter, mediaManager media.Manager, fromClientAPI chan messages.FromClientAPI) Processor { +func New(db db.DB, tc typeutils.TypeConverter, mediaManager media.Manager, clientWorker *worker.Worker[messages.FromClientAPI]) Processor { return &processor{ - tc: tc, - mediaManager: mediaManager, - fromClientAPI: fromClientAPI, - db: db, + tc: tc, + mediaManager: mediaManager, + clientWorker: clientWorker, + db: db, } } diff --git a/internal/processing/admin/createdomainblock.go b/internal/processing/admin/createdomainblock.go index a469cf6e3..9bf7c2fd4 100644 --- a/internal/processing/admin/createdomainblock.go +++ b/internal/processing/admin/createdomainblock.go @@ -141,13 +141,13 @@ selectAccountsLoop: l.Debugf("putting delete for account %s in the clientAPI channel", a.Username) // pass the account delete through the client api channel for processing - p.fromClientAPI <- messages.FromClientAPI{ + p.clientWorker.Queue(messages.FromClientAPI{ APObjectType: ap.ActorPerson, APActivityType: ap.ActivityDelete, GTSModel: block, OriginAccount: account, TargetAccount: a, - } + }) // if this is the last account in the slice, set the maxID appropriately for the next query if i == len(accounts)-1 { |