let admin disable players
This commit is contained in:
@@ -110,7 +110,7 @@ class DisablePlayerRequest(BaseModel):
|
|||||||
player_id: int
|
player_id: int
|
||||||
|
|
||||||
|
|
||||||
def disable_player(
|
def disable_player_team(
|
||||||
r: DisablePlayerRequest,
|
r: DisablePlayerRequest,
|
||||||
request: Annotated[TeamScopedRequest, Depends(verify_team_scope)],
|
request: Annotated[TeamScopedRequest, Depends(verify_team_scope)],
|
||||||
):
|
):
|
||||||
@@ -135,6 +135,21 @@ def disable_player(
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def disable_player(r: DisablePlayerRequest):
|
||||||
|
with Session(engine) as session:
|
||||||
|
player = session.exec(select(P).where(P.id == r.player_id)).one_or_none()
|
||||||
|
if player:
|
||||||
|
player.disabled = True
|
||||||
|
session.add(player)
|
||||||
|
session.commit()
|
||||||
|
return PlainTextResponse(f"disabled {player.display_name}")
|
||||||
|
else:
|
||||||
|
raise HTTPException(
|
||||||
|
status_code=status.HTTP_404_NOT_FOUND,
|
||||||
|
detail="no such player found in your team",
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def add_player_to_team(player_id: int, team_id: int):
|
def add_player_to_team(player_id: int, team_id: int):
|
||||||
with Session(engine) as session:
|
with Session(engine) as session:
|
||||||
player = session.exec(select(P).where(P.id == player_id)).one()
|
player = session.exec(select(P).where(P.id == player_id)).one()
|
||||||
@@ -226,7 +241,7 @@ player_router.add_api_route(
|
|||||||
)
|
)
|
||||||
player_router.add_api_route(
|
player_router.add_api_route(
|
||||||
"/{team_id}",
|
"/{team_id}",
|
||||||
endpoint=disable_player,
|
endpoint=disable_player_team,
|
||||||
methods=["DELETE"],
|
methods=["DELETE"],
|
||||||
)
|
)
|
||||||
player_router.add_api_route(
|
player_router.add_api_route(
|
||||||
@@ -246,6 +261,12 @@ player_router.add_api_route(
|
|||||||
methods=["GET"],
|
methods=["GET"],
|
||||||
dependencies=[Security(get_current_active_user, scopes=["admin"])],
|
dependencies=[Security(get_current_active_user, scopes=["admin"])],
|
||||||
)
|
)
|
||||||
|
player_router.add_api_route(
|
||||||
|
"/disable/{player_id}",
|
||||||
|
endpoint=disable_player,
|
||||||
|
methods=["GET"],
|
||||||
|
dependencies=[Security(get_current_active_user, scopes=["admin"])],
|
||||||
|
)
|
||||||
player_router.add_api_route("/me", endpoint=read_player_me, methods=["GET"])
|
player_router.add_api_route("/me", endpoint=read_player_me, methods=["GET"])
|
||||||
player_router.add_api_route("/me/teams", endpoint=read_teams_me, methods=["GET"])
|
player_router.add_api_route("/me/teams", endpoint=read_teams_me, methods=["GET"])
|
||||||
player_router.add_api_route(
|
player_router.add_api_route(
|
||||||
|
|||||||
Reference in New Issue
Block a user