logs in swos
This commit is contained in:
@@ -6,6 +6,7 @@ import paramiko
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
from app.models.router import Router
|
||||
from app.services.log_service import log_service
|
||||
from app.services.swos_beta_service import swos_beta_service
|
||||
|
||||
|
||||
@@ -162,9 +163,37 @@ class RouterService:
|
||||
db.refresh(router)
|
||||
return result
|
||||
|
||||
def _device_label(self, router: Router) -> str:
|
||||
platform = 'SwitchOS' if router.device_type == 'switchos' else 'RouterOS'
|
||||
return f'{platform} device {router.name}'
|
||||
|
||||
def _build_connection_log_message(self, router: Router, result: dict) -> str:
|
||||
device_label = self._device_label(router)
|
||||
transport = result.get('transport') or 'unknown transport'
|
||||
auth_mode = result.get('auth_mode')
|
||||
http_status = result.get('http_status')
|
||||
backup_available = result.get('backup_available')
|
||||
|
||||
details = [f'via {transport}']
|
||||
if auth_mode:
|
||||
details.append(f'auth={auth_mode}')
|
||||
if http_status:
|
||||
details.append(f'http={http_status}')
|
||||
if backup_available is not None:
|
||||
details.append(f'backup_available={"yes" if backup_available else "no"}')
|
||||
|
||||
detail_suffix = f' ({", ".join(details)})' if details else ''
|
||||
if result.get('success'):
|
||||
return f'Connection test OK for {device_label}{detail_suffix}'
|
||||
|
||||
error = result.get('error') or 'Unknown error'
|
||||
return f'Connection test FAILED for {device_label}{detail_suffix}: {error}'
|
||||
|
||||
def test_connection(self, db: Session, router: Router, global_settings):
|
||||
result = self.probe_connection(router, global_settings.global_ssh_key, global_settings)
|
||||
return self._store_connection_result(db, router, result)
|
||||
stored_result = self._store_connection_result(db, router, result)
|
||||
log_service.add(db, self._build_connection_log_message(router, stored_result))
|
||||
return stored_result
|
||||
|
||||
|
||||
router_service = RouterService()
|
||||
|
||||
Reference in New Issue
Block a user