backend.routers.songs
Song catalogue router.
Handles CRUD operations for songs in the band’s repertoire, song candidate proposals (member submissions), voting/feedback on candidates, and per-song rehearsal and gig statistics.
Requires authentication. Create/update/delete operations additionally
require the editor or admin role.
Prefix: /songs | Tag: songs
- backend.routers.songs.get_song_candidates(db=Depends(dependency=<function get_db>, use_cache=True, scope=None), current=Depends(dependency=<function get_current_user>, use_cache=True, scope=None))[Quellcode]
- backend.routers.songs.get_songs(song_id, db=Depends(dependency=<function get_db>, use_cache=True, scope=None), current=Depends(dependency=<function get_current_user>, use_cache=True, scope=None))[Quellcode]
- backend.routers.songs.get_song_rehearsal_history(song_id, limit=Query(3), db=Depends(dependency=<function get_db>, use_cache=True, scope=None), current=Depends(dependency=<function get_current_user>, use_cache=True, scope=None))[Quellcode]
Gibt die letzten N Proben zurück, in denen dieser Song geprobt wurde.
- backend.routers.songs.get_song_feedback_history(song_id, db=Depends(dependency=<function get_db>, use_cache=True, scope=None), current=Depends(dependency=<function get_current_user>, use_cache=True, scope=None))[Quellcode]
Gibt anonymisierte Abstimmungssummen aus der Tabelle song_feedback zurück.
- backend.routers.songs.get_song_statistics(song_id, db=Depends(dependency=<function get_db>, use_cache=True, scope=None), current=Depends(dependency=<function get_current_user>, use_cache=True, scope=None))[Quellcode]
Gibt umfangreiche Statistiken über einen Song zurück.
- backend.routers.songs.update_song(song_id, song, db=Depends(dependency=<function get_db>, use_cache=True, scope=None), current=Depends(dependency=<function get_current_user>, use_cache=True, scope=None))[Quellcode]
- backend.routers.songs.delete_song(song_id, db=Depends(dependency=<function get_db>, use_cache=True, scope=None), current=Depends(dependency=<function get_current_user>, use_cache=True, scope=None))[Quellcode]
- backend.routers.songs.create_song(song, db=Depends(dependency=<function get_db>, use_cache=True, scope=None), current=Depends(dependency=<function get_current_user>, use_cache=True, scope=None))[Quellcode]
- backend.routers.songs.update_song_feedback(song_id, feedback, db=Depends(dependency=<function get_db>, use_cache=True, scope=None), current=Depends(dependency=<function get_current_user>, use_cache=True, scope=None))[Quellcode]
- backend.routers.songs.accept_song_candidate(song_id, db=Depends(dependency=<function get_db>, use_cache=True, scope=None), current=Depends(dependency=<function get_current_user>, use_cache=True, scope=None))[Quellcode]
- backend.routers.songs.get_singers(db=Depends(dependency=<function get_db>, use_cache=True, scope=None))[Quellcode]
- backend.routers.songs.get_song_scrawls(interpret=Query(PydanticUndefined), title=Query(PydanticUndefined), current=Depends(dependency=<function get_current_user>, use_cache=True, scope=None))[Quellcode]