Files
offline-db/users/migrations/0012_seed_weekend_warrior.py
google-labs-jules[bot] 3fa56e1412 feat(users): add Weekend Warrior badge (#89)
- Implements "Weekend Warrior" badge logic in `check_badges`.
- Seeds the badge via migration 0012.
- Adds comprehensive tests in `test_badges.py`.
- Updates `users/services.py` to award the badge when 5 distinct episodes are watched on a single weekend day.

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

26 lines
826 B
Python

from django.db import migrations
def create_weekend_warrior_badge(apps, schema_editor):
Badge = apps.get_model('users', 'Badge')
if not Badge.objects.filter(slug='weekend-warrior').exists():
Badge.objects.create(
slug='weekend-warrior',
name='Weekend Warrior',
description='Watched 5 episodes on a single weekend day',
icon_url='/static/badges/weekend-warrior.png'
)
def remove_weekend_warrior_badge(apps, schema_editor):
Badge = apps.get_model('users', 'Badge')
Badge.objects.filter(slug='weekend-warrior').delete()
class Migration(migrations.Migration):
dependencies = [
('users', '0011_seed_marathoner'),
]
operations = [
migrations.RunPython(create_weekend_warrior_badge, remove_weekend_warrior_badge),
]