Update db.go

This commit is contained in:
Pushkinmazila2 2026-04-06 19:44:38 +03:00 committed by GitHub
parent 049f24581d
commit 358b585a78
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -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)