30 lines
1.0 KiB
Python
30 lines
1.0 KiB
Python
from django.conf import settings
|
|
from django.contrib.auth import get_user_model, models as auth_models
|
|
|
|
|
|
def dashboard_status(request):
|
|
user_count = get_user_model().objects.count()
|
|
group_count = auth_models.Group.objects.count()
|
|
auth_mode = getattr(settings, "KEYWARDEN_AUTH_MODE", "hybrid")
|
|
has_superuser = get_user_model().objects.filter(is_superuser=True).exists()
|
|
oidc_configured = bool(
|
|
getattr(settings, "OIDC_RP_CLIENT_ID", None)
|
|
and getattr(settings, "OIDC_RP_CLIENT_SECRET", None)
|
|
and getattr(settings, "OIDC_OP_AUTHORIZATION_ENDPOINT", None)
|
|
and getattr(settings, "OIDC_OP_TOKEN_ENDPOINT", None)
|
|
and getattr(settings, "OIDC_OP_USER_ENDPOINT", None)
|
|
and getattr(settings, "OIDC_OP_JWKS_ENDPOINT", None)
|
|
)
|
|
|
|
return {
|
|
"dashboard_status": {
|
|
"auth_mode": auth_mode,
|
|
"user_count": user_count,
|
|
"group_count": group_count,
|
|
"has_superuser": has_superuser,
|
|
"oidc_configured": oidc_configured,
|
|
}
|
|
}
|
|
|
|
|