veza/veza-backend-api/internal/core/track
senke 3dc0654a52 feat(openapi): annotate track subsystem (social/analytics/search/hls/waveform) — v1.0.8 B-annot
Second batch of the Veza backend OpenAPI annotation campaign. Completes
the track/ handler subtree — 22 more handlers annotated across 5 files —
so the orval-generated frontend client now covers the full track API
surface (stream, download, like, repost, share, search, recommendations,
stats, history, play, waveform, version restore).

Handlers annotated:

- internal/core/track/track_social_handler.go (11):
  LikeTrack, UnlikeTrack, GetTrackLikes, GetUserLikedTracks,
  GetUserRepostedTracks, CreateShare, GetSharedTrack, RevokeShare,
  RepostTrack, UnrepostTrack, GetRepostStatus

- internal/core/track/track_analytics_handler.go (4):
  GetTrackStats, GetTrackHistory, RecordPlay, RestoreVersion

- internal/core/track/track_search_handler.go (3):
  GetRecommendations, GetSuggestedTags, SearchTracks

- internal/core/track/track_hls_handler.go (3):
  HandleStreamCallback (internal), DownloadTrack, StreamTrack
  — both user-facing endpoints document the v1.0.8 P2 302-to-signed-URL
  behavior for S3-backed tracks alongside the local-FS path.

- internal/core/track/track_waveform_handler.go (1): GetWaveform

All comment blocks converge on the established template:
Summary / Description / Tags / Accept/Produce / Security (BearerAuth
when required) / typed Param path|query|body / Success envelope
handlers.APIResponse{data=...} / Failure 400/401/403/404/500 / Router.

track_hls_handler.go + track_waveform_handler.go receive a blank
import of internal/handlers so swaggo's type resolver can locate
handlers.APIResponse without forcing the file to call that package
at runtime.

Spec coverage:
  /tracks/*  paths: 13 → 29
  make openapi:  valid (Swagger 2.0)
  go build ./...: 
  openapi.yaml: +780 lines describing 16 new track endpoints.

Leaves /internal/core/ subsystems still blank: admin, moderation,
analytics/*, auth/handler.go (duplicates routes handled elsewhere),
discover, feed. Batch 2b next will cover playlists + marketplace gap
so the 4 frontend services (auth/users/tracks/playlists) become
fully orval-migratable.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-24 00:58:08 +02:00
..
handler.go feat(v0.10.3): Commentaires & Interactions Sociales - F201-F215 2026-03-09 10:30:47 +01:00
handler_additional_test.go fix(backend,web): restore audio playback via /stream fallback 2026-04-16 14:52:26 +02:00
handler_error_format_test.go refonte: backend-api go first; phase 1 2025-12-12 21:34:34 -05:00
handler_mustget_test.go refonte: backend-api go first; phase 1 2025-12-12 21:34:34 -05:00
handler_ownership_test.go refonte: backend-api go first; phase 1 2025-12-12 21:34:34 -05:00
handler_test.go fix(backend): remediation plan — tests, playback_analytics, job queue, gamification 2026-02-17 16:01:45 +01:00
service.go feat(transcode): read from S3 signed URL when track is s3-backed (v1.0.8 P2) 2026-04-23 23:34:51 +02:00
service_async_test.go feat(tracks): serve S3-backed tracks via signed URL redirect (v1.0.8 P2) 2026-04-23 23:26:14 +02:00
service_n1_test.go stabilizing veza-backend-api: phase 1 2025-12-16 11:23:49 -05:00
service_test.go [T0-006] test(backend): Ajout tests pour frontend_log_handler 2026-01-04 01:44:22 +01:00
track_analytics_handler.go feat(openapi): annotate track subsystem (social/analytics/search/hls/waveform) — v1.0.8 B-annot 2026-04-24 00:58:08 +02:00
track_batch_service.go v0.9.4 2026-03-05 23:03:43 +01:00
track_crud_handler.go feat(openapi): annotate track CRUD handlers + regen spec (v1.0.8 B-annot) 2026-04-24 00:45:10 +02:00
track_handler_integration_test.go [BE-API-002] api: Implement playlist collaborators endpoints 2025-12-23 01:41:43 +01:00
track_hls_handler.go feat(openapi): annotate track subsystem (social/analytics/search/hls/waveform) — v1.0.8 B-annot 2026-04-24 00:58:08 +02:00
track_search_handler.go feat(openapi): annotate track subsystem (social/analytics/search/hls/waveform) — v1.0.8 B-annot 2026-04-24 00:58:08 +02:00
track_social_handler.go feat(openapi): annotate track subsystem (social/analytics/search/hls/waveform) — v1.0.8 B-annot 2026-04-24 00:58:08 +02:00
track_upload_handler.go feat(transcode): read from S3 signed URL when track is s3-backed (v1.0.8 P2) 2026-04-23 23:34:51 +02:00
track_upload_integration_test.go incus deployement fully implemented, Makefile updated and make fmt ran 2026-01-13 19:47:57 +01:00
track_waveform_handler.go feat(openapi): annotate track subsystem (social/analytics/search/hls/waveform) — v1.0.8 B-annot 2026-04-24 00:58:08 +02:00