package database import ( "fmt" "janex/admin-dashboard-backend/modules/config" "janex/admin-dashboard-backend/modules/structs" "log" "time" "github.com/google/uuid" "golang.org/x/crypto/bcrypt" "gorm.io/driver/mysql" "gorm.io/gorm" ) var DB *gorm.DB func InitDatabase() { cfg := config.Cfg.MariaDB db, err := gorm.Open(mysql.Open( fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8mb4&parseTime=True&loc=Local", cfg.Username, cfg.Password, cfg.Hostname, cfg.Port, cfg.DatabaseName)), &gorm.Config{}) if err != nil { log.Fatal(err) } DB = db db.AutoMigrate(&structs.User{}) db.AutoMigrate(&structs.UserSession{}) db.AutoMigrate(&structs.GroupTasks{}) db.AutoMigrate(&structs.GroupTaskSteps{}) //createUser() } func createUser() { pw := []byte("haha") hashedPassword, err := bcrypt.GenerateFromPassword(pw, bcrypt.DefaultCost) if err != nil { log.Fatal(err) } DB.Create(&structs.User{ Id: uuid.New().String(), Username: "Alex", Email: "alex@roese.dev", Password: string(hashedPassword), CreatedAt: time.Now(), }) }