diff --git a/apiserver/plane/app/serializers/workspace.py b/apiserver/plane/app/serializers/workspace.py
index 485a127aa74..87711c8e053 100644
--- a/apiserver/plane/app/serializers/workspace.py
+++ b/apiserver/plane/app/serializers/workspace.py
@@ -33,7 +33,6 @@
class WorkSpaceSerializer(DynamicBaseSerializer):
total_members = serializers.IntegerField(read_only=True)
- total_issues = serializers.IntegerField(read_only=True)
logo_url = serializers.CharField(read_only=True)
role = serializers.IntegerField(read_only=True)
diff --git a/apiserver/plane/app/views/workspace/base.py b/apiserver/plane/app/views/workspace/base.py
index 4d81eb1607d..f5a8951f777 100644
--- a/apiserver/plane/app/views/workspace/base.py
+++ b/apiserver/plane/app/views/workspace/base.py
@@ -64,12 +64,6 @@ def get_queryset(self):
.values("count")
)
- issue_count = (
- Issue.issue_objects.filter(workspace=OuterRef("id"))
- .order_by()
- .annotate(count=Func(F("id"), function="Count"))
- .values("count")
- )
return (
self.filter_queryset(super().get_queryset().select_related("owner"))
.order_by("name")
@@ -78,8 +72,6 @@ def get_queryset(self):
workspace_member__is_active=True,
)
.annotate(total_members=member_count)
- .annotate(total_issues=issue_count)
- .select_related("owner")
)
def create(self, request):
@@ -125,7 +117,21 @@ def create(self, request):
role=20,
company_role=request.data.get("company_role", ""),
)
- return Response(serializer.data, status=status.HTTP_201_CREATED)
+
+ # Get total members and role
+ total_members=WorkspaceMember.objects.filter(workspace_id=serializer.data["id"]).count()
+ role=(
+ WorkspaceMember.objects.filter(
+ workspace_id=serializer.data["id"],
+ member=request.user,
+ is_active=True,
+ ).values("role")
+ )
+ data = serializer.data
+ data["total_members"] = total_members
+ data["role"] = role.first().get("role")
+
+ return Response(data, status=status.HTTP_201_CREATED)
return Response(
[serializer.errors[error][0] for error in serializer.errors],
status=status.HTTP_400_BAD_REQUEST,
@@ -168,13 +174,6 @@ def get(self, request):
.values("count")
)
- issue_count = (
- Issue.issue_objects.filter(workspace=OuterRef("id"))
- .order_by()
- .annotate(count=Func(F("id"), function="Count"))
- .values("count")
- )
-
role = (
WorkspaceMember.objects.filter(workspace=OuterRef("id"), member=request.user, is_active=True)
.values("role")
@@ -189,9 +188,7 @@ def get(self, request):
),
)
)
- .select_related("owner")
- .annotate(total_members=member_count)
- .annotate(total_issues=issue_count, role=role)
+ .annotate(role=role, total_members=member_count)
.filter(
workspace_member__member=request.user, workspace_member__is_active=True
)
diff --git a/packages/types/src/workspace.d.ts b/packages/types/src/workspace.d.ts
index b68cddd7d01..9320f9b5943 100644
--- a/packages/types/src/workspace.d.ts
+++ b/packages/types/src/workspace.d.ts
@@ -21,7 +21,6 @@ export interface IWorkspace {
readonly created_by: string;
readonly updated_by: string;
organization_size: string;
- total_issues: number;
total_projects?: number;
current_plan?: string;
role: number;
diff --git a/web/app/layout.tsx b/web/app/layout.tsx
index 71b7b71d28a..6024753df80 100644
--- a/web/app/layout.tsx
+++ b/web/app/layout.tsx
@@ -67,7 +67,7 @@ export default function RootLayout({ children }: { children: React.ReactNode })