mirror of
https://github.com/makeplane/plane
synced 2024-06-14 14:31:34 +00:00
feat: return workspace member count on user workspace endpoint (#162)
This commit is contained in:
parent
ad929dfd7e
commit
6db3cf2b4d
@ -12,6 +12,7 @@ from plane.db.models import Workspace, WorkspaceMember, Team, WorkspaceMemberInv
|
|||||||
class WorkSpaceSerializer(BaseSerializer):
|
class WorkSpaceSerializer(BaseSerializer):
|
||||||
|
|
||||||
owner = UserLiteSerializer(read_only=True)
|
owner = UserLiteSerializer(read_only=True)
|
||||||
|
total_members = serializers.IntegerField(read_only=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Workspace
|
model = Workspace
|
||||||
|
@ -10,7 +10,7 @@ from django.utils import timezone
|
|||||||
from django.core.exceptions import ValidationError
|
from django.core.exceptions import ValidationError
|
||||||
from django.core.validators import validate_email
|
from django.core.validators import validate_email
|
||||||
from django.contrib.sites.shortcuts import get_current_site
|
from django.contrib.sites.shortcuts import get_current_site
|
||||||
from django.db.models import CharField
|
from django.db.models import CharField, Count
|
||||||
from django.db.models.functions import Cast
|
from django.db.models.functions import Cast
|
||||||
|
|
||||||
# Third party modules
|
# Third party modules
|
||||||
@ -119,7 +119,8 @@ class UserWorkSpacesEndpoint(BaseAPIView):
|
|||||||
workspace_member__member=request.user,
|
workspace_member__member=request.user,
|
||||||
)
|
)
|
||||||
.select_related("owner")
|
.select_related("owner")
|
||||||
)
|
).annotate(total_members=Count("workspace_member"))
|
||||||
|
|
||||||
serializer = WorkSpaceSerializer(self.filter_queryset(workspace), many=True)
|
serializer = WorkSpaceSerializer(self.filter_queryset(workspace), many=True)
|
||||||
return Response(serializer.data, status=status.HTTP_200_OK)
|
return Response(serializer.data, status=status.HTTP_200_OK)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user