seeder admin account & define all model
This commit is contained in:
parent
cd6c91fd30
commit
63b726c629
@ -1,6 +1,7 @@
|
|||||||
package config
|
package config
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"blcompro/database/seeds"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"github.com/rs/zerolog/log"
|
"github.com/rs/zerolog/log"
|
||||||
@ -32,7 +33,7 @@ func (cfg Config) ConnectionPostgres() (*Postgres, error) {
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
// seeds.SeedAdmin(db)
|
seeds.SeedAdmin(db)
|
||||||
|
|
||||||
sqlDB.SetMaxOpenConns(cfg.Psql.DBMaxOpen)
|
sqlDB.SetMaxOpenConns(cfg.Psql.DBMaxOpen)
|
||||||
sqlDB.SetMaxIdleConns(cfg.Psql.DBMaxIdle)
|
sqlDB.SetMaxIdleConns(cfg.Psql.DBMaxIdle)
|
||||||
|
|||||||
@ -1,5 +1,28 @@
|
|||||||
package seeds
|
package seeds
|
||||||
|
|
||||||
func SeedAdmin(db *gorm) {
|
import (
|
||||||
bytes, err :=
|
"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() {
|
func RunServer() {
|
||||||
cfg := config.NewConfig()
|
cfg := config.NewConfig()
|
||||||
|
_, err := cfg.ConnectionPostgres()
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal("Failed to connect to database: %v", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
e := echo.New()
|
e := echo.New()
|
||||||
e.Use(middleware.CORS())
|
e.Use(middleware.CORS())
|
||||||
|
|||||||
@ -1 +1,13 @@
|
|||||||
package conv
|
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