from datetime import datetime from django.http import JsonResponse from django.shortcuts import get_object_or_404 from django.views.decorators.csrf import csrf_exempt from marietje.utils import playlist_song_to_dict from queues.models import Queue from .decorators import token_required @csrf_exempt @token_required def queue(request): queue = get_object_or_404(Queue, id=request.POST.get('queue')) return JsonResponse({ 'current_song': playlist_song_to_dict(queue.current_song(), True), 'queue': [playlist_song_to_dict(playlist_song, True) for playlist_song in queue.queue()[:1]] }) @csrf_exempt @token_required def play(request): queue = get_object_or_404(Queue, id=request.POST.get('queue')) queue.started_at = datetime.now() queue.save() return JsonResponse({}) @csrf_exempt @token_required def next(request): queue = get_object_or_404(Queue, id=request.POST.get('queue')) player_song = queue.current_song() player_song.state = 2 player_song.save() return JsonResponse({})