mirror of
https://github.com/evroon/bracket.git
synced 2026-06-12 10:44:33 -04:00
Raise 404 on tournament not found (#474)
This commit is contained in:
@@ -62,9 +62,14 @@ async def get_tournaments(
|
||||
raise unauthorized_exception
|
||||
|
||||
case _, str(endpoint_name):
|
||||
return TournamentsResponse(
|
||||
data=[await sql_get_tournament_by_endpoint_name(endpoint_name)]
|
||||
)
|
||||
tournament = await sql_get_tournament_by_endpoint_name(endpoint_name)
|
||||
if tournament is None:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_404_NOT_FOUND,
|
||||
detail="Can't find this tournament",
|
||||
headers={"WWW-Authenticate": "Bearer"},
|
||||
)
|
||||
return TournamentsResponse(data=[tournament])
|
||||
|
||||
case _, _ if isinstance(user, UserPublic):
|
||||
user_club_ids = await get_which_clubs_has_user_access_to(assert_some(user.id))
|
||||
|
||||
@@ -26,7 +26,7 @@ async def sql_get_tournament(tournament_id: int) -> Tournament:
|
||||
return Tournament.model_validate(dict(result._mapping))
|
||||
|
||||
|
||||
async def sql_get_tournament_by_endpoint_name(endpoint_name: str) -> Tournament:
|
||||
async def sql_get_tournament_by_endpoint_name(endpoint_name: str) -> Tournament | None:
|
||||
query = """
|
||||
SELECT *
|
||||
FROM tournaments
|
||||
@@ -34,8 +34,7 @@ async def sql_get_tournament_by_endpoint_name(endpoint_name: str) -> Tournament:
|
||||
AND dashboard_public IS TRUE
|
||||
"""
|
||||
result = await database.fetch_one(query=query, values={"endpoint_name": endpoint_name})
|
||||
assert result is not None
|
||||
return Tournament.model_validate(dict(result._mapping))
|
||||
return Tournament.model_validate(result) if result is not None else None
|
||||
|
||||
|
||||
async def sql_get_tournaments(
|
||||
|
||||
Reference in New Issue
Block a user