fix bug
This commit is contained in:
@@ -1,9 +1,10 @@
|
||||
package initdb
|
||||
|
||||
import (
|
||||
"senlinai-agent/backend/internal/models"
|
||||
|
||||
"golang.org/x/crypto/bcrypt"
|
||||
"gorm.io/gorm"
|
||||
"senlinai-agent/backend/internal/models"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -15,31 +16,27 @@ const (
|
||||
// InitUser returns the existing root user or creates and returns it when the user table is empty.
|
||||
func InitUser(database *gorm.DB) (*models.SaUser, error) {
|
||||
var count int64
|
||||
if err := database.Model(&models.SaUser{}).Count(&count).Error; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if count > 0 {
|
||||
var user models.SaUser
|
||||
if err := database.Where("email = ? AND role = ?", rootUsername, rootRole).
|
||||
First(&user).Error; err != nil {
|
||||
var user models.SaUser
|
||||
database.Model(&models.SaUser{}).Where("email=?", rootUsername).First(&user).Count(&count)
|
||||
|
||||
if count == 0 {
|
||||
passwordHash, err := bcrypt.GenerateFromPassword([]byte(rootPassword), bcrypt.DefaultCost)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
user = models.SaUser{
|
||||
Email: rootUsername,
|
||||
DisplayName: rootUsername,
|
||||
PasswordHash: string(passwordHash),
|
||||
Role: rootRole,
|
||||
}
|
||||
if err := database.Create(&user).Error; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &user, nil
|
||||
}
|
||||
|
||||
passwordHash, err := bcrypt.GenerateFromPassword([]byte(rootPassword), bcrypt.DefaultCost)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &user, nil
|
||||
|
||||
user := &models.SaUser{
|
||||
Email: rootUsername,
|
||||
DisplayName: rootUsername,
|
||||
PasswordHash: string(passwordHash),
|
||||
Role: rootRole,
|
||||
}
|
||||
if err := database.Create(user).Error; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return user, nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user