e25d03d8f4
* managed: add base manager and Ops * core: use ManagedModel for Token and PropertyMapping * providers/saml: implement managed objects for SAML Provider * sources/ldap: migrate to managed * providers/oauth2: migrate to managed * providers/proxy: migrate to managed * *: load .managed in apps * managed: add reconcile task, run on startup * providers/oauth2: fix import path for managed * providers/saml: don't set FriendlyName when mapping is none * *: use ObjectManager in tests to ensure objects exist * ci: use vmImage ubuntu-latest * providers/saml: add new mapping for username and user id * tests: remove docker proxy * tests/e2e: use updated attribute names * docs: update SAML docs * tests/e2e: fix remaining saml cases * outposts: make tokens as managed * *: make PropertyMapping SerializerModel * web: add page for property-mappings * web: add codemirror to common_styles because codemirror * docs: fix member-of in nextcloud * docs: nextcloud add admin * web: fix refresh reloading data two times * web: add loading lock to table to prevent double loads * web: add ability to use null in QueryArgs (value will be skipped) * web: add hide option to property mappings * web: fix linting
21 lines
702 B
Python
21 lines
702 B
Python
"""managed tasks"""
|
|
from django.db import DatabaseError
|
|
|
|
from authentik.core.tasks import CELERY_APP
|
|
from authentik.events.monitored_tasks import MonitoredTask, TaskResult, TaskResultStatus
|
|
from authentik.managed.manager import ObjectManager
|
|
|
|
|
|
@CELERY_APP.task(bind=True, base=MonitoredTask)
|
|
def managed_reconcile(self: MonitoredTask):
|
|
"""Run ObjectManager to ensure objects are up-to-date"""
|
|
try:
|
|
ObjectManager().run()
|
|
self.set_status(
|
|
TaskResult(
|
|
TaskResultStatus.SUCCESSFUL, ["Successfully updated managed models."]
|
|
)
|
|
)
|
|
except DatabaseError as exc:
|
|
self.set_status(TaskResult(TaskResultStatus.WARNING, [str(exc)]))
|