From 01583ba94fa618caccc1164e038c6611a545038a Mon Sep 17 00:00:00 2001 From: Marie PUPO JEAMMET Date: Thu, 11 Dec 2025 15:22:39 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B(aliases)=20sort=20aliases=20by=20l?= =?UTF-8?q?ocal=20part?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit sort aliases by local part to ease front-end interface --- src/backend/mailbox_manager/api/client/viewsets.py | 7 ++++--- .../tests/api/aliases/test_api_aliases_list.py | 3 +++ 2 files changed, 7 insertions(+), 3 deletions(-) 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