Files
bookhoard/internal/router/series.go
T
john-okeefe 004b761381 feat(series): add SeriesHandler, API routes, and SSR browse page
Create SeriesHandler with two API endpoints:
- GET /api/series (paginated series list with covers)
- GET /api/series/books (books in a specific series)
Uses query param ?name=X instead of path param to avoid URL encoding
issues with special characters in series names.

Add GetSeriesCardsData helper returning services.SeriesInfo for use
by the SSR route (avoids handlers→templates import cycle).

Register /api/series routes via registerSeriesRoutes in router.
Add /series SSR route in frontend.go with library-scoped pagination
and error handling, matching the dashboard/bookshelf patterns.

Add SeriesHandler to router Config and instantiate in main.go.

Add SeriesCardData type to templates/types.go.

Add Continue Series as the 5th valid system collection in
dashboard handler and auth handler's CreateDefaultCollectionsForUser.
2026-05-08 20:27:01 -04:00

11 lines
294 B
Go

package router
func registerSeriesRoutes(cfg *Config) {
jwtMiddleware := createJWTMiddleware(cfg)
protected := cfg.Echo.Group("/api", jwtMiddleware)
series := protected.Group("/series")
series.GET("", cfg.SeriesHandler.GetSeries)
series.GET("/books", cfg.SeriesHandler.GetSeriesBooks)
}