@app.delete("/user/{user_uuid}/deployment/{deployment_uuid}/{auth_token_uuid}")
async def delete_deployment_auth_token(
user_uuid: str,
deployment_uuid: str,
auth_token_uuid: str,
) -> DeploymentAuthTokenInfo:
user = await DefaultDB.frontend().get_user(user_uuid=user_uuid)
deployment = await DefaultDB.backend().find_model(model_uuid=deployment_uuid)
if user["uuid"] != deployment["user_uuid"]:
raise HTTPException( # pragma: no cover
status_code=403, detail="User does not have access to this deployment"
)
auth_token = await DefaultDB.backend().delete_auth_token(
auth_token_uuid=auth_token_uuid,
deployment_uuid=deployment_uuid,
user_uuid=user_uuid,
)
return DeploymentAuthTokenInfo(
uuid=auth_token["uuid"], # type: ignore[union-attr]
name=auth_token["name"], # type: ignore[union-attr]
expiry=auth_token["expiry"], # type: ignore[union-attr]
)