
* make connection objects not updatable but allow creating with provider Signed-off-by: Jens Langhammer <jens@goauthentik.io> * save data returned from google/entra and show it in UI Signed-off-by: Jens Langhammer <jens@goauthentik.io> * pass connection object Signed-off-by: Jens Langhammer <jens@goauthentik.io> * set immutable id on user automatically Signed-off-by: Jens Langhammer <jens@goauthentik.io> * better define transient error codes Signed-off-by: Jens Langhammer <jens@goauthentik.io> * format Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fix entra Signed-off-by: Jens Langhammer <jens@goauthentik.io> --------- Signed-off-by: Jens Langhammer <jens@goauthentik.io>
45 lines
1.4 KiB
Python
45 lines
1.4 KiB
Python
"""MicrosoftEntraProviderGroup API Views"""
|
|
|
|
from rest_framework import mixins
|
|
from rest_framework.serializers import ModelSerializer
|
|
from rest_framework.viewsets import GenericViewSet
|
|
|
|
from authentik.core.api.used_by import UsedByMixin
|
|
from authentik.core.api.users import UserGroupSerializer
|
|
from authentik.enterprise.providers.microsoft_entra.models import MicrosoftEntraProviderGroup
|
|
|
|
|
|
class MicrosoftEntraProviderGroupSerializer(ModelSerializer):
|
|
"""MicrosoftEntraProviderGroup Serializer"""
|
|
|
|
group_obj = UserGroupSerializer(source="group", read_only=True)
|
|
|
|
class Meta:
|
|
|
|
model = MicrosoftEntraProviderGroup
|
|
fields = [
|
|
"id",
|
|
"group",
|
|
"group_obj",
|
|
"provider",
|
|
"attributes",
|
|
]
|
|
extra_kwargs = {"attributes": {"read_only": True}}
|
|
|
|
|
|
class MicrosoftEntraProviderGroupViewSet(
|
|
mixins.CreateModelMixin,
|
|
mixins.RetrieveModelMixin,
|
|
mixins.DestroyModelMixin,
|
|
UsedByMixin,
|
|
mixins.ListModelMixin,
|
|
GenericViewSet,
|
|
):
|
|
"""MicrosoftEntraProviderGroup Viewset"""
|
|
|
|
queryset = MicrosoftEntraProviderGroup.objects.all().select_related("group")
|
|
serializer_class = MicrosoftEntraProviderGroupSerializer
|
|
filterset_fields = ["provider__id", "group__name", "group__group_uuid"]
|
|
search_fields = ["provider__name", "group__name"]
|
|
ordering = ["group__name"]
|