authentik.tenants.middleware
1from django.db.models import Value 2from django_tenants.middleware import TenantMainMiddleware 3from django_tenants.utils import get_public_schema_name 4 5from authentik.tenants.models import Domain, Tenant 6 7 8class DefaultTenantMiddleware(TenantMainMiddleware): 9 def get_tenant(self, domain_model: type[Domain], hostname: str) -> Tenant: 10 tenant = ( 11 Tenant.objects.filter(domains__domain=hostname) 12 .annotate(default=Value(100)) 13 .union( 14 Tenant.objects.filter(schema_name=get_public_schema_name()).annotate( 15 default=Value(10) 16 ) 17 ) 18 .order_by("-default") 19 .first() 20 ) 21 if tenant is None: 22 raise domain_model.DoesNotExist() 23 return tenant
class
DefaultTenantMiddleware(django_tenants.middleware.main.TenantMainMiddleware):
9class DefaultTenantMiddleware(TenantMainMiddleware): 10 def get_tenant(self, domain_model: type[Domain], hostname: str) -> Tenant: 11 tenant = ( 12 Tenant.objects.filter(domains__domain=hostname) 13 .annotate(default=Value(100)) 14 .union( 15 Tenant.objects.filter(schema_name=get_public_schema_name()).annotate( 16 default=Value(10) 17 ) 18 ) 19 .order_by("-default") 20 .first() 21 ) 22 if tenant is None: 23 raise domain_model.DoesNotExist() 24 return tenant
def
get_tenant( self, domain_model: type[authentik.tenants.models.Domain], hostname: str) -> authentik.tenants.models.Tenant:
10 def get_tenant(self, domain_model: type[Domain], hostname: str) -> Tenant: 11 tenant = ( 12 Tenant.objects.filter(domains__domain=hostname) 13 .annotate(default=Value(100)) 14 .union( 15 Tenant.objects.filter(schema_name=get_public_schema_name()).annotate( 16 default=Value(10) 17 ) 18 ) 19 .order_by("-default") 20 .first() 21 ) 22 if tenant is None: 23 raise domain_model.DoesNotExist() 24 return tenant