
* make external id field externally visible Signed-off-by: Jens Langhammer <jens@goauthentik.io> * catch up scim provider Signed-off-by: Jens Langhammer <jens@goauthentik.io> * add missing views to scim provider Signed-off-by: Jens Langhammer <jens@goauthentik.io> * make neither user nor group required for mapping testing Signed-off-by: Jens Langhammer <jens@goauthentik.io> * improve SkipObject handling Signed-off-by: Jens Langhammer <jens@goauthentik.io> * allow deletion of connection objects Signed-off-by: Jens Langhammer <jens@goauthentik.io> * make entra logs less noisy Signed-off-by: Jens Langhammer <jens@goauthentik.io> * make event_matcher less noisy Signed-off-by: Jens Langhammer <jens@goauthentik.io> --------- Signed-off-by: Jens Langhammer <jens@goauthentik.io>
46 lines
1.4 KiB
Python
46 lines
1.4 KiB
Python
"""GoogleWorkspaceProviderUser API Views"""
|
|
|
|
from rest_framework import mixins
|
|
from rest_framework.serializers import ModelSerializer
|
|
from rest_framework.viewsets import GenericViewSet
|
|
|
|
from authentik.core.api.groups import GroupMemberSerializer
|
|
from authentik.core.api.used_by import UsedByMixin
|
|
from authentik.enterprise.providers.google_workspace.models import GoogleWorkspaceProviderUser
|
|
|
|
|
|
class GoogleWorkspaceProviderUserSerializer(ModelSerializer):
|
|
"""GoogleWorkspaceProviderUser Serializer"""
|
|
|
|
user_obj = GroupMemberSerializer(source="user", read_only=True)
|
|
|
|
class Meta:
|
|
|
|
model = GoogleWorkspaceProviderUser
|
|
fields = [
|
|
"id",
|
|
"google_id",
|
|
"user",
|
|
"user_obj",
|
|
"provider",
|
|
"attributes",
|
|
]
|
|
extra_kwargs = {"attributes": {"read_only": True}}
|
|
|
|
|
|
class GoogleWorkspaceProviderUserViewSet(
|
|
mixins.CreateModelMixin,
|
|
mixins.RetrieveModelMixin,
|
|
mixins.DestroyModelMixin,
|
|
UsedByMixin,
|
|
mixins.ListModelMixin,
|
|
GenericViewSet,
|
|
):
|
|
"""GoogleWorkspaceProviderUser Viewset"""
|
|
|
|
queryset = GoogleWorkspaceProviderUser.objects.all().select_related("user")
|
|
serializer_class = GoogleWorkspaceProviderUserSerializer
|
|
filterset_fields = ["provider__id", "user__username", "user__id"]
|
|
search_fields = ["provider__name", "user__username"]
|
|
ordering = ["user__username"]
|