创建初始化用户

This commit is contained in:
GoEdgeLab
2023-04-23 20:13:55 +08:00
parent d7f5701a45
commit 606f20e614

View File

@@ -12,6 +12,7 @@ import (
"github.com/iwind/TeaGo/maps" "github.com/iwind/TeaGo/maps"
"github.com/iwind/TeaGo/rands" "github.com/iwind/TeaGo/rands"
"github.com/iwind/TeaGo/types" "github.com/iwind/TeaGo/types"
stringutil "github.com/iwind/TeaGo/utils/string"
"gopkg.in/yaml.v3" "gopkg.in/yaml.v3"
"io" "io"
"os" "os"
@@ -86,8 +87,14 @@ func (this *SQLExecutor) Run(showLog bool) error {
// 检查数据 // 检查数据
func (this *SQLExecutor) checkData(db *dbs.DB) error { func (this *SQLExecutor) checkData(db *dbs.DB) error {
// 检查初始化用户
err := this.checkUser(db)
if err != nil {
return err
}
// 检查管理员平台节点 // 检查管理员平台节点
err := this.checkAdminNode(db) err = this.checkAdminNode(db)
if err != nil { if err != nil {
return err return err
} }
@@ -137,6 +144,20 @@ func (this *SQLExecutor) checkData(db *dbs.DB) error {
return nil return nil
} }
// 创建初始用户
func (this *SQLExecutor) checkUser(db *dbs.DB) error {
one, err := db.FindOne("SELECT id FROM edgeUsers LIMIT 1")
if err != nil {
return err
}
if len(one) > 0 {
return nil
}
_, err = db.Exec("INSERT INTO edgeUsers (`username`, `password`, `fullname`, `isOn`, `state`, `createdAt`) VALUES (?, ?, ?, ?, ?, ?)", "USER-"+rands.HexString(10), stringutil.Md5(rands.HexString(32)), "默认用户", 1, 1, time.Now().Unix())
return err
}
// 检查管理员平台节点 // 检查管理员平台节点
func (this *SQLExecutor) checkAdminNode(db *dbs.DB) error { func (this *SQLExecutor) checkAdminNode(db *dbs.DB) error {
stmt, err := db.Prepare("SELECT COUNT(*) FROM edgeAPITokens WHERE role='admin'") stmt, err := db.Prepare("SELECT COUNT(*) FROM edgeAPITokens WHERE role='admin'")