From 8b90e1b70abdb7a505ed41f19949a064dc01a076 Mon Sep 17 00:00:00 2001 From: Giorgio Ravera Date: Fri, 22 May 2026 13:55:33 +0200 Subject: [PATCH] Refactor: rename `notes` field to `description` and remove unused `setup_logging` import --- backend/db/aliases.py | 25 +++++++++++++------------ backend/db/config.py | 2 +- backend/db/db.py | 2 +- backend/db/hosts.py | 27 ++++++++++++++------------- backend/db/users.py | 4 ++-- backend/routes/aliases.py | 2 +- backend/routes/certificates.py | 2 +- backend/routes/dhcp.py | 2 +- backend/routes/dns.py | 2 +- backend/routes/health.py | 2 +- backend/routes/hosts.py | 5 +++-- backend/security.py | 2 +- backend/server.py | 2 +- backend/utils.py | 7 +++++++ frontend/aliases.html | 14 +++++++------- frontend/hosts.html | 17 ++++++++--------- frontend/index.html | 2 +- frontend/js/aliases.js | 8 ++++---- frontend/js/hosts.js | 17 ++++------------- 19 files changed, 72 insertions(+), 72 deletions(-) diff --git a/backend/db/aliases.py b/backend/db/aliases.py index 967ae67..c998643 100644 --- a/backend/db/aliases.py +++ b/backend/db/aliases.py @@ -8,6 +8,7 @@ from typing import Any, Dict, List, Optional # Import local modules from backend.db.db import get_db, register_init +from backend.utils import normalize # Import Logging from backend.log.log import get_logger @@ -33,8 +34,8 @@ def validate_data(data: Dict[str, Any]) -> Dict[str, Any]: if not target: raise ValueError("Field 'target' cannot be empty") - # Check note - note = data.get("note") + # Check Description + description = data.get("description") # Boolean normalization for DB (0/1) ssl_enabled = int(bool(data.get("ssl_enabled", 0))) @@ -44,9 +45,9 @@ def validate_data(data: Dict[str, Any]) -> Dict[str, Any]: visibility = v if v in (0, 1, 2) else 0 return { - "name": name, - "target": target, - "note": note, + "name": normalize(name), + "target": normalize(target), + "description": normalize(description), "ssl_enabled": ssl_enabled, "visibility": visibility, } @@ -90,13 +91,13 @@ def add_alias(data: Dict[str, Any]) -> int: try: cur = conn.execute( """ - INSERT INTO aliases (name, target, note, ssl_enabled, visibility) - VALUES (?, ?, ?, ?, ?) - """, + INSERT INTO aliases (name, target, description, ssl_enabled, visibility) + VALUES (?, ?, ?, ?, ?) + """, ( cleaned["name"], cleaned["target"], - cleaned["note"], + cleaned["description"], cleaned["ssl_enabled"], cleaned["visibility"], ), @@ -126,13 +127,13 @@ def update_alias(alias_id: int, data: Dict[str, Any]) -> bool: cur = conn.execute( """ UPDATE aliases - SET name=?, target=?, note=?, ssl_enabled=?, visibility=?, last_updated=CURRENT_TIMESTAMP + SET name=?, target=?, description=?, ssl_enabled=?, visibility=?, last_updated=CURRENT_TIMESTAMP WHERE id=? """, ( cleaned["name"], cleaned["target"], - cleaned["note"], + cleaned["description"], cleaned["ssl_enabled"], cleaned["visibility"], alias_id, @@ -179,7 +180,7 @@ def init_db_alias_table(cur: sqlite3.Cursor) -> None: id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL UNIQUE, target TEXT NOT NULL, - note TEXT, + description TEXT, ssl_enabled INTEGER NOT NULL DEFAULT 0, visibility INTEGER NOT NULL DEFAULT 0, last_updated TIMESTAMP DEFAULT CURRENT_TIMESTAMP diff --git a/backend/db/config.py b/backend/db/config.py index 8d877e4..8e292df 100644 --- a/backend/db/config.py +++ b/backend/db/config.py @@ -9,7 +9,7 @@ from backend.db.db import get_db, register_init # Import Settings & Logging from backend.settings.settings import settings -from backend.log.log import setup_logging, get_logger +from backend.log.log import get_logger # Logger initialization logger = get_logger(__name__) diff --git a/backend/db/db.py b/backend/db/db.py index 8697f14..54355f2 100644 --- a/backend/db/db.py +++ b/backend/db/db.py @@ -6,7 +6,7 @@ import sqlite3 # Import Settings & Logging from backend.settings.settings import settings -from backend.log.log import setup_logging, get_logger +from backend.log.log import get_logger # Logger initialization logger = get_logger(__name__) diff --git a/backend/db/hosts.py b/backend/db/hosts.py index 952f192..a9ff3ae 100644 --- a/backend/db/hosts.py +++ b/backend/db/hosts.py @@ -8,6 +8,7 @@ from typing import Any, Dict, List, Optional # Import local modules from backend.db.db import get_db, register_init +from backend.utils import normalize # Import Logging from backend.log.log import get_logger @@ -50,8 +51,8 @@ def validate_data(data: Dict[str, Any]) -> Dict[str, Any]: if mac and not MAC_RE.match(mac): raise ValueError(f"Invalid MAC address: {mac}") - # Check note - note = data.get("note") + # Check description + description = data.get("description") # Normalizzazione boolean per DB (0/1) ssl_enabled = int(bool(data.get("ssl_enabled", 0))) @@ -61,11 +62,11 @@ def validate_data(data: Dict[str, Any]) -> Dict[str, Any]: visibility = v if v in (0, 1, 2) else 0 return { - "name": name, - "ipv4": ipv4, - "ipv6": ipv6, - "mac": mac, - "note": note, + "name": normalize(name), + "ipv4": normalize(ipv4), + "ipv6": normalize(ipv6), + "mac": normalize(mac), + "description": normalize(description), "ssl_enabled": ssl_enabled, "visibility": visibility, } @@ -123,7 +124,7 @@ def add_host(data: Dict[str, Any]) -> int: try: cur = conn.execute( """ - INSERT INTO hosts (name, ipv4, ipv6, mac, note, ssl_enabled, visibility) + INSERT INTO hosts (name, ipv4, ipv6, mac, description, ssl_enabled, visibility) VALUES (?, ?, ?, ?, ?, ?, ?) """, ( @@ -131,7 +132,7 @@ def add_host(data: Dict[str, Any]) -> int: cleaned["ipv4"], cleaned["ipv6"], cleaned["mac"], - cleaned["note"], + cleaned["description"], cleaned["ssl_enabled"], cleaned["visibility"], ), @@ -161,7 +162,7 @@ def update_host(host_id: int, data: Dict[str, Any]) -> bool: cur = conn.execute( """ UPDATE hosts - SET name=?, ipv4=?, ipv6=?, mac=?, note=?, ssl_enabled=?, visibility=?, last_updated=CURRENT_TIMESTAMP + SET name=?, ipv4=?, ipv6=?, mac=?, description=?, ssl_enabled=?, visibility=?, last_updated=CURRENT_TIMESTAMP WHERE id=? """, ( @@ -169,7 +170,7 @@ def update_host(host_id: int, data: Dict[str, Any]) -> bool: cleaned["ipv4"], cleaned["ipv6"], cleaned["mac"], - cleaned["note"], + cleaned["description"], cleaned["ssl_enabled"], cleaned["visibility"], host_id, @@ -218,7 +219,7 @@ def init_db_hosts_table(cur: sqlite3.Cursor) -> None: ipv4 TEXT, ipv6 TEXT, mac TEXT, - note TEXT, + description TEXT, ssl_enabled INTEGER NOT NULL DEFAULT 0, visibility INTEGER NOT NULL DEFAULT 0, last_updated TIMESTAMP DEFAULT CURRENT_TIMESTAMP @@ -234,7 +235,7 @@ def init_db_hosts_table(cur: sqlite3.Cursor) -> None: id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, value TEXT NOT NULL, - note TEXT, + description TEXT, host_id INTEGER, FOREIGN KEY (host_id) REFERENCES hosts(id) ); diff --git a/backend/db/users.py b/backend/db/users.py index 1a116b4..87b9ba9 100644 --- a/backend/db/users.py +++ b/backend/db/users.py @@ -11,7 +11,7 @@ from backend.db.db import get_db, register_init # Import Settings & Logging from backend.settings.settings import settings -from backend.log.log import setup_logging, get_logger +from backend.log.log import get_logger # Logger initialization logger = get_logger(__name__) @@ -75,7 +75,7 @@ def init_db_users_table(cur): last_failed_at INTEGER, last_login_at INTEGER, password_changed_at INTEGER, - notes TEXT, + description TEXT, created_at INTEGER NOT NULL, updated_at INTEGER NOT NULL ); diff --git a/backend/routes/aliases.py b/backend/routes/aliases.py index 4720e2e..026282b 100644 --- a/backend/routes/aliases.py +++ b/backend/routes/aliases.py @@ -18,7 +18,7 @@ from backend.db.aliases import ( # Import Settings & Logging from backend.settings.settings import settings -from backend.log.log import setup_logging, get_logger +from backend.log.log import get_logger # Logger initialization logger = get_logger(__name__) diff --git a/backend/routes/certificates.py b/backend/routes/certificates.py index 22a34b0..a18e4d2 100644 --- a/backend/routes/certificates.py +++ b/backend/routes/certificates.py @@ -13,7 +13,7 @@ from backend.db.aliases import get_aliases_certificates # Import Settings & Logging from backend.settings.settings import settings -from backend.log.log import setup_logging, get_logger +from backend.log.log import get_logger # Logger initialization logger = get_logger(__name__) diff --git a/backend/routes/dhcp.py b/backend/routes/dhcp.py index a69fd22..08e561d 100644 --- a/backend/routes/dhcp.py +++ b/backend/routes/dhcp.py @@ -16,7 +16,7 @@ from backend.db.hosts import get_hosts # Import Settings & Logging from backend.settings.settings import settings -from backend.log.log import setup_logging, get_logger +from backend.log.log import get_logger # Logger initialization logger = get_logger(__name__) diff --git a/backend/routes/dns.py b/backend/routes/dns.py index 10aefe9..c93083f 100644 --- a/backend/routes/dns.py +++ b/backend/routes/dns.py @@ -16,7 +16,7 @@ from backend.db.aliases import get_aliases # Import Settings & Logging from backend.settings.settings import settings -from backend.log.log import setup_logging, get_logger +from backend.log.log import get_logger # Logger initialization logger = get_logger(__name__) diff --git a/backend/routes/health.py b/backend/routes/health.py index c357520..9de0de3 100644 --- a/backend/routes/health.py +++ b/backend/routes/health.py @@ -8,7 +8,7 @@ import os # Import Settings & Logging from backend.settings.settings import settings -from backend.log.log import setup_logging, get_logger +from backend.log.log import get_logger # Logger initialization logger = get_logger(__name__) diff --git a/backend/routes/hosts.py b/backend/routes/hosts.py index 74585bb..817e363 100644 --- a/backend/routes/hosts.py +++ b/backend/routes/hosts.py @@ -18,7 +18,7 @@ from backend.db.hosts import ( # Import Settings & Logging from backend.settings.settings import settings -from backend.log.log import setup_logging, get_logger +from backend.log.log import get_logger # Logger initialization logger = get_logger(__name__) @@ -47,6 +47,7 @@ def js_hosts(): 500: {"description": "Internal server error"}, }) def api_get_hosts(request: Request): + try: hosts = get_hosts() return hosts or [] @@ -91,7 +92,7 @@ def api_get_host(request: Request, host_id: int): }, }, ) - return host + return host or [] except HTTPException: raise diff --git a/backend/security.py b/backend/security.py index cd6f570..cf3aace 100644 --- a/backend/security.py +++ b/backend/security.py @@ -11,7 +11,7 @@ from backend.db.users import get_user_by_username # Import Settings & Logging from backend.settings.settings import settings -from backend.log.log import setup_logging, get_logger +from backend.log.log import get_logger # Logger initialization logger = get_logger(__name__) diff --git a/backend/server.py b/backend/server.py index d69eaf3..084c1c1 100644 --- a/backend/server.py +++ b/backend/server.py @@ -5,7 +5,7 @@ import uvicorn # Import Settings & Logging from backend.settings.settings import settings -from backend.log.log import setup_logging, get_logger +from backend.log.log import get_logger # Logger initialization logger = get_logger(__name__) diff --git a/backend/utils.py b/backend/utils.py index ced178b..ee4d46d 100644 --- a/backend/utils.py +++ b/backend/utils.py @@ -11,3 +11,10 @@ def load_hash(path: str): with open(path, "r") as f: return f.read().strip() return None + +# ----------------------------- +# Normalize string (strip and convert empty to None) +# ----------------------------- +def normalize(value): + return value.strip() if value and value.strip() else None + diff --git a/frontend/aliases.html b/frontend/aliases.html index db555cd..4141c6e 100644 --- a/frontend/aliases.html +++ b/frontend/aliases.html @@ -110,11 +110,11 @@ - - - - - + + + + + @@ -146,8 +146,8 @@
- - + +
diff --git a/frontend/hosts.html b/frontend/hosts.html index d8d61e0..5ec8c9c 100644 --- a/frontend/hosts.html +++ b/frontend/hosts.html @@ -110,13 +110,12 @@
Alias Target Note Options Actions Alias Target DescriptionOptions Actions
- - - - - - - + + + + + + @@ -158,8 +157,8 @@
- - + +
diff --git a/frontend/index.html b/frontend/index.html index f3e0022..8cea441 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -94,7 +94,7 @@
-
+

DHCP (Kea)

Pools, leases, reservations.

diff --git a/frontend/js/aliases.js b/frontend/js/aliases.js index fb8737a..b48ef6f 100644 --- a/frontend/js/aliases.js +++ b/frontend/js/aliases.js @@ -98,10 +98,10 @@ async function loadAliases() { tr.appendChild(td); } - // Note + // Description { const td = document.createElement("td"); - const val = (h.note ?? "").toString(); + const val = (h.description ?? "").toString(); td.textContent = val; if (val) td.setAttribute("data-value", val.toLowerCase()); tr.appendChild(td); @@ -271,7 +271,7 @@ async function editAlias(id) { // Pre-fill the form fields document.getElementById("aliasName").value = data.name ?? ""; document.getElementById("aliasTarget").value = data.target ?? ""; - document.getElementById("aliasNote").value = data.note ?? ""; + document.getElementById("aliasDescription").value = data.description ?? ""; document.getElementById("aliasSSL").checked = !!data.ssl_enabled; if (data.visibility == 0) { document.getElementById("aliasVisibilityLocal").checked = true; @@ -417,7 +417,7 @@ async function handleAddAliasSubmit(e) { const data = { name: document.getElementById('aliasName').value.trim(), target: document.getElementById('aliasTarget').value.trim(), - note: document.getElementById('aliasNote').value.trim(), + description: document.getElementById('aliasDescription').value.trim(), ssl_enabled: document.getElementById('aliasSSL').checked ? 1 : 0, visibility: Number( document.querySelector('input[name="aliasVisibility"]:checked')?.value ?? 0 diff --git a/frontend/js/hosts.js b/frontend/js/hosts.js index df7577b..3916346 100644 --- a/frontend/js/hosts.js +++ b/frontend/js/hosts.js @@ -98,15 +98,6 @@ async function loadHosts() { tr.appendChild(td); } - // IPv6 - { - const td = document.createElement("td"); - const raw = (h.ipv6 ?? "").toString().trim(); - td.textContent = raw; - if (raw) td.setAttribute("data-value", raw.toLowerCase()); - tr.appendChild(td); - } - // MAC { const td = document.createElement("td"); @@ -117,10 +108,10 @@ async function loadHosts() { tr.appendChild(td); } - // Note + // Description { const td = document.createElement("td"); - const val = (h.note ?? "").toString(); + const val = (h.description ?? "").toString(); td.textContent = val; if (val) td.setAttribute("data-value", val.toLowerCase()); tr.appendChild(td); @@ -292,7 +283,7 @@ async function editHost(id) { document.getElementById("hostIPv4").value = data.ipv4 ?? ""; document.getElementById("hostIPv6").value = data.ipv6 ?? ""; document.getElementById("hostMAC").value = data.mac ?? ""; - document.getElementById("hostNote").value = data.note ?? ""; + document.getElementById("hostDescription").value = data.description ?? ""; document.getElementById("hostSSL").checked = !!data.ssl_enabled; if (data.visibility == 0) { document.getElementById("hostVisibilityLocal").checked = true; @@ -450,7 +441,7 @@ async function handleAddHostSubmit(e) { ipv4: document.getElementById('hostIPv4').value.trim(), ipv6: document.getElementById('hostIPv6').value.trim(), mac: document.getElementById('hostMAC').value.trim(), - note: document.getElementById('hostNote').value.trim(), + description: document.getElementById('hostDescription').value.trim(), ssl_enabled: document.getElementById('hostSSL').checked ? 1 : 0, visibility: Number( document.querySelector('input[name="hostVisibility"]:checked')?.value ?? 0 -- 2.47.3
Hostname IPv4 IPv6 MAC Note Options Actions Hostname IP Address MAC AddressDescriptionOptions Actions