mirror of
https://github.com/jokob-sk/NetAlertX.git
synced 2026-04-02 00:02:19 -07:00
feat: authoritative plugin fields
Signed-off-by: jokob-sk <jokob.sk@gmail.com>
This commit is contained in:
@@ -92,11 +92,11 @@ class Device(ObjectType):
|
||||
devReqNicsOnline = Int(description="Required NICs online flag")
|
||||
devMacSource = String(description="Source tracking for devMac (USER, LOCKED, NEWDEV, or plugin prefix)")
|
||||
devNameSource = String(description="Source tracking for devName (USER, LOCKED, NEWDEV, or plugin prefix)")
|
||||
devFqdnSource = String(description="Source tracking for devFQDN (USER, LOCKED, NEWDEV, or plugin prefix)")
|
||||
devLastIpSource = String(description="Source tracking for devLastIP (USER, LOCKED, NEWDEV, or plugin prefix)")
|
||||
devFQDNSource = String(description="Source tracking for devFQDN (USER, LOCKED, NEWDEV, or plugin prefix)")
|
||||
devLastIPSource = String(description="Source tracking for devLastIP (USER, LOCKED, NEWDEV, or plugin prefix)")
|
||||
devVendorSource = String(description="Source tracking for devVendor (USER, LOCKED, NEWDEV, or plugin prefix)")
|
||||
devSsidSource = String(description="Source tracking for devSSID (USER, LOCKED, NEWDEV, or plugin prefix)")
|
||||
devParentMacSource = String(description="Source tracking for devParentMAC (USER, LOCKED, NEWDEV, or plugin prefix)")
|
||||
devSSIDSource = String(description="Source tracking for devSSID (USER, LOCKED, NEWDEV, or plugin prefix)")
|
||||
devParentMACSource = String(description="Source tracking for devParentMAC (USER, LOCKED, NEWDEV, or plugin prefix)")
|
||||
devParentPortSource = String(description="Source tracking for devParentPort (USER, LOCKED, NEWDEV, or plugin prefix)")
|
||||
devParentRelTypeSource = String(description="Source tracking for devParentRelType (USER, LOCKED, NEWDEV, or plugin prefix)")
|
||||
devVlanSource = String(description="Source tracking for devVlan")
|
||||
|
||||
@@ -147,11 +147,11 @@ class DeviceInfo(BaseModel):
|
||||
devStatus: Optional[str] = Field(None, description="Online/Offline status")
|
||||
devMacSource: Optional[str] = Field(None, description="Source of devMac (USER, LOCKED, or plugin prefix)")
|
||||
devNameSource: Optional[str] = Field(None, description="Source of devName")
|
||||
devFqdnSource: Optional[str] = Field(None, description="Source of devFQDN")
|
||||
devLastIpSource: Optional[str] = Field(None, description="Source of devLastIP")
|
||||
devFQDNSource: Optional[str] = Field(None, description="Source of devFQDN")
|
||||
devLastIPSource: Optional[str] = Field(None, description="Source of devLastIP")
|
||||
devVendorSource: Optional[str] = Field(None, description="Source of devVendor")
|
||||
devSsidSource: Optional[str] = Field(None, description="Source of devSSID")
|
||||
devParentMacSource: Optional[str] = Field(None, description="Source of devParentMAC")
|
||||
devSSIDSource: Optional[str] = Field(None, description="Source of devSSID")
|
||||
devParentMACSource: Optional[str] = Field(None, description="Source of devParentMAC")
|
||||
devParentPortSource: Optional[str] = Field(None, description="Source of devParentPort")
|
||||
devParentRelTypeSource: Optional[str] = Field(None, description="Source of devParentRelType")
|
||||
devVlanSource: Optional[str] = Field(None, description="Source of devVlan")
|
||||
|
||||
@@ -96,11 +96,11 @@ sql_devices_all = """
|
||||
IFNULL(devReqNicsOnline, '') AS devReqNicsOnline,
|
||||
IFNULL(devMacSource, '') AS devMacSource,
|
||||
IFNULL(devNameSource, '') AS devNameSource,
|
||||
IFNULL(devFqdnSource, '') AS devFqdnSource,
|
||||
IFNULL(devLastIpSource, '') AS devLastIpSource,
|
||||
IFNULL(devFQDNSource, '') AS devFQDNSource,
|
||||
IFNULL(devLastIPSource, '') AS devLastIPSource,
|
||||
IFNULL(devVendorSource, '') AS devVendorSource,
|
||||
IFNULL(devSsidSource, '') AS devSsidSource,
|
||||
IFNULL(devParentMacSource, '') AS devParentMacSource,
|
||||
IFNULL(devSSIDSource, '') AS devSSIDSource,
|
||||
IFNULL(devParentMACSource, '') AS devParentMACSource,
|
||||
IFNULL(devParentPortSource, '') AS devParentPortSource,
|
||||
IFNULL(devParentRelTypeSource, '') AS devParentRelTypeSource,
|
||||
IFNULL(devVlanSource, '') AS devVlanSource,
|
||||
|
||||
@@ -24,11 +24,11 @@ from db.db_helper import row_to_json # noqa: E402 [flake8 lint suppression]
|
||||
FIELD_SOURCE_MAP = {
|
||||
"devMac": "devMacSource",
|
||||
"devName": "devNameSource",
|
||||
"devFQDN": "devFqdnSource",
|
||||
"devLastIP": "devLastIpSource",
|
||||
"devFQDN": "devFQDNSource",
|
||||
"devLastIP": "devLastIPSource",
|
||||
"devVendor": "devVendorSource",
|
||||
"devSSID": "devSsidSource",
|
||||
"devParentMAC": "devParentMacSource",
|
||||
"devSSID": "devSSIDSource",
|
||||
"devParentMAC": "devParentMACSource",
|
||||
"devParentPort": "devParentPortSource",
|
||||
"devParentRelType": "devParentRelTypeSource",
|
||||
"devVlan": "devVlanSource",
|
||||
|
||||
@@ -50,11 +50,11 @@ EXPECTED_DEVICES_COLUMNS = [
|
||||
"devSourcePlugin",
|
||||
"devMacSource",
|
||||
"devNameSource",
|
||||
"devFqdnSource",
|
||||
"devLastIpSource",
|
||||
"devFQDNSource",
|
||||
"devLastIPSource",
|
||||
"devVendorSource",
|
||||
"devSsidSource",
|
||||
"devParentMacSource",
|
||||
"devSSIDSource",
|
||||
"devParentMACSource",
|
||||
"devParentPortSource",
|
||||
"devParentRelTypeSource",
|
||||
"devVlanSource",
|
||||
|
||||
@@ -115,7 +115,7 @@ FIELD_SPECS = {
|
||||
# ==========================================================
|
||||
"devLastIP": {
|
||||
"scan_col": "cur_IP",
|
||||
"source_col": "devLastIpSource",
|
||||
"source_col": "devLastIPSource",
|
||||
"empty_values": ["", "null", "(unknown)", "(Unknown)"],
|
||||
"priority": ["ARPSCAN", "NEWDEV", "N/A"],
|
||||
"default_value": "0.0.0.0",
|
||||
@@ -177,7 +177,7 @@ FIELD_SPECS = {
|
||||
# ==========================================================
|
||||
"devParentMAC": {
|
||||
"scan_col": "cur_NetworkNodeMAC",
|
||||
"source_col": "devParentMacSource",
|
||||
"source_col": "devParentMACSource",
|
||||
"empty_values": ["", "null"],
|
||||
"priority": ["SNMPDSC", "UNIFIAPI", "UNFIMP", "NEWDEV", "N/A"],
|
||||
},
|
||||
@@ -801,11 +801,11 @@ def create_new_devices(db):
|
||||
devSourcePlugin,
|
||||
devMacSource,
|
||||
devNameSource,
|
||||
devFqdnSource,
|
||||
devLastIpSource,
|
||||
devFQDNSource,
|
||||
devLastIPSource,
|
||||
devVendorSource,
|
||||
devSsidSource,
|
||||
devParentMacSource,
|
||||
devSSIDSource,
|
||||
devParentMACSource,
|
||||
devParentPortSource,
|
||||
devParentRelTypeSource,
|
||||
devVlanSource,
|
||||
@@ -1031,7 +1031,7 @@ def update_devices_names(pm):
|
||||
"devName", "devNameSource", plugin_settings
|
||||
)
|
||||
fqdn_clause = get_overwrite_sql_clause(
|
||||
"devFQDN", "devFqdnSource", plugin_settings
|
||||
"devFQDN", "devFQDNSource", plugin_settings
|
||||
)
|
||||
|
||||
sql.executemany(
|
||||
@@ -1048,9 +1048,9 @@ def update_devices_names(pm):
|
||||
WHEN {fqdn_clause} THEN ?
|
||||
ELSE devFQDN
|
||||
END,
|
||||
devFqdnSource = CASE
|
||||
devFQDNSource = CASE
|
||||
WHEN {fqdn_clause} THEN ?
|
||||
ELSE devFqdnSource
|
||||
ELSE devFQDNSource
|
||||
END
|
||||
WHERE devMac = ?""",
|
||||
plugin_records,
|
||||
@@ -1079,7 +1079,7 @@ def update_devices_names(pm):
|
||||
for plugin_label, plugin_records in records_by_plugin.items():
|
||||
plugin_settings = get_plugin_authoritative_settings(plugin_label)
|
||||
fqdn_clause = get_overwrite_sql_clause(
|
||||
"devFQDN", "devFqdnSource", plugin_settings
|
||||
"devFQDN", "devFQDNSource", plugin_settings
|
||||
)
|
||||
|
||||
# Apply FQDN-only updates
|
||||
@@ -1089,9 +1089,9 @@ def update_devices_names(pm):
|
||||
WHEN {fqdn_clause} THEN ?
|
||||
ELSE devFQDN
|
||||
END,
|
||||
devFqdnSource = CASE
|
||||
devFQDNSource = CASE
|
||||
WHEN {fqdn_clause} THEN ?
|
||||
ELSE devFqdnSource
|
||||
ELSE devFQDNSource
|
||||
END
|
||||
WHERE devMac = ?""",
|
||||
plugin_records,
|
||||
|
||||
Reference in New Issue
Block a user