package server import ( "database/sql" "github.com/go-chi/chi/v5" ) func RegisterRoutes(r *chi.Mux, database *sql.DB, baseURL string) { // Public r.Post("/v1/auth/login", handleLogin(database)) // Share links (no auth) r.Get("/s/{token}", handleShareView(database)) r.Get("/s/{token}/pages/{num}/svg", handleSharePageSVG(database)) r.Get("/s/{token}/pages/{num}/jpg", handleSharePageJPG(database)) r.Get("/s/{token}/pdf", handleSharePDF(database)) // Authenticated r.Group(func(r chi.Router) { r.Use(AuthMiddleware(database)) r.Get("/v1/notebooks", handleListNotebooks(database)) r.Get("/v1/notebooks/{id}/pages/{num}/svg", handlePageSVG(database)) r.Get("/v1/notebooks/{id}/pages/{num}/jpg", handlePageJPG(database)) r.Get("/v1/notebooks/{id}/pdf", handleNotebookPDF(database)) }) }