indiescrobble/server/server.go

38 lines
818 B
Go
Raw Normal View History

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"))
2022-02-13 15:49:22 +00:00
} else {
dialect = mysql.Open(config.GetString("server.database.dsn"))
}
db, err := gorm.Open(dialect, &gorm.Config{})
2022-02-13 15:49:22 +00:00
if err != nil {
log.Fatalf("%v\n", err)
}
2022-02-19 22:00:56 +00:00
db.AutoMigrate(&models.User{}, &models.Post{}, &models.MediaItem{})
2022-02-13 15:49:22 +00:00
r := NewRouter(db)
r.LoadHTMLGlob("templates/**/*.tmpl")
2022-02-13 15:49:22 +00:00
r.Run(fmt.Sprintf("%v:%v", config.GetString("server.host"), config.GetString("server.port")))
}