* preview Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * web/admin: show provider page on application page Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * use oauth2 end session url instead of direct interface Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * dont show provider page on application page for now Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * add UI for preview Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * translate and release notes Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * fix lint Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * separate saml api files Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * add api tests Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
43 lines
1.3 KiB
Python
43 lines
1.3 KiB
Python
"""SAML Property mappings API Views"""
|
|
from django_filters.filters import AllValuesMultipleFilter
|
|
from django_filters.filterset import FilterSet
|
|
from drf_spectacular.types import OpenApiTypes
|
|
from drf_spectacular.utils import extend_schema_field
|
|
from rest_framework.viewsets import ModelViewSet
|
|
|
|
from authentik.core.api.propertymappings import PropertyMappingSerializer
|
|
from authentik.core.api.used_by import UsedByMixin
|
|
from authentik.providers.saml.models import SAMLPropertyMapping
|
|
|
|
|
|
class SAMLPropertyMappingSerializer(PropertyMappingSerializer):
|
|
"""SAMLPropertyMapping Serializer"""
|
|
|
|
class Meta:
|
|
|
|
model = SAMLPropertyMapping
|
|
fields = PropertyMappingSerializer.Meta.fields + [
|
|
"saml_name",
|
|
"friendly_name",
|
|
]
|
|
|
|
|
|
class SAMLPropertyMappingFilter(FilterSet):
|
|
"""Filter for SAMLPropertyMapping"""
|
|
|
|
managed = extend_schema_field(OpenApiTypes.STR)(AllValuesMultipleFilter(field_name="managed"))
|
|
|
|
class Meta:
|
|
model = SAMLPropertyMapping
|
|
fields = "__all__"
|
|
|
|
|
|
class SAMLPropertyMappingViewSet(UsedByMixin, ModelViewSet):
|
|
"""SAMLPropertyMapping Viewset"""
|
|
|
|
queryset = SAMLPropertyMapping.objects.all()
|
|
serializer_class = SAMLPropertyMappingSerializer
|
|
filterset_class = SAMLPropertyMappingFilter
|
|
search_fields = ["name"]
|
|
ordering = ["name"]
|