summaryrefslogtreecommitdiff
path: root/internal/processing/admin
diff options
context:
space:
mode:
Diffstat (limited to 'internal/processing/admin')
-rw-r--r--internal/processing/admin/accountaction.go4
-rw-r--r--internal/processing/admin/admin.go19
-rw-r--r--internal/processing/admin/createdomainblock.go4
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 {