mirror of
https://github.com/alireza0/s-ui.git
synced 2026-08-31 08:26:59 +00:00
Update db.go
This commit is contained in:
parent
049f24581d
commit
358b585a78
1 changed files with 42 additions and 8 deletions
|
|
@ -23,25 +23,59 @@ func initUser() error {
|
|||
db.Model(&model.User{}).Count(&count)
|
||||
|
||||
forceReset := os.Getenv("SUI_FORCE_RESET") == "true"
|
||||
tokenStr := os.Getenv("TOKEN")
|
||||
var user model.User
|
||||
|
||||
if count == 0 || forceReset {
|
||||
if forceReset && count > 0 {
|
||||
db.Session(&gorm.Session{AllowGlobalUpdate: true}).Delete(&model.User{})
|
||||
}
|
||||
// ... (блок удаления при forceReset оставляем без изменений) ...
|
||||
|
||||
username := os.Getenv("SUI_USERNAME")
|
||||
password := os.Getenv("SUI_PASSWORD")
|
||||
if username == "" { username = "admin" }
|
||||
if password == "" { password = "admin" }
|
||||
user := &model.User{
|
||||
Username: username,
|
||||
Password: password,
|
||||
|
||||
user = model.User{Username: username, Password: password}
|
||||
if err := db.Create(&user).Error; err != nil {
|
||||
return err
|
||||
}
|
||||
// ПИШЕМ ID ПОСЛЕ СОЗДАНИЯ
|
||||
log.Printf("[DB] Created new user: %s (ID: %d)", user.Username, user.Id)
|
||||
} else {
|
||||
// ПОЛУЧАЕМ ID СУЩЕСТВУЮЩЕГО
|
||||
if err := db.First(&user).Error; err == nil {
|
||||
log.Printf("[DB] Using existing user: %s (ID: %d)", user.Username, user.Id)
|
||||
}
|
||||
log.Printf("[DB] Initializing user: %s", username)
|
||||
return db.Create(user).Error
|
||||
}
|
||||
|
||||
if tokenStr != "" && user.Id > 0 {
|
||||
var tokenCount int64
|
||||
db.Model(&model.Tokens{}).Where("token = ?", tokenStr).Count(&tokenCount)
|
||||
|
||||
if tokenCount == 0 {
|
||||
expiry := time.Now().Add(24 * time.Hour).Unix()
|
||||
newToken := &model.Tokens{
|
||||
Token: tokenStr,
|
||||
Desc: "start_tocken",
|
||||
UserId: user.Id,
|
||||
Expiry: expiry,
|
||||
}
|
||||
|
||||
if err := db.Create(newToken).Error; err != nil {
|
||||
log.Printf("[DB] Error creating token: %v", err)
|
||||
} else {
|
||||
// ПИШЕМ ID ПРИ ПРИВЯЗКЕ ТОКЕНА
|
||||
log.Printf("[DB] Token '%s' successfully linked to User ID: %d", tokenStr, user.Id)
|
||||
}
|
||||
} else {
|
||||
log.Printf("[DB] Token '%s' already exists in database", tokenStr)
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
|
||||
func OpenDB(dbPath string) error {
|
||||
dir := path.Dir(dbPath)
|
||||
err := os.MkdirAll(dir, 01740)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue