38 lines
695 B
Go
38 lines
695 B
Go
package main
|
|
|
|
import (
|
|
"log"
|
|
|
|
"authserver/internal/config"
|
|
"authserver/internal/database"
|
|
"authserver/internal/router"
|
|
)
|
|
|
|
func main() {
|
|
cfg := config.Load()
|
|
|
|
db, err := database.Open(cfg.MySQLDSN)
|
|
if err != nil {
|
|
log.Fatalf("open database: %v", err)
|
|
}
|
|
|
|
if cfg.AutoMigrate {
|
|
if err := database.AutoMigrate(db); err != nil {
|
|
log.Fatalf("auto migrate: %v", err)
|
|
}
|
|
}
|
|
if err := database.SeedDefaults(db, cfg); err != nil {
|
|
log.Fatalf("seed defaults: %v", err)
|
|
}
|
|
|
|
r := router.New(router.Dependencies{
|
|
Config: cfg,
|
|
DB: db,
|
|
})
|
|
|
|
log.Printf("authserver listening on %s", cfg.HTTPAddr)
|
|
if err := r.Run(cfg.HTTPAddr); err != nil {
|
|
log.Fatalf("run server: %v", err)
|
|
}
|
|
}
|