feat: add sqlite-backed auth and library services
Bootstrap SQLite on server startup with embedded migrations and development seed data. Replace placeholder auth and library responses with database-backed services, bearer sessions, and repository-driven API handlers.
This commit is contained in:
@@ -10,12 +10,29 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/benya/temporserv/internal/config"
|
||||
"github.com/benya/temporserv/internal/db"
|
||||
"github.com/benya/temporserv/internal/httpapi"
|
||||
)
|
||||
|
||||
func main() {
|
||||
cfg := config.Load()
|
||||
handler := httpapi.NewRouter(cfg)
|
||||
ctx := context.Background()
|
||||
|
||||
database, err := db.Open(ctx, cfg)
|
||||
if err != nil {
|
||||
log.Fatalf("database bootstrap failed: %v", err)
|
||||
}
|
||||
defer database.Close()
|
||||
|
||||
if err := db.Migrate(ctx, database); err != nil {
|
||||
log.Fatalf("database migrations failed: %v", err)
|
||||
}
|
||||
|
||||
if err := db.Seed(ctx, database, cfg); err != nil {
|
||||
log.Fatalf("database seed failed: %v", err)
|
||||
}
|
||||
|
||||
handler := httpapi.NewRouter(cfg, database)
|
||||
|
||||
server := &http.Server{
|
||||
Addr: cfg.Address(),
|
||||
@@ -41,4 +58,3 @@ func main() {
|
||||
log.Printf("shutdown error: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user