25 lines
898 B
Python
25 lines
898 B
Python
from django.shortcuts import render
|
|
from rest_framework.views import APIView
|
|
from rest_framework.response import Response
|
|
from playlist.models import Session, Profile, Track, Vote
|
|
from playlist.serializers import TrackSerializer, SessionSerializer
|
|
from drf_spectacular.utils import extend_schema
|
|
|
|
def index(request):
|
|
return render(request, 'voting/index.html')
|
|
|
|
def session(request, session_id):
|
|
return render(request, 'voting/session.html', {'room_name': session_id})
|
|
|
|
@extend_schema(
|
|
responses={200: SessionSerializer(many=True)},
|
|
description="Retrieve a list of all available sessions."
|
|
)
|
|
class SessionListView(APIView):
|
|
def get(self, request):
|
|
if request.user.is_superuser:
|
|
sessions = Session.objects.all()
|
|
else:
|
|
sessions = Session.objects.filter(voting_open=True)
|
|
return Response(SessionSerializer(sessions, many=True).data)
|