
* format files Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fix pyright Signed-off-by: Jens Langhammer <jens@goauthentik.io> * revert #8367 Signed-off-by: Jens Langhammer <jens@goauthentik.io> * sigh Signed-off-by: Jens Langhammer <jens@goauthentik.io> --------- Signed-off-by: Jens Langhammer <jens@goauthentik.io>
25 lines
772 B
Python
25 lines
772 B
Python
"""SCIM Sync"""
|
|
|
|
from structlog.stdlib import get_logger
|
|
|
|
from authentik.providers.scim.models import SCIMProvider
|
|
from authentik.providers.scim.tasks import scim_sync
|
|
from authentik.tenants.management import TenantCommand
|
|
|
|
LOGGER = get_logger()
|
|
|
|
|
|
class Command(TenantCommand):
|
|
"""Run sync for an SCIM Provider"""
|
|
|
|
def add_arguments(self, parser):
|
|
parser.add_argument("providers", nargs="+", type=str)
|
|
|
|
def handle_per_tenant(self, **options):
|
|
for provider_name in options["providers"]:
|
|
provider = SCIMProvider.objects.filter(name=provider_name).first()
|
|
if not provider:
|
|
LOGGER.warning("Provider does not exist", name=provider_name)
|
|
continue
|
|
scim_sync.delay(provider.pk).get()
|