mirror of
https://github.com/TeaOSLab/EdgeAPI.git
synced 2025-11-05 17:40:24 +08:00
创建初始化用户
This commit is contained in:
@@ -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'")
|
||||||
|
|||||||
Reference in New Issue
Block a user