Skip to content

Commit 899f315

Browse files
committed
fix projects/<id>/collaborators
1 parent 60e9fb4 commit 899f315

2 files changed

Lines changed: 13 additions & 4 deletions

File tree

projects/serializers.py

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,8 @@ class Meta:
2828

2929

3030
class CollaboratorSerializer(serializers.ModelSerializer):
31-
# id = serializers.IntegerField(source="user.id")
31+
# specify so that there's a clear indication that it's the user's id and not collaborator's id
32+
user_id = serializers.IntegerField(source="user.id")
3233
first_name = serializers.CharField(source="user.first_name")
3334
last_name = serializers.CharField(source="user.last_name")
3435
avatar = serializers.CharField(source="user.avatar")
@@ -41,7 +42,7 @@ def get_member_key_skills(cls, collaborator):
4142
class Meta:
4243
model = Collaborator
4344
fields = [
44-
"id",
45+
"user_id",
4546
"first_name",
4647
"last_name",
4748
"role",
@@ -50,6 +51,14 @@ class Meta:
5051
]
5152

5253

54+
class ProjectCollaboratorSerializer(serializers.ModelSerializer):
55+
collaborators = CollaboratorSerializer(source="collaborator_set", many=True)
56+
57+
class Meta:
58+
model = Project
59+
fields = ["collaborators"]
60+
61+
5362
class ProjectDetailSerializer(serializers.ModelSerializer):
5463
achievements = AchievementListSerializer(many=True, read_only=True)
5564
collaborators = CollaboratorSerializer(

projects/views.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
AchievementListSerializer,
1313
ProjectListSerializer,
1414
AchievementDetailSerializer,
15-
CollaboratorSerializer,
15+
ProjectCollaboratorSerializer,
1616
)
1717

1818

@@ -79,7 +79,7 @@ class ProjectCollaborators(generics.GenericAPIView):
7979

8080
permission_classes = [IsProjectLeaderOrReadOnly]
8181
queryset = Project.objects.all()
82-
serializer_class = CollaboratorSerializer
82+
serializer_class = ProjectCollaboratorSerializer
8383

8484
def get(self, request, pk: int):
8585
"""retrieve collaborators for given project"""

0 commit comments

Comments
 (0)