diff --git a/src/backend/mailbox_manager/api/client/viewsets.py b/src/backend/mailbox_manager/api/client/viewsets.py index 8da3438..d992e73 100644 --- a/src/backend/mailbox_manager/api/client/viewsets.py +++ b/src/backend/mailbox_manager/api/client/viewsets.py @@ -433,9 +433,10 @@ class AliasViewSet( lookup_field = "pk" permission_classes = [permissions.DomainResourcePermission] serializer_class = serializers.AliasSerializer - queryset = ( - models.Alias.objects.all().select_related("domain").order_by("-created_at") - ) + queryset = models.Alias.objects.all().select_related("domain") + filter_backends = [filters.OrderingFilter] + ordering_fields = ["local_part"] + ordering = ["local_part"] def get_serializer_context(self): """Extra context provided to the serializer class.""" diff --git a/src/backend/mailbox_manager/tests/api/aliases/test_api_aliases_list.py b/src/backend/mailbox_manager/tests/api/aliases/test_api_aliases_list.py index e495dae..bad4b17 100644 --- a/src/backend/mailbox_manager/tests/api/aliases/test_api_aliases_list.py +++ b/src/backend/mailbox_manager/tests/api/aliases/test_api_aliases_list.py @@ -59,4 +59,7 @@ def test_api_aliases_list__authorized_ok(role): f"/api/v1.0/mail-domains/{access.domain.slug}/aliases/", ) assert response.status_code == status.HTTP_200_OK + assert response.json()["results"] == sorted( + response.json()["results"], key=lambda x: x["local_part"] + ) assert response.json()["count"] == 5