Skip to content

Commit 505fd0d

Browse files
authored
fix: update organizations/<id>/teams/ endpoint method (#871)
1 parent e2628c3 commit 505fd0d

File tree

1 file changed

+14
-4
lines changed

1 file changed

+14
-4
lines changed

src/aap_eda/api/views/organization.py

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626

2727
from aap_eda.api import exceptions as api_exc, filters, serializers
2828
from aap_eda.core import models
29+
from aap_eda.core.enums import Action
2930

3031
from .mixins import PartialUpdateOnlyModelMixin
3132

@@ -123,15 +124,24 @@ def destroy(self, request, *args, **kwargs):
123124
],
124125
)
125126
@action(
126-
detail=True,
127+
detail=False,
127128
methods=["get"],
128129
queryset=models.Team.objects.order_by("id"),
129130
filterset_class=filters.OrganizationTeamFilter,
131+
rbac_action=Action.READ,
132+
url_path="(?P<id>[^/.]+)/teams",
130133
)
131-
def teams(self, request, pk):
132-
organization = self.get_object()
134+
def teams(self, request, id):
135+
org_exists = (
136+
models.Organization.access_qs(request.user).filter(id=id).exists()
137+
)
138+
if not org_exists:
139+
raise api_exc.NotFound(
140+
code=status.HTTP_404_NOT_FOUND,
141+
detail=f"Organization with ID={id} does not exist.",
142+
)
133143

134-
teams = models.Team.objects.filter(organization_id=organization.id)
144+
teams = models.Team.objects.filter(organization_id=id)
135145
filtered_teams = self.filter_queryset(teams)
136146
result = self.paginate_queryset(filtered_teams)
137147
serializer = serializers.TeamSerializer(result, many=True)

0 commit comments

Comments
 (0)