🐛(api) enable search on identites instead of users

A previous PR enabled user search using the email. After discussion models,
we chose to enable research on identities, while still returning users.
This commit is contained in:
Marie PUPO JEAMMET
2024-01-30 15:11:49 +01:00
committed by Marie
parent 5b0b2933a2
commit 3aba9a4419
2 changed files with 81 additions and 50 deletions

View File

@@ -180,8 +180,8 @@ class UserViewSet(
GET /api/users/&q=query
Return a list of users whose email matches the query. Similarity is
calculated using trigram similarity, allowing for partial, case
insensitive matches and accentuated queries.
calculated using trigram similarity, allowing for partial,
case-insensitive matches and accented queries.
"""
permission_classes = [permissions.IsSelf]
@@ -203,7 +203,7 @@ class UserViewSet(
# Search by case-insensitive and accent-insensitive trigram similarity
if query := self.request.GET.get("q", ""):
similarity = TrigramSimilarity(
Func("email", function="unaccent"),
Func("identities__email", function="unaccent"),
Func(Value(query), function="unaccent"),
)
queryset = (