mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 21:28:11 +09:00 
			
		
		
		
	Add subcommand to create new user in CLI
This commit is contained in:
		| @@ -3,7 +3,7 @@ Gogs - Go Git Service [ | ||||
|  | ||||
| ##### Current tip version: 0.9.74 (see [Releases](https://github.com/gogits/gogs/releases) for binary versions) | ||||
| ##### Current tip version: 0.9.75 (see [Releases](https://github.com/gogits/gogs/releases) for binary versions) | ||||
|  | ||||
| | Web | UI  | Preview  | | ||||
| |:-------------:|:-------:|:-------:| | ||||
|   | ||||
							
								
								
									
										70
									
								
								cmd/admin.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										70
									
								
								cmd/admin.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,70 @@ | ||||
| // Copyright 2016 The Gogs Authors. All rights reserved. | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| package cmd | ||||
|  | ||||
| import ( | ||||
| 	"fmt" | ||||
|  | ||||
| 	"github.com/codegangsta/cli" | ||||
|  | ||||
| 	"github.com/gogits/gogs/models" | ||||
| 	"github.com/gogits/gogs/modules/setting" | ||||
| ) | ||||
|  | ||||
| var ( | ||||
| 	CmdAdmin = cli.Command{ | ||||
| 		Name:  "admin", | ||||
| 		Usage: "Preform admin operations on command line", | ||||
| 		Description: `Allow using internal logic of Gogs without hacking into the source code | ||||
| to make automatic initialization process more smoothly`, | ||||
| 		Subcommands: []cli.Command{ | ||||
| 			subcmdCreateUser, | ||||
| 		}, | ||||
| 	} | ||||
|  | ||||
| 	subcmdCreateUser = cli.Command{ | ||||
| 		Name:   "create-user", | ||||
| 		Usage:  "Create a new user in database", | ||||
| 		Action: runCreateUser, | ||||
| 		Flags: []cli.Flag{ | ||||
| 			stringFlag("name", "", "Username"), | ||||
| 			stringFlag("password", "", "User password"), | ||||
| 			stringFlag("email", "", "User email address"), | ||||
| 			boolFlag("admin", "User is an admin"), | ||||
| 			stringFlag("config, c", "custom/conf/app.ini", "Custom configuration file path"), | ||||
| 		}, | ||||
| 	} | ||||
| ) | ||||
|  | ||||
| func runCreateUser(c *cli.Context) error { | ||||
| 	if !c.IsSet("name") { | ||||
| 		return fmt.Errorf("Username is not specified") | ||||
| 	} else if !c.IsSet("password") { | ||||
| 		return fmt.Errorf("Password is not specified") | ||||
| 	} else if !c.IsSet("email") { | ||||
| 		return fmt.Errorf("Email is not specified") | ||||
| 	} | ||||
|  | ||||
| 	if c.IsSet("config") { | ||||
| 		setting.CustomConf = c.String("config") | ||||
| 	} | ||||
|  | ||||
| 	setting.NewContext() | ||||
| 	models.LoadConfigs() | ||||
| 	models.SetEngine() | ||||
|  | ||||
| 	if err := models.CreateUser(&models.User{ | ||||
| 		Name:     c.String("name"), | ||||
| 		Email:    c.String("email"), | ||||
| 		Passwd:   c.String("password"), | ||||
| 		IsActive: true, | ||||
| 		IsAdmin:  c.Bool("admin"), | ||||
| 	}); err != nil { | ||||
| 		return fmt.Errorf("CreateUser: %v", err) | ||||
| 	} | ||||
|  | ||||
| 	fmt.Printf("New user '%s' has been successfully created!\n", c.String("name")) | ||||
| 	return nil | ||||
| } | ||||
							
								
								
									
										3
									
								
								gogs.go
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								gogs.go
									
									
									
									
									
								
							| @@ -17,7 +17,7 @@ import ( | ||||
| 	"github.com/gogits/gogs/modules/setting" | ||||
| ) | ||||
|  | ||||
| const APP_VER = "0.9.74.0811" | ||||
| const APP_VER = "0.9.75.0813" | ||||
|  | ||||
| func init() { | ||||
| 	runtime.GOMAXPROCS(runtime.NumCPU()) | ||||
| @@ -35,6 +35,7 @@ func main() { | ||||
| 		cmd.CmdUpdate, | ||||
| 		cmd.CmdDump, | ||||
| 		cmd.CmdCert, | ||||
| 		cmd.CmdAdmin, | ||||
| 	} | ||||
| 	app.Flags = append(app.Flags, []cli.Flag{}...) | ||||
| 	app.Run(os.Args) | ||||
|   | ||||
| @@ -1 +1 @@ | ||||
| 0.9.74.0811 | ||||
| 0.9.75.0813 | ||||
		Reference in New Issue
	
	Block a user