This commit is contained in:
parent 06a5a758a3
commit 58fa7d1ee6
19 changed files with 567 additions and 377 deletions

View file

@ -9,7 +9,8 @@ router = APIRouter()
class RuleNumbers(BaseModel):
numbers: List[int] = Field(..., description="Список номеров правил для удаления")
numbers: List[int] = Field(
..., description="Список номеров правил для удаления")
@router.get("/rules", response_model=UFWRulesResponse)
@ -47,7 +48,8 @@ async def enable_ufw():
if success:
return {"status": "success", "message": "UFW успешно включен"}
else:
raise HTTPException(status_code=500, detail="Не удалось включить UFW")
raise HTTPException(status_code=500,
detail="Не удалось включить UFW")
except Exception as e:
raise HTTPException(status_code=500, detail=f"Error: {str(e)}")
@ -63,7 +65,8 @@ async def disable_ufw():
if success:
return {"status": "success", "message": "UFW успешно выключен"}
else:
raise HTTPException(status_code=500, detail="Не удалось выключить UFW")
raise HTTPException(status_code=500,
detail="Не удалось выключить UFW")
except Exception as e:
raise HTTPException(status_code=500, detail=f"Error: {str(e)}")
@ -85,11 +88,13 @@ async def add_ufw_in_rules(rules: List[UFWRule]):
result = ufw_service.add_rules(rules)
if result["success"]:
successful_rules = len([r for r in result["results"] if r["success"]])
successful_rules = len(
[r for r in result["results"] if r["success"]])
total_rules = len(result["results"])
return {
"status": "success",
"message": f"Добавлено {successful_rules} из {total_rules} правил",
"message":
f"Добавлено {successful_rules} из {total_rules} правил",
"details": result,
}
else:
@ -124,8 +129,8 @@ async def add_ufw_out_rules(rules: List[UFWRule]):
}
else:
raise HTTPException(
status_code=500, detail="Не удалось добавить исходящие правила UFW"
)
status_code=500,
detail="Не удалось добавить исходящие правила UFW")
except Exception as e:
raise HTTPException(status_code=500, detail=f"Error: {str(e)}")
@ -141,7 +146,8 @@ async def delete_ufw_rules(rule_numbers: RuleNumbers):
if result["success"]:
return {
"status": "success",
"message": f"Удалено {result['successful']} из {result['total']} правил",
"message":
f"Удалено {result['successful']} из {result['total']} правил",
"details": result,
}
else: