from django.conf import settings
from django.db.models.signals import post_save, post_delete
from django.dispatch import receiver

from .auth import invalidate_session_user_cache


@receiver(post_save, sender=settings.AUTH_USER_MODEL)
def _bust_user_cache_on_save(sender, instance, **kwargs):
    invalidate_session_user_cache(instance.id)


@receiver(post_delete, sender=settings.AUTH_USER_MODEL)
def _bust_user_cache_on_delete(sender, instance, **kwargs):
    invalidate_session_user_cache(instance.id)
