Skip to content

Commit 7f07b77

Browse files
committed
fix: removed unused imports and changed some return types
1 parent 0dddbd9 commit 7f07b77

File tree

3 files changed

+12
-12
lines changed

3 files changed

+12
-12
lines changed

src/elections/crud.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,10 @@
1-
import logging
2-
31
import sqlalchemy
42
from sqlalchemy.ext.asyncio import AsyncSession
53

64
from elections.tables import Election, NomineeApplication, NomineeInfo
75

8-
_logger = logging.getLogger(__name__)
96

10-
async def get_all_elections(db_session: AsyncSession) -> list[Election] | None:
7+
async def get_all_elections(db_session: AsyncSession) -> list[Election]:
118
# TODO: can this return None?
129
election_list = (await db_session.scalars(
1310
sqlalchemy

src/elections/urls.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import logging
21
import re
32
from datetime import datetime
43

@@ -7,15 +6,13 @@
76

87
import database
98
import elections
9+
import elections.crud
1010
import elections.tables
1111
from elections.tables import Election, NomineeApplication, NomineeInfo, election_types
1212
from officers.constants import OfficerPosition
13-
from officers.crud import get_active_officer_terms
1413
from permission.types import ElectionOfficer, WebsiteAdmin
1514
from utils.urls import is_logged_in
1615

17-
_logger = logging.getLogger(__name__)
18-
1916
router = APIRouter(
2017
prefix="/elections",
2118
tags=["elections"],
@@ -28,9 +25,9 @@ def _slugify(text: str) -> str:
2825
async def _validate_user(
2926
request: Request,
3027
db_session: database.DBSession,
31-
) -> tuple[bool, str, str]:
28+
) -> tuple[bool, str | None, str | None]:
3229
logged_in, session_id, computing_id = await is_logged_in(request, db_session)
33-
if not logged_in:
30+
if not logged_in or not computing_id:
3431
return False, None, None
3532

3633
# where valid means elections officer or website admin
@@ -53,7 +50,7 @@ async def list_elections(
5350
election_list = await elections.crud.get_all_elections(db_session)
5451
if election_list is None or len(election_list) == 0:
5552
raise HTTPException(
56-
status_code=status.HTTP_404_INTERNAL_SERVER_ERROR,
53+
status_code=status.HTTP_404_NOT_FOUND,
5754
detail="no elections found"
5855
)
5956

@@ -92,6 +89,11 @@ async def get_election(
9289

9390
election_json = election.private_details(current_time)
9491
all_nominations = await elections.crud.get_all_registrations_in_election(db_session, slugified_name)
92+
if not all_nominations:
93+
raise HTTPException(
94+
status_code=status.HTTP_404_NOT_FOUND,
95+
detail="no registrations found"
96+
)
9597
election_json["candidates"] = []
9698

9799
available_positions_list = election.available_positions.split(",")

src/utils/urls.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
from fastapi import HTTPException, Request
22

33
import auth
4+
import auth.crud
45
import database
56

67
# TODO: move other utils into this module
@@ -23,7 +24,7 @@ async def logged_in_or_raise(
2324
async def is_logged_in(
2425
request: Request,
2526
db_session: database.DBSession
26-
) -> tuple[str | None, str | None]:
27+
) -> tuple[bool, str | None, str | None]:
2728
"""gets the user's computing_id, or raises an exception if the current request is not logged in"""
2829
session_id = request.cookies.get("session_id", None)
2930
if session_id is None:

0 commit comments

Comments
 (0)