2026-07-18 15:50:04 +08:00
|
|
|
|
package main
|
|
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
|
"log"
|
|
|
|
|
|
|
|
|
|
|
|
"senlinai-agent/backend/internal/config"
|
2026-07-19 00:06:21 +08:00
|
|
|
|
"senlinai-agent/backend/internal/httpx"
|
2026-07-18 21:58:15 +08:00
|
|
|
|
"senlinai-agent/backend/internal/logic/auth"
|
2026-07-20 21:45:36 +08:00
|
|
|
|
"senlinai-agent/backend/internal/logic/files"
|
2026-07-18 21:58:15 +08:00
|
|
|
|
"senlinai-agent/backend/internal/logic/inbox"
|
|
|
|
|
|
"senlinai-agent/backend/internal/logic/projects"
|
2026-07-21 15:27:11 +08:00
|
|
|
|
"senlinai-agent/backend/internal/logic/tasks"
|
2026-07-18 21:58:15 +08:00
|
|
|
|
"senlinai-agent/backend/internal/models"
|
2026-07-18 15:50:04 +08:00
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
func main() {
|
|
|
|
|
|
cfg := config.Load()
|
2026-07-18 21:58:15 +08:00
|
|
|
|
|
|
|
|
|
|
err := models.New(cfg.DSN)
|
2026-07-18 17:42:50 +08:00
|
|
|
|
if err != nil {
|
|
|
|
|
|
log.Fatal(err)
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2026-07-18 21:58:15 +08:00
|
|
|
|
authService := auth.NewService(cfg.AuthSecret)
|
2026-07-21 15:27:11 +08:00
|
|
|
|
projectService := projects.NewService()
|
|
|
|
|
|
fileService := files.NewService(cfg.StorageDir, models.DBService)
|
|
|
|
|
|
taskService := tasks.NewService(models.DBService)
|
|
|
|
|
|
projectHandler := projects.NewHandler(projectService)
|
|
|
|
|
|
tagHandler := projects.NewTagHandler(projectService)
|
|
|
|
|
|
cronHandler := projects.NewCronHandler(projectService)
|
|
|
|
|
|
taskHandler := tasks.NewHandler(taskService)
|
2026-07-21 16:12:20 +08:00
|
|
|
|
fileHandler := files.NewHandler(fileService, cfg.MaxUploadBytes)
|
2026-07-18 21:58:15 +08:00
|
|
|
|
inboxHandler := inbox.NewHandler(inbox.NewService(inbox.StaticAnalyzer{}))
|
2026-07-20 13:02:26 +08:00
|
|
|
|
authHandler := auth.NewHandler(authService)
|
2026-07-21 15:27:11 +08:00
|
|
|
|
// search 与 AI 当前只有 service,尚无 HTTP registrar;后续功能任务应在实现真实契约后从此处注入,不能注册伪端点。
|
|
|
|
|
|
appRouter := httpx.NewProtectedRouter(
|
|
|
|
|
|
cfg,
|
|
|
|
|
|
authService.VerifySession,
|
|
|
|
|
|
authHandler,
|
|
|
|
|
|
projectHandler,
|
|
|
|
|
|
tagHandler,
|
|
|
|
|
|
cronHandler,
|
|
|
|
|
|
taskHandler,
|
|
|
|
|
|
fileHandler,
|
|
|
|
|
|
inboxHandler,
|
|
|
|
|
|
)
|
2026-07-18 21:58:15 +08:00
|
|
|
|
if err := appRouter.Run(":" + cfg.Port); err != nil {
|
2026-07-18 15:50:04 +08:00
|
|
|
|
log.Fatal(err)
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|