authentik.providers.scim.tasks
SCIM Provider tasks
1"""SCIM Provider tasks""" 2 3from django.utils.translation import gettext_lazy as _ 4from dramatiq.actor import actor 5 6from authentik.lib.sync.outgoing.tasks import SyncTasks 7from authentik.providers.scim.models import SCIMProvider 8 9sync_tasks = SyncTasks(SCIMProvider) 10 11 12@actor(description=_("Sync SCIM provider objects.")) 13def scim_sync_objects(*args, **kwargs): 14 return sync_tasks.sync_objects(*args, **kwargs) 15 16 17@actor(description=_("Full sync for SCIM provider.")) 18def scim_sync(provider_pk: int, *args, **kwargs): 19 """Run full sync for SCIM provider""" 20 return sync_tasks.sync(provider_pk, scim_sync_objects) 21 22 23@actor(description=_("Sync a direct object (user, group) for SCIM provider.")) 24def scim_sync_direct(*args, **kwargs): 25 return sync_tasks.sync_signal_direct(*args, **kwargs) 26 27 28@actor(description=_("Dispatch syncs for a direct object (user, group) for SCIM providers.")) 29def scim_sync_direct_dispatch(*args, **kwargs): 30 return sync_tasks.sync_signal_direct_dispatch(scim_sync_direct, *args, **kwargs) 31 32 33@actor(description=_("Delete an object (user, group) for SCIM provider.")) 34def scim_sync_delete(*args, **kwargs): 35 return sync_tasks.sync_signal_delete(*args, **kwargs) 36 37 38@actor(description=_("Dispatch deletions for an object (user, group) for SCIM providers.")) 39def scim_sync_delete_dispatch(*args, **kwargs): 40 return sync_tasks.sync_signal_delete_dispatch(scim_sync_delete, *args, **kwargs) 41 42 43@actor(description=_("Sync a related object (memberships) for SCIM provider.")) 44def scim_sync_m2m(*args, **kwargs): 45 return sync_tasks.sync_signal_m2m(*args, **kwargs) 46 47 48@actor(description=_("Dispatch syncs for a related object (memberships) for SCIM providers.")) 49def scim_sync_m2m_dispatch(*args, **kwargs): 50 return sync_tasks.sync_signal_m2m_dispatch(scim_sync_m2m, *args, **kwargs)
sync_tasks =
<authentik.lib.sync.outgoing.tasks.SyncTasks object>
scim_sync =
Actor(<function scim_sync>, queue_name='default', actor_name='scim_sync')
Run full sync for SCIM provider