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.
11 lines
294 B
Go
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)
|
|
}
|