feat: create a dedicated endpoint to view logged in users project attributes

This commit is contained in:
pablohashescobar 2022-12-16 21:30:04 +05:30
parent eae7e68947
commit 2bacbedeb7
3 changed files with 32 additions and 0 deletions

View File

@ -58,6 +58,7 @@ from plane.api.views import (
ModuleIssueViewSet,
UserLastProjectWithWorkspaceEndpoint,
UserWorkSpaceIssues,
ProjectMemberUserEndpoint,
)
from plane.api.views.project import AddTeamToProjectEndpoint
@ -320,6 +321,12 @@ urlpatterns = [
ProjectUserViewsEndpoint.as_view(),
name="project-view",
),
path(
"workspaces/<str:slug>/projects/<uuid:project_id>/project-member/me/",
ProjectMemberUserEndpoint.as_view(),
name="project-view",
),
# End Projects
# States
path(
"workspaces/<str:slug>/projects/<uuid:project_id>/states/",

View File

@ -10,6 +10,7 @@ from .project import (
AddMemberToProjectEndpoint,
ProjectJoinEndpoint,
ProjectUserViewsEndpoint,
ProjectMemberUserEndpoint,
)
from .people import (
PeopleEndpoint,

View File

@ -625,3 +625,27 @@ class ProjectUserViewsEndpoint(BaseAPIView):
{"error": "Something went wrong please try again later"},
status=status.HTTP_500_INTERNAL_SERVER_ERROR,
)
class ProjectMemberUserEndpoint(BaseAPIView):
def get(self, request, slug, project_id):
try:
project_member = ProjectMember.objects.get(
project=project_id, workpsace__slug=slug, member=request.user
)
serializer = ProjectMemberSerializer(project_member)
return Response(serializer.data, status=status.HTTP_200_OK)
except ProjectMember.DoesNotExist:
return Response(
{"error": "User not a member of the project"},
status=status.HTTP_404_NOT_FOUND,
)
except Exception as e:
capture_exception(e)
return Response(
{"error": "Something went wrong please try again later"},
status=status.HTTP_500_INTERNAL_SERVER_ERROR,
)