indiescrobble/server/server.go

38 lines
778 B
Go

package server
import (
"fmt"
"log"
"git.jamesravey.me/ravenscroftj/indiescrobble/config"
"git.jamesravey.me/ravenscroftj/indiescrobble/models"
"gorm.io/driver/mysql"
"gorm.io/driver/sqlite"
"gorm.io/gorm"
)
func Init() {
config := config.GetConfig()
var dialect gorm.Dialector
if config.GetString("server.database.driver") == "sqlite" {
dialect = sqlite.Open(config.GetString("server.database.dsn"))
} else {
dialect = mysql.Open(config.GetString("server.database.dsn"))
}
db, err := gorm.Open(dialect, &gorm.Config{})
if err != nil {
log.Fatalf("%v\n", err)
}
db.AutoMigrate(&models.User{})
r := NewRouter(db)
r.LoadHTMLGlob("templates/*.tmpl")
r.Run(fmt.Sprintf("%v:%v", config.GetString("server.host"), config.GetString("server.port")))
}