Module realm_api.api.game.depends

FastAPI checks for use in Depends()

Functions

async def user_in_guild(guild_id: int = Path(PydanticUndefined),
session: UserSession = Depends(require_login),
db: sqlmodel.ext.asyncio.session.AsyncSession = Depends(get_session))
Expand source code
async def user_in_guild(
    guild_id: int = Path(),
    session: UserSession = Depends(require_login),
    db: AsyncSession = Depends(get_session),
):
    if not (
        await db.exec(
            select(1)
            .select_from(GamePlayer, Game)
            .where(
                Game.guild_id == str(guild_id),
                GamePlayer.game_id == Game.id,
                GamePlayer.player_id == session.user_id,
            )
        )
    ).one_or_none():
        raise HTTPException(status.HTTP_403_FORBIDDEN)