Files
google-labs-jules[bot] eeab5e1228 feat(content): implemented Watch Party chat system (#107)
- Added `WatchParty` model in `content/models.py`.
- Added `create_watch_party` and `watch_party_detail` views.
- Added `templates/watch_party.html` with WebSocket chat integration (reusing `ChatConsumer` with `party_{uuid}` room).
- Added "Start Watch Party" button to `templates/player.html`.
- Added unit tests in `content/tests/test_watch_party.py`.
- Verified frontend chat connectivity with Playwright.

Impact: Users can now create private Watch Party rooms with dedicated chat.

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2026-01-21 22:23:31 +00:00

49 lines
1.4 KiB
Python

# Generated by Django 5.1.6 on 2026-01-21 22:13
import django.db.models.deletion
import uuid
from django.conf import settings
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("content", "0007_review"),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
operations = [
migrations.CreateModel(
name="WatchParty",
fields=[
(
"uuid",
models.UUIDField(
default=uuid.uuid4,
editable=False,
primary_key=True,
serialize=False,
),
),
("created_at", models.DateTimeField(auto_now_add=True)),
(
"episode",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
related_name="watch_parties",
to="content.episode",
),
),
(
"host",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
related_name="hosted_parties",
to=settings.AUTH_USER_MODEL,
),
),
],
),
]