diff --git a/backend/routers/search.py b/backend/routers/search.py index 4e57960..cafd432 100644 --- a/backend/routers/search.py +++ b/backend/routers/search.py @@ -47,13 +47,29 @@ def global_search( .limit(limit) ).all() - # Search Users (by username or email) + # Search Users (by email or profile username) users = session.exec( select(User) - .where((col(User.email).ilike(q_str)) | (col(User.username).ilike(q_str))) + .where(col(User.email).ilike(q_str)) .limit(limit) ).all() + # Also search Profiles for username matches + from models import Profile + profile_matches = session.exec( + select(Profile) + .where(col(Profile.username).ilike(q_str)) + .limit(limit) + ).all() + # Add unique users from profile matches + existing_user_ids = {u.id for u in users} + for p in profile_matches: + if p.user_id not in existing_user_ids: + user = session.get(User, p.user_id) + if user: + users.append(user) + existing_user_ids.add(user.id) + # Search Nicknames nicknames = session.exec( select(PerformanceNickname)