package main import ( "log" "git.keircn.com/keiran/termbox/internal/db" "git.keircn.com/keiran/termbox/internal/handlers" "github.com/labstack/echo/v4" "github.com/labstack/echo/v4/middleware" ) func main() { db.InitDB() defer db.Close() handlers.InitEmailService() e := echo.New() e.Use(middleware.Logger()) e.Use(middleware.Recover()) e.Use(middleware.CORS()) e.GET("/", handlers.HandleRoot) e.POST("/auth/register", handlers.HandleRegister) e.POST("/auth/verify", handlers.HandleVerifyCode) e.POST("/auth/login", handlers.HandleLogin) protected := e.Group("/termail") protected.Use(handlers.AuthMiddleware) protected.POST("/send", handlers.HandleSendTermail) protected.GET("/inbox", handlers.HandleGetInbox) protected.GET("/:id", handlers.HandleGetTermail) protected.POST("/:id/read", handlers.HandleMarkTermailRead) protected.DELETE("/:id", handlers.HandleDeleteTermail) log.Fatal(e.Start(":8080")) }