seeder admin account & define all model
This commit is contained in:
parent
cd6c91fd30
commit
63b726c629
@ -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)
|
||||
|
||||
@ -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)
|
||||
}
|
||||
}
|
||||
@ -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())
|
||||
|
||||
@ -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
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user