seeder admin account & define all model

This commit is contained in:
monsky 2025-06-01 15:46:37 +00:00
parent cd6c91fd30
commit 63b726c629
4 changed files with 45 additions and 4 deletions

View File

@ -1,6 +1,7 @@
package config
import (
"blcompro/database/seeds"
"fmt"
"github.com/rs/zerolog/log"
@ -32,7 +33,7 @@ func (cfg Config) ConnectionPostgres() (*Postgres, error) {
return nil, err
}
// seeds.SeedAdmin(db)
seeds.SeedAdmin(db)
sqlDB.SetMaxOpenConns(cfg.Psql.DBMaxOpen)
sqlDB.SetMaxIdleConns(cfg.Psql.DBMaxIdle)

View File

@ -1,5 +1,28 @@
package seeds
func SeedAdmin(db *gorm) {
bytes, err :=
}
import (
"blcompro/internal/core/domain/model"
"blcompro/utils/conv"
"github.com/rs/zerolog/log"
"gorm.io/gorm"
)
func SeedAdmin(db *gorm.DB) {
bytes, err := conv.HashPassword("admin123")
if err != nil {
log.Fatal().Err(err).Msg(err.Error())
}
admin := model.User{
Name: "Admin",
Email: "admin@blcompro.com",
Password: bytes,
}
if err = db.FirstOrCreate(&admin, model.User{Email: admin.Email}).Error; err != nil {
log.Fatal().Err(err).Msg(err.Error())
} else {
log.Info().Msgf("Admin user created with ID: %d", admin.ID)
}
}

View File

@ -15,6 +15,11 @@ import (
func RunServer() {
cfg := config.NewConfig()
_, err := cfg.ConnectionPostgres()
if err != nil {
log.Fatal("Failed to connect to database: %v", err)
return
}
e := echo.New()
e.Use(middleware.CORS())

View File

@ -1 +1,13 @@
package conv
import "golang.org/x/crypto/bcrypt"
func HashPassword(password string) (string, error) {
bytes, err := bcrypt.GenerateFromPassword([]byte(password), 14)
return string(bytes), err
}
func CheckPasswordHash(password, hash string) bool {
err := bcrypt.CompareHashAndPassword([]byte(hash), []byte(password))
return err == nil
}