🐛 Fixed some small bugs in results and on the account settings page
This commit is contained in:
@@ -12,14 +12,14 @@ from classquiz.db.models import User, GameResults
|
||||
router = APIRouter()
|
||||
|
||||
|
||||
@router.get("/list", response_model=list[GameResults])
|
||||
async def list_game_results(user: User = Depends(get_current_user)):
|
||||
results = await GameResults.objects.all(user=user.id)
|
||||
@router.get("/list")
|
||||
async def list_game_results(user: User = Depends(get_current_user)) -> list[GameResults]:
|
||||
results = await GameResults.objects.select_related(GameResults.quiz).all(user=user.id)
|
||||
return results
|
||||
|
||||
|
||||
@router.get("/list/{quiz_id}", response_model=list[GameResults])
|
||||
async def get_results_by_quiz(quiz_id: UUID, user: User = Depends(get_current_user)):
|
||||
@router.get("/list/{quiz_id}")
|
||||
async def get_results_by_quiz(quiz_id: UUID, user: User = Depends(get_current_user)) -> list[GameResults]:
|
||||
res = await GameResults.objects.all(user=user.id, quiz=quiz_id)
|
||||
if res is None:
|
||||
raise HTTPException(status_code=404, detail="Game Result not found")
|
||||
@@ -27,9 +27,9 @@ async def get_results_by_quiz(quiz_id: UUID, user: User = Depends(get_current_us
|
||||
return res
|
||||
|
||||
|
||||
@router.get("/{game_id}", response_model=GameResults)
|
||||
async def get_game_result(game_id: UUID, user: User = Depends(get_current_user)):
|
||||
res = await GameResults.objects.get_or_none(user=user.id, id=game_id)
|
||||
@router.get("/{game_id}")
|
||||
async def get_game_result(game_id: UUID, user: User = Depends(get_current_user)) -> GameResults:
|
||||
res = await GameResults.objects.select_related(GameResults.quiz).get_or_none(user=user.id, id=game_id)
|
||||
if res is None:
|
||||
raise HTTPException(status_code=404, detail="Game Result not found")
|
||||
else:
|
||||
@@ -40,8 +40,8 @@ class _SetNoteInput(BaseModel):
|
||||
note: str
|
||||
|
||||
|
||||
@router.post("/set_note", response_model=GameResults)
|
||||
async def set_note(id: UUID, data: _SetNoteInput, user: User = Depends(get_current_user)):
|
||||
@router.post("/set_note")
|
||||
async def set_note(id: UUID, data: _SetNoteInput, user: User = Depends(get_current_user)) -> GameResults:
|
||||
res = await GameResults.objects.get_or_none(user=user.id, id=id)
|
||||
if res is None:
|
||||
raise HTTPException(status_code=404, detail="Game Result not found")
|
||||
|
||||
@@ -254,7 +254,8 @@
|
||||
"delete_this_session": "Delete this session",
|
||||
"this_session?": "This session?",
|
||||
"change_avatar": "Change avatar",
|
||||
"security_settings": "Security-Settings"
|
||||
"security_settings": "Security-Settings",
|
||||
"add_api_key": "Add API key"
|
||||
},
|
||||
"explore_page": {
|
||||
"made_by": "Made by",
|
||||
@@ -320,7 +321,10 @@
|
||||
"no_results_so_far": "No results saved so far...",
|
||||
"quiz_title": "Quiz Title",
|
||||
"date_played": "Date Played",
|
||||
"player_count": "Player count"
|
||||
"player_count": "Player count",
|
||||
"general_overview": {
|
||||
"sentence": "The quiz \"{{title}}\", which was played on {{date}} had {{player_count}} players with an average score of {{average_score}}."
|
||||
}
|
||||
},
|
||||
"result_page": {
|
||||
"player_name": "Player name",
|
||||
@@ -328,7 +332,8 @@
|
||||
"average_score": "Average score: {{average_score}}",
|
||||
"correct_answer": "{{count}} correct answer",
|
||||
"correct_answer_plural": "{{count}} correct answers",
|
||||
"time_taken": "Time taken"
|
||||
"time_taken": "Time taken",
|
||||
"player_score": "Player Score"
|
||||
},
|
||||
"navbar": {
|
||||
"donate": "Donate"
|
||||
|
||||
@@ -221,20 +221,25 @@
|
||||
</div>
|
||||
</form>
|
||||
<div>
|
||||
<button on:click={add_api_key}>{$t('settings_page.security_settings')}</button>
|
||||
<div class="w-fit">
|
||||
<BrownButton on:click={add_api_key}
|
||||
>{$t('settings_page.add_api_key')}</BrownButton
|
||||
>
|
||||
</div>
|
||||
{#await api_keys}
|
||||
<Spinner />
|
||||
{:then keys}
|
||||
{#each keys as key}
|
||||
<div>
|
||||
{key.key}
|
||||
<button
|
||||
on:click={() => {
|
||||
delete_api_key(key.key);
|
||||
}}
|
||||
class="admin-button"
|
||||
>{$t('words.delete')}
|
||||
</button>
|
||||
<div class="inline-block">
|
||||
<BrownButton
|
||||
on:click={() => {
|
||||
delete_api_key(key.key);
|
||||
}}
|
||||
>{$t('words.delete')}
|
||||
</BrownButton>
|
||||
</div>
|
||||
</div>
|
||||
{/each}
|
||||
{/await}
|
||||
|
||||
Reference in New Issue
Block a user