authentik.enterprise.providers.microsoft_entra.tasks

Microsoft Entra Provider tasks

 1"""Microsoft Entra Provider tasks"""
 2
 3from django.utils.translation import gettext_lazy as _
 4from dramatiq.actor import actor
 5
 6from authentik.enterprise.providers.microsoft_entra.models import MicrosoftEntraProvider
 7from authentik.lib.sync.outgoing.tasks import SyncTasks
 8
 9sync_tasks = SyncTasks(MicrosoftEntraProvider)
10
11
12@actor(description=_("Sync Microsoft Entra provider objects."))
13def microsoft_entra_sync_objects(*args, **kwargs):
14    return sync_tasks.sync_objects(*args, **kwargs)
15
16
17@actor(description=_("Full sync for Microsoft Entra provider."))
18def microsoft_entra_sync(provider_pk: int, *args, **kwargs):
19    """Run full sync for Microsoft Entra provider"""
20    return sync_tasks.sync(provider_pk, microsoft_entra_sync_objects)
21
22
23@actor(description=_("Sync a direct object (user, group) for Microsoft Entra provider."))
24def microsoft_entra_sync_direct(*args, **kwargs):
25    return sync_tasks.sync_signal_direct(*args, **kwargs)
26
27
28@actor(
29    description=_("Dispatch syncs for a direct object (user, group) for Microsoft Entra providers.")
30)
31def microsoft_entra_sync_direct_dispatch(*args, **kwargs):
32    return sync_tasks.sync_signal_direct_dispatch(microsoft_entra_sync_direct, *args, **kwargs)
33
34
35@actor(description=_("Delete an object (user, group) for Microsoft Entra provider."))
36def microsoft_entra_sync_delete(*args, **kwargs):
37    return sync_tasks.sync_signal_delete(*args, **kwargs)
38
39
40@actor(
41    description=_("Dispatch deletions for an object (user, group) for Microsoft Entra providers.")
42)
43def microsoft_entra_sync_delete_dispatch(*args, **kwargs):
44    return sync_tasks.sync_signal_delete_dispatch(microsoft_entra_sync_delete, *args, **kwargs)
45
46
47@actor(description=_("Sync a related object (memberships) for Microsoft Entra provider."))
48def microsoft_entra_sync_m2m(*args, **kwargs):
49    return sync_tasks.sync_signal_m2m(*args, **kwargs)
50
51
52@actor(
53    description=_(
54        "Dispatch syncs for a related object (memberships) for Microsoft Entra providers."
55    )
56)
57def microsoft_entra_sync_m2m_dispatch(*args, **kwargs):
58    return sync_tasks.sync_signal_m2m_dispatch(microsoft_entra_sync_m2m, *args, **kwargs)
microsoft_entra_sync = Actor(<function microsoft_entra_sync>, queue_name='default', actor_name='microsoft_entra_sync')

Run full sync for Microsoft Entra provider