veza/veza-backend-api/internal/api/routes_feed.go
senke 4a422fc4c3 feat(v0.10.1): Tags & Genres discover - F351-F355
- Tags déclaratifs (max 10, 30 chars) via track_tags + tags
- Genres normalisés (max 3) via track_genres + taxonomy
- GET /api/v1/discover/genre/:genre, tag/:tag (browse chrono)
- POST/DELETE follow genre/tag
- Section feed "Nouvelles sorties dans vos genres"
- Track update: SyncTrackTags, SyncTrackGenres via discover service
- Frontend: discoverService, FeedPage by_genres, DiscoverPage
- Migration 126_tags_genres_discover
- MSW handlers for discover
2026-03-09 01:52:56 +01:00

23 lines
766 B
Go

package api
import (
"github.com/gin-gonic/gin"
discovercore "veza-backend-api/internal/core/discover"
feedcore "veza-backend-api/internal/core/feed"
)
// setupFeedRoutes configures the chronological tracks feed (v0.10.0 F210)
// v0.10.1 F355: by_genres section via discover service
func (r *APIRouter) setupFeedRoutes(router *gin.RouterGroup) {
feedService := feedcore.NewService(r.db.GormDB, r.logger)
discoverService := discovercore.NewService(r.db.GormDB, r.logger)
feedService.SetDiscoverService(discoverService)
feedHandler := feedcore.NewHandler(feedService)
if r.config.AuthMiddleware != nil {
router.GET("/feed", r.config.AuthMiddleware.RequireAuth(), feedHandler.GetTracksFeed)
} else {
router.GET("/feed", feedHandler.GetTracksFeed)
}
}