This commit is contained in:
Sense T
2024-04-03 17:05:12 +08:00
parent 94a126086e
commit 8a8ea59b71
53 changed files with 4905 additions and 1 deletions

17
cmd/config/config.go Normal file
View File

@@ -0,0 +1,17 @@
package config
import "github.com/urfave/cli/v2"
var Command *cli.Command
func init() {
Command = &cli.Command{
Name: "config",
Usage: "config some settings",
Subcommands: []*cli.Command{
UserCommand,
DatabaseCommand,
DNSCommand,
},
}
}

36
cmd/config/database.go Normal file
View File

@@ -0,0 +1,36 @@
package config
import (
"reCoreD-UI/controllers"
"github.com/urfave/cli/v2"
)
var DatabaseCommand *cli.Command
func init() {
migrationCommand := &cli.Command{
Name: "migrate",
Usage: "migrate database",
Action: migrateDatabase,
}
DatabaseCommand = &cli.Command{
Name: "database",
Usage: "database administration",
Aliases: []string{"db"},
Subcommands: []*cli.Command{
migrationCommand,
},
}
}
func migrateDatabase(c *cli.Context) error {
controller, err := controllers.NewController(c.String("mysql-dsn"))
if err != nil {
return err
}
defer controller.Close()
return controller.Migrate()
}

35
cmd/config/dns.go Normal file
View File

@@ -0,0 +1,35 @@
package config
import (
"reCoreD-UI/controllers"
"github.com/urfave/cli/v2"
)
var DNSCommand *cli.Command
func init() {
DNSCommand = &cli.Command{
Name: "dns",
Usage: "Config DNS Settings",
Flags: []cli.Flag{
&cli.StringSliceFlag{
Name: "servers",
Usage: "dns servers",
Aliases: []string{"s"},
Required: true,
},
},
Action: setDNS,
}
}
func setDNS(c *cli.Context) error {
controller, err := controllers.NewController(c.String("mysql-dsn"))
if err != nil {
return err
}
defer controller.Close()
return controller.SetupDNS(c.StringSlice("servers")...)
}

42
cmd/config/user.go Normal file
View File

@@ -0,0 +1,42 @@
package config
import (
"reCoreD-UI/controllers"
"github.com/urfave/cli/v2"
)
var UserCommand *cli.Command
func init() {
UserCommand = &cli.Command{
Name: "user",
Usage: "set admin username and password",
Flags: []cli.Flag{
&cli.StringFlag{
Name: "username",
Aliases: []string{"u"},
Value: "amdin",
Usage: "admin username",
EnvVars: []string{"RECORED_ADMIN_USERNAME"},
},
&cli.StringFlag{
Name: "passowrd",
Aliases: []string{"p"},
Required: true,
Usage: "admin password",
EnvVars: []string{"RECORED_ADMIN_PASSWORD"},
},
},
Action: setUser,
}
}
func setUser(c *cli.Context) error {
controller, err := controllers.NewController(c.String("mysql-dsn"))
if err != nil {
return err
}
defer controller.Close()
return controller.SetupAdmin(c.String("username"), c.String("password"))
}