fix: uuid validation, status and webhook errors (#6896)
* fix: uuid validation and function parameter handling for external apis * chore: update status 410 Gone to 409 conflicts * chore: add webhook trigger for issue created through apis * chore: remove pks from post * chore: remove issue id from module post
This commit is contained in:
parent
b68396a4b2
commit
bfc6ed839f
9 changed files with 82 additions and 31 deletions
|
|
@ -41,6 +41,7 @@ from plane.bgtasks.recent_visited_task import recent_visited_task
|
|||
from plane.utils.exception_logger import log_exception
|
||||
from plane.utils.host import base_host
|
||||
|
||||
|
||||
class ProjectViewSet(BaseViewSet):
|
||||
serializer_class = ProjectListSerializer
|
||||
model = Project
|
||||
|
|
@ -341,7 +342,7 @@ class ProjectViewSet(BaseViewSet):
|
|||
if "already exists" in str(e):
|
||||
return Response(
|
||||
{"name": "The project name is already taken"},
|
||||
status=status.HTTP_410_GONE,
|
||||
status=status.HTTP_409_CONFLICT,
|
||||
)
|
||||
except Workspace.DoesNotExist:
|
||||
return Response(
|
||||
|
|
@ -350,7 +351,7 @@ class ProjectViewSet(BaseViewSet):
|
|||
except serializers.ValidationError:
|
||||
return Response(
|
||||
{"identifier": "The project identifier is already taken"},
|
||||
status=status.HTTP_410_GONE,
|
||||
status=status.HTTP_409_CONFLICT,
|
||||
)
|
||||
|
||||
def partial_update(self, request, slug, pk=None):
|
||||
|
|
@ -419,7 +420,7 @@ class ProjectViewSet(BaseViewSet):
|
|||
if "already exists" in str(e):
|
||||
return Response(
|
||||
{"name": "The project name is already taken"},
|
||||
status=status.HTTP_410_GONE,
|
||||
status=status.HTTP_409_CONFLICT,
|
||||
)
|
||||
except (Project.DoesNotExist, Workspace.DoesNotExist):
|
||||
return Response(
|
||||
|
|
@ -428,7 +429,7 @@ class ProjectViewSet(BaseViewSet):
|
|||
except serializers.ValidationError:
|
||||
return Response(
|
||||
{"identifier": "The project identifier is already taken"},
|
||||
status=status.HTTP_410_GONE,
|
||||
status=status.HTTP_409_CONFLICT,
|
||||
)
|
||||
|
||||
def destroy(self, request, slug, pk):
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ class WebhookEndpoint(BaseAPIView):
|
|||
if "already exists" in str(e):
|
||||
return Response(
|
||||
{"error": "URL already exists for the workspace"},
|
||||
status=status.HTTP_410_GONE,
|
||||
status=status.HTTP_409_CONFLICT,
|
||||
)
|
||||
raise IntegrityError
|
||||
|
||||
|
|
|
|||
|
|
@ -119,7 +119,9 @@ class WorkSpaceViewSet(BaseViewSet):
|
|||
)
|
||||
|
||||
# Get total members and role
|
||||
total_members=WorkspaceMember.objects.filter(workspace_id=serializer.data["id"]).count()
|
||||
total_members = WorkspaceMember.objects.filter(
|
||||
workspace_id=serializer.data["id"]
|
||||
).count()
|
||||
data = serializer.data
|
||||
data["total_members"] = total_members
|
||||
data["role"] = 20
|
||||
|
|
@ -134,7 +136,7 @@ class WorkSpaceViewSet(BaseViewSet):
|
|||
if "already exists" in str(e):
|
||||
return Response(
|
||||
{"slug": "The workspace with the slug already exists"},
|
||||
status=status.HTTP_410_GONE,
|
||||
status=status.HTTP_409_CONFLICT,
|
||||
)
|
||||
|
||||
@allow_permission([ROLE.ADMIN, ROLE.MEMBER, ROLE.GUEST], level="WORKSPACE")
|
||||
|
|
@ -167,10 +169,9 @@ class UserWorkSpacesEndpoint(BaseAPIView):
|
|||
.values("count")
|
||||
)
|
||||
|
||||
role = (
|
||||
WorkspaceMember.objects.filter(workspace=OuterRef("id"), member=request.user, is_active=True)
|
||||
.values("role")
|
||||
)
|
||||
role = WorkspaceMember.objects.filter(
|
||||
workspace=OuterRef("id"), member=request.user, is_active=True
|
||||
).values("role")
|
||||
|
||||
workspace = (
|
||||
Workspace.objects.prefetch_related(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue