Add user state updates and bidding error handling in draft consumers
- Implement user state tracking and broadcasting on connect/disconnect and phase changes - Add bid start and place rejection handling with error messages to frontend and backend - Enhance movie serializer with TMDB integration and update relevant frontend components
This commit is contained in:
@@ -2,6 +2,7 @@ from rest_framework import serializers
|
||||
from django.contrib.auth import get_user_model
|
||||
from boxofficefantasy.models import Movie, Season
|
||||
from draft.models import DraftSession, DraftSessionSettings, DraftPick
|
||||
from boxofficefantasy.integrations.tmdb import get_tmdb_movie_by_imdb
|
||||
|
||||
User = get_user_model()
|
||||
|
||||
@@ -16,10 +17,27 @@ class UserSerializer(serializers.ModelSerializer):
|
||||
return f"{obj.first_name} {obj.last_name}".strip()
|
||||
|
||||
class MovieSerializer(serializers.ModelSerializer):
|
||||
tmdb_data = serializers.SerializerMethodField()
|
||||
def get_tmdb_data(self, obj):
|
||||
if hasattr(obj, 'imdb_id') and obj.imdb_id:
|
||||
tmdb_movie = get_tmdb_movie_by_imdb(obj.imdb_id)
|
||||
if tmdb_movie:
|
||||
poster_url = None
|
||||
if tmdb_movie.get('poster_path'):
|
||||
poster_url = f"{tmdb_movie['poster_path']}"
|
||||
|
||||
return {
|
||||
'id': tmdb_movie.get('id'),
|
||||
'title': tmdb_movie.get('title'),
|
||||
'overview': tmdb_movie.get('overview'),
|
||||
'poster_url': tmdb_movie['poster_url'],
|
||||
'release_date': tmdb_movie.get('release_date'),
|
||||
}
|
||||
return None
|
||||
class Meta:
|
||||
model = Movie
|
||||
# fields = ("id", "imdb_id", "title", "year", "poster_url")
|
||||
fields = ("id", "title")
|
||||
fields = ("id", "title", "tmdb_data")
|
||||
|
||||
class DraftSessionSettingsSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
|
||||
Reference in New Issue
Block a user