Files
agent/backend/cmd/api/main.go

33 lines
899 B
Go

package main
import (
"log"
"senlinai-agent/backend/internal/auth"
"senlinai-agent/backend/internal/config"
"senlinai-agent/backend/internal/db"
"senlinai-agent/backend/internal/domain"
"senlinai-agent/backend/internal/httpx"
"senlinai-agent/backend/internal/inbox"
"senlinai-agent/backend/internal/projects"
)
func main() {
cfg := config.Load()
database, err := db.Open(cfg.DatabaseURL)
if err != nil {
log.Fatal(err)
}
if err := domain.AutoMigrate(database); err != nil {
log.Fatal(err)
}
authService := auth.NewService(database, cfg.AuthSecret)
projectHandler := projects.NewHandler(projects.NewService(database))
inboxHandler := inbox.NewHandler(inbox.NewService(database, inbox.StaticAnalyzer{}))
router := httpx.NewProtectedRouter(cfg, authService.VerifySession, projectHandler, inboxHandler)
if err := router.Run(":" + cfg.Port); err != nil {
log.Fatal(err)
}
}