2121from .version import BROOD_RESOURCES_VERSION
2222from ..data import VersionResponse
2323from .. import models as brood_models
24- from ..db import yield_db_session_from_env
25- from ..middleware import get_current_user
24+ from ..db import yield_db_session_from_env , yield_db_read_only_session
25+ from ..middleware import get_current_user , get_current_user_with_groups
2626from ..settings import ORIGINS , DOCS_TARGET_PATH , BROOD_OPENAPI_LIST
2727
2828SUBMODULE_NAME = "resources"
@@ -126,8 +126,8 @@ async def create_resource_handler(
126126@app .get ("/" , tags = ["resources" ], response_model = data .ResourcesListResponse )
127127async def get_resources_list_handler (
128128 request : Request ,
129- current_user : brood_models .User = Depends (get_current_user ),
130- db_session = Depends (yield_db_session_from_env ),
129+ current_user : brood_models .User = Depends (get_current_user_with_groups ),
130+ db_session = Depends (yield_db_read_only_session ),
131131) -> data .ResourcesListResponse :
132132 """
133133 Get a list of available resources for the user.
@@ -141,12 +141,7 @@ async def get_resources_list_handler(
141141 del params ["application_id" ]
142142
143143 try :
144- group_users_list = (
145- db_session .query (brood_models .GroupUser )
146- .filter (brood_models .GroupUser .user_id == current_user .id )
147- .all ()
148- )
149- user_groups_ids = [group .group_id for group in group_users_list ]
144+ user_groups_ids = [group .group_id for group in current_user .groups ]
150145 resources = actions .get_list_of_resources (
151146 db_session , current_user .id , user_groups_ids , params , application_id
152147 )
0 commit comments