Skip to content

Commit

Permalink
Fixed listener query when checking if a user is in the user list. The…
Browse files Browse the repository at this point in the history
… query was not matching a user since it was an `equality` query on an `array` and not a `in` query.
  • Loading branch information
lmarini committed Sep 13, 2024
1 parent 30046ba commit bee998f
Show file tree
Hide file tree
Showing 2 changed files with 656 additions and 129 deletions.
17 changes: 8 additions & 9 deletions backend/app/routers/listeners.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,6 @@
import string
from typing import List, Optional

from beanie import PydanticObjectId
from beanie.operators import Or, RegEx, In, NE
from fastapi import APIRouter, Depends, HTTPException
from packaging import version

from app.config import settings
from app.deps.authorization_deps import ListenerAuthorization
from app.keycloak_auth import get_current_user, get_current_username, get_user
Expand All @@ -27,6 +22,10 @@
from app.models.users import UserOut
from app.routers.authentication import get_admin, get_admin_mode
from app.routers.feeds import disassociate_listener_db
from beanie import PydanticObjectId
from beanie.operators import In, Or, RegEx
from fastapi import APIRouter, Depends, HTTPException
from packaging import version

router = APIRouter()
legacy_router = APIRouter() # for back-compatibilty with v1 extractors
Expand Down Expand Up @@ -266,7 +265,7 @@ async def search_listeners(
Or(
EventListenerDB.access == None,
EventListenerDB.access.owner == user_id,
EventListenerDB.access.users == user_id,
In(EventListenerDB.access.users, user_id),
In(EventListenerDB.access.groups, user_groups),
)
)
Expand All @@ -275,7 +274,7 @@ async def search_listeners(
Or(
EventListenerDB.access == None,
EventListenerDB.access.owner == user_id,
EventListenerDB.access.users == user_id,
In(EventListenerDB.access.users, user_id),
In(EventListenerDB.access.groups, user_groups),
EventListenerDB.access.datasets == PydanticObjectId(dataset_id),
)
Expand Down Expand Up @@ -423,7 +422,7 @@ async def get_listeners(
Or(
EventListenerDB.access == None,
EventListenerDB.access.owner == user_id,
EventListenerDB.access.users == user_id,
In(EventListenerDB.access.users, user_id),
In(EventListenerDB.access.groups, user_groups),
)
)
Expand All @@ -432,7 +431,7 @@ async def get_listeners(
Or(
EventListenerDB.access == None,
EventListenerDB.access.owner == user_id,
EventListenerDB.access.users == user_id,
In(EventListenerDB.access.users, user_id),
In(EventListenerDB.access.groups, user_groups),
EventListenerDB.access.datasets == PydanticObjectId(dataset_id),
)
Expand Down
Loading

0 comments on commit bee998f

Please sign in to comment.