Skip to content

Commit 268fd97

Browse files
committed
fix: missing awaits on permission check calls
1 parent 6c880e1 commit 268fd97

3 files changed

Lines changed: 7 additions & 8 deletions

File tree

src/dependencies.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,9 @@ async def logged_in_user(db_session: database.DBSession, session_id: Annotated[s
3434

3535

3636
async def perm_election(db_session: database.DBSession, computing_id: LoggedInUser) -> str:
37-
if not is_user_website_admin(computing_id, db_session) or is_user_election_officer(computing_id, db_session):
37+
if not await is_user_website_admin(computing_id, db_session) or not await is_user_election_officer(
38+
computing_id, db_session
39+
):
3840
raise HTTPException(status_code=status.HTTP_403_FORBIDDEN, detail="must be an election admin")
3941

4042
return computing_id
@@ -44,7 +46,7 @@ async def perm_election(db_session: database.DBSession, computing_id: LoggedInUs
4446

4547

4648
async def perm_admin(db_session: database.DBSession, computing_id: LoggedInUser):
47-
if not is_user_website_admin(computing_id, db_session):
49+
if not await is_user_website_admin(computing_id, db_session):
4850
raise HTTPException(status_code=status.HTTP_403_FORBIDDEN, detail="must be an admin")
4951

5052
return computing_id

src/officers/urls.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ async def get_officer_info(
137137
session_computing_id: LoggedInUser,
138138
computing_id: str,
139139
):
140-
if computing_id != session_computing_id and not is_user_website_admin(session_computing_id, db_session):
140+
if computing_id != session_computing_id and not await is_user_website_admin(session_computing_id, db_session):
141141
raise HTTPException(status_code=status.HTTP_403_FORBIDDEN, detail="not authorized")
142142

143143
officer_info = await officers.crud.get_officer_info_or_raise(db_session, computing_id)

src/utils/permissions.py

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -81,9 +81,6 @@ async def get_admin(request: Request, db_session: database.DBSession, admin_type
8181
return (session_id, computing_id)
8282

8383

84-
async def verify_update(request: Request, db_session: database.DBSession, computing_id: str) -> tuple[str, str]:
85-
session_id, session_computing_id = await get_user(request, db_session)
86-
if computing_id != session_computing_id and not is_user_website_admin(computing_id, db_session):
84+
async def verify_update(computing_id: str, db_session: database.DBSession, target_id: str):
85+
if target_id != computing_id and not await is_user_website_admin(computing_id, db_session):
8786
raise HTTPException(status_code=status.HTTP_403_FORBIDDEN, detail="must be an admin")
88-
89-
return (session_id, session_computing_id)

0 commit comments

Comments
 (0)