33 lines
899 B
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)
|
|
}
|
|
}
|