Skip to content

Commit 07e6c68

Browse files
committed
Add a option --bot to admin user create
Partially solve #13044
1 parent 040c830 commit 07e6c68

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

cmd/admin_user_create.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,10 @@ var microcmdUserCreate = &cli.Command{
6565
Name: "restricted",
6666
Usage: "Make a restricted user account",
6767
},
68+
&cli.BoolFlag{
69+
Name: "bot",
70+
Usage: "Make a bot user account",
71+
},
6872
},
6973
}
7074

@@ -145,6 +149,13 @@ func runCreateUser(c *cli.Context) error {
145149
restricted = optional.Some(c.Bool("restricted"))
146150
}
147151

152+
userType := user_model.UserTypeIndividual
153+
if c.IsSet("bot") {
154+
if c.Bool("bot") {
155+
userType = user_model.UserTypeBot
156+
}
157+
}
158+
148159
// default user visibility in app.ini
149160
visibility := setting.Service.DefaultUserVisibilityMode
150161

@@ -160,6 +171,7 @@ func runCreateUser(c *cli.Context) error {
160171
overwriteDefault := &user_model.CreateUserOverwriteOptions{
161172
IsActive: optional.Some(true),
162173
IsRestricted: restricted,
174+
Type: &userType,
163175
}
164176

165177
if err := user_model.CreateUser(ctx, u, &user_model.Meta{}, overwriteDefault); err != nil {

models/user/user.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -636,6 +636,7 @@ type CreateUserOverwriteOptions struct {
636636
Theme *string
637637
IsRestricted optional.Option[bool]
638638
IsActive optional.Option[bool]
639+
Type *UserType
639640
}
640641

641642
// CreateUser creates record of a new user.
@@ -696,6 +697,9 @@ func createUser(ctx context.Context, u *User, meta *Meta, createdByAdmin bool, o
696697
if overwrite.IsActive.Has() {
697698
u.IsActive = overwrite.IsActive.Value()
698699
}
700+
if overwrite.Type != nil {
701+
u.Type = *overwrite.Type
702+
}
699703
}
700704

701705
// validate data

0 commit comments

Comments
 (0)