откат

This commit is contained in:
parent e091465e60
commit 40cd2b5b28
2 changed files with 17 additions and 15 deletions

View file

@ -1,5 +1,6 @@
from fastapi import APIRouter, HTTPException, Body from fastapi import APIRouter, HTTPException
from models.subnet import SubnetScanResult, SubnetScanRequest from typing import List, Dict
from models.subnet import SubnetScanResult
from models.wifi import WifiScanResult from models.wifi import WifiScanResult
from models.request import NoteRequest, WifiConnectRequest, WifiDisconnectRequest from models.request import NoteRequest, WifiConnectRequest, WifiDisconnectRequest
from services.subnet_service import SubnetService from services.subnet_service import SubnetService
@ -9,16 +10,17 @@ from services.connect_service import WifiConnectionService
router = APIRouter() router = APIRouter()
@router.get("/devices", response_model=SubnetScanResult) @router.get("/devices", response_model=SubnetScanResult)
def scan_subnet(request: SubnetScanRequest = Body(...)): def scan_subnet(subnet: str = "192.168.1.0/24", ports: List[int] = None):
"""Сканирует локальную подсеть и возвращает данные об устройствах. """Сканирует локальную подсеть и возвращает данные об устройствах.
Выполняет сканирование указанной подсети для обнаружения активных устройств Выполняет сканирование указанной подсети для обнаружения активных устройств
с возможностью проверки указанных портов. с возможностью проверки указанных портов.
Args: Args:
request (SubnetScanResult): Параметры для сканирования подсети. subnet (str, optional): Адрес подсети в формате CIDR (например, "192.168.1.0/24").
- subnet (str, optional): Подсеть для сканирования (например "192.168.1.0/24"). По умолчанию "192.168.1.0/24".
По умолчанию, если subnet пуст, то сканируется подсеть "192.168.1.0/24". ports (List[int], optional): Список портов для сканирования. По умолчанию None.
Returns: Returns:
SubnetScanResult: Объект с результатами сканирования (устройства и их данные). SubnetScanResult: Объект с результатами сканирования (устройства и их данные).
@ -27,7 +29,7 @@ def scan_subnet(request: SubnetScanRequest = Body(...)):
""" """
try: try:
subnet_service = SubnetService() subnet_service = SubnetService()
result = subnet_service.scan_subnet(request.subnet) result = subnet_service.scan_subnet(subnet, ports)
return result return result
except Exception as e: except Exception as e:
raise HTTPException(status_code=500, detail=f"Ошибка сканирования: {str(e)}") raise HTTPException(status_code=500, detail=f"Ошибка сканирования: {str(e)}")

View file

@ -37,11 +37,11 @@ class SubnetScanResult(BaseModel):
devices: List[Device] = [] devices: List[Device] = []
class SubnetScanRequest(BaseModel): #class SubnetScanRequest(BaseModel):
""" # """
Параметры для сканирования подсети # Параметры для сканирования подсети
#
Атрибуты: # Атрибуты:
subnet (str): Подсеть для сканирования (например 192.168.1.0/24) # subnet (str): Подсеть для сканирования (например 192.168.1.0/24)
""" # """
subnet: Optional[str] = "192.168.1.0/24" # subnet: Optional[str] = "192.168.1.0/24"