summaryrefslogtreecommitdiff
path: root/internal/processing/workers/fromclientapi.go
diff options
context:
space:
mode:
authorLibravatar tobi <31960611+tsmethurst@users.noreply.github.com>2024-04-11 11:45:53 +0200
committerLibravatar GitHub <noreply@github.com>2024-04-11 11:45:53 +0200
commit9fb8a78f91adffd5f4d28df1270e407c25a7a16e (patch)
treed68200744e28d07e75a52bb0c9f6593c86a38a91 /internal/processing/workers/fromclientapi.go
parent[performance] massively improved ActivityPub delivery worker efficiency (#2812) (diff)
downloadgotosocial-9fb8a78f91adffd5f4d28df1270e407c25a7a16e.tar.xz
[feature] New user sign-up via web page (#2796)
* [feature] User sign-up form and admin notifs * add chosen + filtered languages to migration * remove stray comment * chosen languages schmosen schmanguages * proper error on local account missing
Diffstat (limited to 'internal/processing/workers/fromclientapi.go')
-rw-r--r--internal/processing/workers/fromclientapi.go23
1 files changed, 14 insertions, 9 deletions
diff --git a/internal/processing/workers/fromclientapi.go b/internal/processing/workers/fromclientapi.go
index c7e78fee2..ed513c331 100644
--- a/internal/processing/workers/fromclientapi.go
+++ b/internal/processing/workers/fromclientapi.go
@@ -209,18 +209,23 @@ func (p *Processor) ProcessFromClientAPI(ctx context.Context, cMsg messages.From
}
func (p *clientAPI) CreateAccount(ctx context.Context, cMsg messages.FromClientAPI) error {
- account, ok := cMsg.GTSModel.(*gtsmodel.Account)
+ newUser, ok := cMsg.GTSModel.(*gtsmodel.User)
if !ok {
- return gtserror.Newf("%T not parseable as *gtsmodel.Account", cMsg.GTSModel)
+ return gtserror.Newf("%T not parseable as *gtsmodel.User", cMsg.GTSModel)
+ }
+
+ // Notify mods of the new signup.
+ if err := p.surface.notifySignup(ctx, newUser); err != nil {
+ log.Errorf(ctx, "error notifying mods of new sign-up: %v", err)
}
- // Send a confirmation email to the newly created account.
- user, err := p.state.DB.GetUserByAccountID(ctx, account.ID)
- if err != nil {
- return gtserror.Newf("db error getting user for account id %s: %w", account.ID, err)
+ // Send "new sign up" email to mods.
+ if err := p.surface.emailAdminNewSignup(ctx, newUser); err != nil {
+ log.Errorf(ctx, "error emailing new signup: %v", err)
}
- if err := p.surface.emailPleaseConfirm(ctx, user, account.Username); err != nil {
+ // Send "please confirm your address" email to the new user.
+ if err := p.surface.emailUserPleaseConfirm(ctx, newUser); err != nil {
log.Errorf(ctx, "error emailing confirm: %v", err)
}
@@ -458,7 +463,7 @@ func (p *clientAPI) UpdateReport(ctx context.Context, cMsg messages.FromClientAP
return nil
}
- if err := p.surface.emailReportClosed(ctx, report); err != nil {
+ if err := p.surface.emailUserReportClosed(ctx, report); err != nil {
log.Errorf(ctx, "error emailing report closed: %v", err)
}
@@ -644,7 +649,7 @@ func (p *clientAPI) ReportAccount(ctx context.Context, cMsg messages.FromClientA
}
}
- if err := p.surface.emailReportOpened(ctx, report); err != nil {
+ if err := p.surface.emailAdminReportOpened(ctx, report); err != nil {
log.Errorf(ctx, "error emailing report opened: %v", err)
}