From a0561b20160cda871804b774c0ad394377278071 Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Sat, 29 Mar 2025 17:03:59 +1100 Subject: [PATCH] wf work --- docs/DATABASE.md | 45 +++++++++++- docs/WORKFLOWS.md | 116 +++++++++++++++++++++++++++++++ docs/img/WORKFLOWS/workflows.png | Bin 0 -> 91194 bytes front/css/app.css | 51 ++++++++++++-- front/workflowsCore.php | 76 ++++++++++++++------ mkdocs.yml | 1 + test/workflows.json | 6 +- 7 files changed, 264 insertions(+), 31 deletions(-) create mode 100755 docs/WORKFLOWS.md create mode 100755 docs/img/WORKFLOWS/workflows.png diff --git a/docs/DATABASE.md b/docs/DATABASE.md index 1720a1df..08860990 100755 --- a/docs/DATABASE.md +++ b/docs/DATABASE.md @@ -5,7 +5,50 @@ The MAC address is used as a foreign key in most cases. -## 🔍Tables overview +## Devices database table + +| Field Name | Description | +|-------------------------|-------------| +| `devMac` | MAC address of the device. | +| `devName` | Name of the device. | +| `devOwner` | Owner of the device. | +| `devType` | Type of the device (e.g., phone, laptop, etc.). If set to a network type (e.g.: switch), it will become selectable as a Network Parent Node | +| `devVendor` | Vendor/manufacturer of the device. | +| `devFavorite` | Whether the device is marked as a favorite. | +| `devGroup` | Group the device belongs to. | +| `devComments` | User comments or notes about the device. | +| `devFirstConnection` | Timestamp of the device's first connection. | +| `devLastConnection` | Timestamp of the device's last connection. | +| `devLastIP` | Last known IP address of the device. | +| `devStaticIP` | Whether the device has a static IP address. | +| `devScan` | Whether the device should be scanned. | +| `devLogEvents` | Whether events related to the device should be logged. | +| `devAlertEvents` | Whether alerts should be generated for events. | +| `devAlertDown` | Whether an alert should be sent when the device goes down. | +| `devSkipRepeated` | Whether to skip repeated alerts for this device. | +| `devLastNotification` | Timestamp of the last notification sent for this device. | +| `devPresentLastScan` | Whether the device was present during the last scan. | +| `devIsNew` | Whether the device is marked as new. | +| `devLocation` | Physical or logical location of the device. | +| `devIsArchived` | Whether the device is archived. | +| `devParentMAC` | MAC address of the parent device (if applicable). | +| `devParentPort` | Port of the parent device to which this device is connected. | +| `devIcon` | Icon representing the device. | +| `devGUID` | Unique identifier for the device. | +| `devSite` | Site or location where the device is registered. | +| `devSSID` | SSID of the Wi-Fi network the device is connected to. | +| `devSyncHubNode` | The NetAlertX node ID used for synchronization between NetAlertX instances. | +| `devSourcePlugin` | Source plugin that discovered the device. | + + +To understand how values of these fields influuence application behavior, such as Notifications or Network topology, see also: + +- [Device Management](./DEVICE_MANAGEMENT.md) +- [Network Tree Topology Setup](./NETWORK_TREE.md) +- [Notifications](./NOTIFICATIONS.md) + + +## Other Tables overview | Table name | Description | Sample data | |----------------------|----------------------| ----------------------| diff --git a/docs/WORKFLOWS.md b/docs/WORKFLOWS.md new file mode 100755 index 00000000..e68e7d58 --- /dev/null +++ b/docs/WORKFLOWS.md @@ -0,0 +1,116 @@ +# Workflows Overview + +The workflows module in NetAlertX allows you to automate repetitive tasks, making network management more efficient. Whether you need to assign newly discovered devices to a specific Network Node, auto-group devices from a given vendor, unarchive a device if detected online, or automatically delete or archive devices, this module provides the flexibility to tailor the automations to your needs. + +![Workflow example](./img/WORKFLOWS/workflows.png) + +Below are a few examples that demonstrate how this module can be used to simplify network management tasks. + +> [!NOTE] +> In order to apply a workflow change, you must first **Save** the changes and then reload the application by clicking **Restart server**. + +## Triggers + +Triggers define the event that activates a workflow. They monitor changes to objects within the system, such as updates to devices or the insertion of new entries. When the specified event occurs, the workflow is executed. + +### Example Trigger: +- **Object Type**: `Devices` +- **Event Type**: `update` + +This trigger will activate when a `Device` object is updated. + +## Conditions + +Conditions determine whether a workflow should proceed based on certain criteria. These criteria can be set for specific fields, such as whether a device is from a certain vendor, or whether it is new or archived. You can combine conditions using logical operators (`AND`, `OR`). + +> [!TIP] +> To better understand how to use specific Device fields, please read through the [Database overview](./DATABASE.md) guide. + +### Example Condition: +- **Logic**: `AND` + - **Field**: `devVendor` + - **Operator**: `contains` + - **Value**: `Google` + + This condition checks if the device's vendor is `Google`. The workflow will only proceed if the condition is true. + +## Actions + +Actions define the tasks that the workflow will perform once the conditions are met. Actions can include updating fields or deleting devices. + +### Example Action: +- **Action Type**: `update_field` + - **Field**: `devIsNew` + - **Value**: `0` + + This action updates the `devIsNew` field to `0`, marking the device as no longer new. + + +# Examples + +Below you can find a couple of configuration examples. + +--- + +## Example 1: Assign Device to Network Node Based on IP + +### Trigger: +- **Object Type**: `Devices` +- **Event Type**: `insert` + +### Conditions: +- **Logic**: `AND` + - `Field`: `devLastIP` + - `Operator`: `contains` + - `Value`: `192.168.1.` + + This condition ensures that the workflow only applies to devices with an IP address in the `192.168.1.*` range. + +### Actions: +- **Action Type**: `update_field` + - **Field**: `devNetworkNode` + - **Value**: `6c:6d:6d:6c:6c:6c` + +This workflow assigns newly added devices with IP addresses in the `192.168.1.*` range to the device with the MAC address `6c:6d:6d:6c:6c:6c`. + +--- + +## Example 2: Mark Device as Not New and Delete If from Google Vendor + +### Trigger: +- **Object Type**: `Devices` +- **Event Type**: `update` + +### Conditions: +- **Logic**: `AND` + - `Field`: `devVendor` + - `Operator`: `contains` + - `Value`: `Google` + + This condition checks if the device's vendor is `Google`. + +- **Logic**: `AND` + - `Field`: `devIsNew` + - `Operator`: `equals` + - `Value`: `1` + + This ensures the workflow applies only to new devices. + +### Actions: +1. **Action Type**: `update_field` + - **Field**: `devIsNew` + - **Value**: `0` + + This action marks the device as no longer new. + +2. **Action Type**: `delete_device` + + This action deletes the device after it is marked as not new. + +This workflow automates the process of marking Google devices as not new and deleting them if they meet the criteria. + +--- + +### Conclusion + +With workflows, NetAlertX can automatically adjust to network changes, saving time and reducing the manual overhead involved in maintaining your devices. You can create highly tailored automation rules to handle everything from basic updates to more complex device management. diff --git a/docs/img/WORKFLOWS/workflows.png b/docs/img/WORKFLOWS/workflows.png new file mode 100755 index 0000000000000000000000000000000000000000..df1bab6c127b54b43820877ef55a70c0a08987b6 GIT binary patch literal 91194 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

d*yP`7k8&-Trrcd?J$Q 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%0ATwu$Rg-qkdHt74lk^Ii-k}wuNRJc8AE0x_S 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", { + class: "fa-solid fa-bolt" + }); + let $triggerTitle = $("

", { class:"section-title" } - ).text("Trigger:") + ).append($triggersIcon).append(" Trigger:") // Trigger Section with dropdowns let $triggerSection = $("
", @@ -189,32 +193,43 @@ function generateWorkflowUI(wf, wfIndex) { `wf-${wfIndex}-trigger-event-type` ); + let $triggerIcon = $("", { + class: "fa-solid fa-bolt bckg-icon-2-line" + }); + $triggerSection.append($triggerTypeDropdown); $triggerSection.append($eventTypeDropdown); + $triggerSection.append($triggerIcon); $wfCollapsiblePanel.append($triggerSection); // Conditions - let $conditionsTitle = $("
", - { - class:"section-title" - } - ).text("Conditions:") - let $conditionsContainer = $("
", - { - class: "col-sm-12 col-sx-12" - } - ).append($conditionsTitle); + let $conditionsIcon = $("", { + class: "fa-solid fa-arrows-split-up-and-left fa-rotate-270" + }); + + let $conditionsTitle = $("
", { + class: "section-title" + }).append($conditionsIcon).append(" Conditions:"); + + let $conditionsContainer = $("
", { + class: "col-sm-12 col-sx-12" + }).append($conditionsTitle); + $conditionsContainer.append(renderConditions(wfIndex, `[${wfIndex}]`, 0, wf.conditions)); $wfCollapsiblePanel.append($conditionsContainer); + let $actionsIcon = $("", { + class: "fa-solid fa-person-running fa-flip-horizontal" + }); + let $actionsTitle = $("
", { class:"section-title" } - ).text("Actions:") + ).append($actionsIcon).append(" Actions:") // Actions with action.field as dropdown let $actionsContainer = $("
", @@ -233,6 +248,7 @@ function generateWorkflowUI(wf, wfIndex) { class: "panel col-sm-12 col-sx-12" }); + // Dropdown for action.type let $actionDropdown= createEditableDropdown( `[${wfIndex}].actions[${actionIndex}].type`, @@ -242,10 +258,16 @@ function generateWorkflowUI(wf, wfIndex) { `wf-${wfIndex}-actionIndex-${actionIndex}-type` ); + $actionEl.append($actionDropdown); + // how big should the background icon be + let numberOfLines = 1 + if(action.type == "update_field") { + numberOfLines = 3 + // Dropdown for action.field let $fieldDropdown = createEditableDropdown( `[${wfIndex}].actions[${actionIndex}].field`, @@ -279,7 +301,7 @@ function generateWorkflowUI(wf, wfIndex) { }); let $actionRemoveButton = $("
", { - class: "pointer remove-action ", + class: "pointer remove-action red-hover-text", actionIndex: actionIndex, wfIndex: wfIndex }) @@ -287,7 +309,12 @@ function generateWorkflowUI(wf, wfIndex) { $actionRemoveButtonWrap.append($actionRemoveButton); + let $actionIcon = $("", { + class: `fa-solid fa-person-running fa-flip-horizontal bckg-icon-${numberOfLines}-line ` + }); + $actionElWrap.append($actionEl) + $actionElWrap.append($actionIcon) $actionElWrap.append($actionRemoveButtonWrap) $actionsContainer.append($actionElWrap); @@ -301,7 +328,7 @@ function generateWorkflowUI(wf, wfIndex) { class: "fa-solid fa-plus" }); let $actionAddButton = $("
", { - class : "pointer add-action", + class : "pointer add-action green-hover-text", lastActionIndex : lastActionIndex, wfIndex: wfIndex }).append($actionAddIcon).append("Add Action") @@ -317,7 +344,7 @@ function generateWorkflowUI(wf, wfIndex) { }); let $wfRemoveButton = $("
", { - class: "pointer remove-wf", + class: "pointer remove-wf red-hover-text", wfIndex: wfIndex }) .append($wfRemoveIcon) // Add icon @@ -381,6 +408,10 @@ function renderConditions(wfIndex, parentIndexPath, conditionGroupsIndex, condit } else { // INDIVIDUAL CONDITIONS + let $conditionIcon = $("", { + class: "fa-solid fa-arrows-split-up-and-left fa-rotate-270 bckg-icon-3-line " + }); + let $conditionItem = $("
", { class: "panel col-sm-12 col-sx-12", @@ -388,6 +419,8 @@ function renderConditions(wfIndex, parentIndexPath, conditionGroupsIndex, condit wfIndex: wfIndex }); + $conditionItem.append($conditionIcon); // Append background icon + let $conditionItemsWrap = $("
", { class: "conditionItemsWrap col-sm-11 col-sx-12" @@ -419,6 +452,7 @@ function renderConditions(wfIndex, parentIndexPath, conditionGroupsIndex, condit "condition-value-input" ); + $conditionItemsWrap.append($fieldDropdown); // Append field dropdown $conditionItemsWrap.append($operatorDropdown); // Append operator dropdown $conditionItemsWrap.append($editableInput); // Append editable input for condition value @@ -428,7 +462,7 @@ function renderConditions(wfIndex, parentIndexPath, conditionGroupsIndex, condit class: "fa-solid fa-trash" }); let $conditionRemoveButton = $("
", { - class : "pointer remove-condition ", + class : "pointer remove-condition red-hover-text", conditionIndex : conditionIndex, wfIndex: wfIndex, parentIndexPath: parentIndexPath @@ -455,7 +489,7 @@ function renderConditions(wfIndex, parentIndexPath, conditionGroupsIndex, condit class: "fa-solid fa-plus" }); let $conditionAddButton = $("
", { - class: "pointer add-condition col-sx-12", + class: "pointer add-condition green-hover-text col-sx-12", wfIndex: wfIndex, parentIndexPath: parentIndexPath }).append($conditionAddIcon).append("Add Condition"); @@ -467,7 +501,7 @@ function renderConditions(wfIndex, parentIndexPath, conditionGroupsIndex, condit class: "fa-solid fa-trash" }); let $conditionGroupRemoveButton = $("
", { - class: "pointer remove-condition-group col-sx-12", + class: "pointer remove-condition-group red-hover-text col-sx-12", lastConditionIndex: lastConditionIndex, wfIndex: wfIndex, parentIndexPath: parentIndexPath @@ -485,7 +519,7 @@ function renderConditions(wfIndex, parentIndexPath, conditionGroupsIndex, condit class: "fa-solid fa-plus" }); let $conditionsGroupAddButton = $("
", { - class: "pointer add-condition-group col-sx-12", + class: "pointer add-condition-group green-hover-text col-sx-12", wfIndex: wfIndex, parentIndexPath: parentIndexPath }).append($conditionsGroupAddIcon).append("Add Group"); diff --git a/mkdocs.yml b/mkdocs.yml index 4baa145a..d877579d 100755 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -41,6 +41,7 @@ nav: - Reverse DNS: REVERSE_DNS.md - Reverse Proxy: REVERSE_PROXY.md - Webhooks (n8n): WEBHOOK_N8N.md + - Workflows: WORKFLOWS.md - Help: - Common issues: COMMON_ISSUES.md - Random MAC: RANDOM_MAC.md diff --git a/test/workflows.json b/test/workflows.json index 08914fc4..cfa49cab 100755 --- a/test/workflows.json +++ b/test/workflows.json @@ -44,11 +44,7 @@ "value": "0" }, { - "type": "run_plugin", - "plugin": "SMTP", - "params": { - "message": "New device from Google detected." - } + "type": "delete_device" } ] }