24 lines
683 B
Python
24 lines
683 B
Python
|
|
"""
|
||
|
|
Delt autorisasjonssjekk: er brukeren rostret på et gitt lag?
|
||
|
|
|
||
|
|
Brukt av både matches.py (deltaker/lås-skriving) og scoring.py (score-skriving)
|
||
|
|
— se plan for begrunnelsen (bevisst IKKE kapteins-only ennå, FEATURE_BACKLOG).
|
||
|
|
"""
|
||
|
|
|
||
|
|
from asyncpg import Connection
|
||
|
|
|
||
|
|
|
||
|
|
async def user_may_act_for_team(conn: Connection, team_id: str, user_id: str) -> bool:
|
||
|
|
"""Brukeren har en team_roster-rad på laget."""
|
||
|
|
return await conn.fetchval(
|
||
|
|
"""
|
||
|
|
SELECT EXISTS (
|
||
|
|
SELECT 1 FROM team_roster tr
|
||
|
|
JOIN player p ON p.id = tr.player_id
|
||
|
|
WHERE tr.team_id = $1 AND p.user_id = $2
|
||
|
|
)
|
||
|
|
""",
|
||
|
|
team_id,
|
||
|
|
user_id,
|
||
|
|
)
|