diff options
author | 2022-10-11 12:16:34 +0200 | |
---|---|---|
committer | 2022-10-11 12:16:34 +0200 | |
commit | 5cd087241b841d14037424930e2dd498eca536b4 (patch) | |
tree | 8ab123a180c8952575fbc838890e515a52c74093 | |
parent | [chore] Make paging logic more generic (#901) (diff) | |
download | gotosocial-5cd087241b841d14037424930e2dd498eca536b4.tar.xz |
[bugfix] add in-use checks for admin cli account creation (#904)
-rw-r--r-- | cmd/gotosocial/action/admin/account/account.go | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/cmd/gotosocial/action/admin/account/account.go b/cmd/gotosocial/action/admin/account/account.go index 422e4bfef..17a27c199 100644 --- a/cmd/gotosocial/action/admin/account/account.go +++ b/cmd/gotosocial/action/admin/account/account.go @@ -46,6 +46,14 @@ var Create action.GTSAction = func(ctx context.Context) error { return err } + usernameAvailable, err := dbConn.IsUsernameAvailable(ctx, username) + if err != nil { + return err + } + if !usernameAvailable { + return fmt.Errorf("username %s is already in use", username) + } + email := config.GetAdminAccountEmail() if email == "" { return errors.New("no email set") @@ -54,6 +62,14 @@ var Create action.GTSAction = func(ctx context.Context) error { return err } + emailAvailable, err := dbConn.IsEmailAvailable(ctx, email) + if err != nil { + return err + } + if !emailAvailable { + return fmt.Errorf("email address %s is already in use", email) + } + password := config.GetAdminAccountPassword() if password == "" { return errors.New("no password set") |