mirror of
https://github.com/barkeser2002/offline-db.git
synced 2026-09-25 04:39:59 +03:00
* test: achieve 100% coverage for badge system and resolve db IDOR Co-authored-by: barkeser2002 <45911502+barkeser2002@users.noreply.github.com> * fix: include legacy ChatMessage stats in chat badge checks Co-authored-by: barkeser2002 <45911502+barkeser2002@users.noreply.github.com> --------- Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
37 lines
1.2 KiB
Python
37 lines
1.2 KiB
Python
from django.db.models.signals import post_save
|
|
from django.dispatch import receiver
|
|
from .models import WatchLog
|
|
from content.models import Subscription, Review, VideoFile
|
|
from apps.watchparty.models import Room, Message
|
|
from .services import check_badges, check_chat_badges
|
|
|
|
@receiver(post_save, sender=VideoFile)
|
|
def check_badges_on_video_upload(sender, instance, created, **kwargs):
|
|
if created and instance.uploader:
|
|
check_badges(instance.uploader)
|
|
|
|
@receiver(post_save, sender=Review)
|
|
def check_badges_on_review(sender, instance, created, **kwargs):
|
|
if created:
|
|
check_badges(instance.user)
|
|
|
|
@receiver(post_save, sender=Subscription)
|
|
def check_badges_on_subscribe(sender, instance, created, **kwargs):
|
|
if created:
|
|
check_badges(instance.user)
|
|
|
|
@receiver(post_save, sender=WatchLog)
|
|
def check_badges_on_watch(sender, instance, created, **kwargs):
|
|
if created:
|
|
check_badges(instance.user)
|
|
|
|
@receiver(post_save, sender=Message)
|
|
def check_badges_on_chat(sender, instance, created, **kwargs):
|
|
if created and instance.sender:
|
|
check_chat_badges(instance.sender)
|
|
|
|
@receiver(post_save, sender=Room)
|
|
def check_badges_on_watch_party(sender, instance, created, **kwargs):
|
|
if created:
|
|
check_badges(instance.host)
|