- 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
23 lines
766 B
Go
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)
|
|
}
|
|
}
|