Source code for sni.user.signals

"""
ODM signal handlers
"""

from typing import Any

import mongoengine.signals as signals

from sni.scheduler import scheduler

from .models import Coalition, User
from .jobs import (
    update_coalition_autogroup,
    update_user_autogroup,
)


[docs]@signals.post_save.connect_via(Coalition) def on_coalition_post_save(_sender: Any, **kwargs): """ Whenever a coalition is saved in the database. """ if kwargs.get("created", False): coalition: Coalition = kwargs["document"] scheduler.add_job(update_coalition_autogroup, args=(coalition,))
[docs]@signals.post_save.connect_via(User) def on_user_post_save(_sender: Any, **kwargs): """ Whenever a user is saved in the database. """ if not kwargs.get("created", False): usr: User = kwargs["document"] if usr.character_id == 0: return # scheduler.add_job(update_user_from_esi, args=(usr, )) scheduler.add_job(update_user_autogroup, args=(usr,))