Bundling code now with Rollup for its flat bundling and tree shaking support. Front end code still goes through Webpack for browser support.
176 lines
8.1 KiB
JavaScript
Executable File
176 lines
8.1 KiB
JavaScript
Executable File
#!/usr/bin/env -S node -r esm
|
|
"use strict";
|
|
|
|
import { MongoClient } from "mongodb";
|
|
import { get } from "../lib/config";
|
|
|
|
const configData = {
|
|
"auth.simple.users.admin.password": "'admin'",
|
|
"auth.simple.users.admin.roles": "'admin'",
|
|
"auth.simple.users.view.password": "'view'",
|
|
"auth.simple.users.view.roles": "'view'",
|
|
"permissions.admin.0.devices.access": "3",
|
|
"permissions.admin.0.devices.validate.pass": "true",
|
|
"permissions.admin.0.faults.access": "3",
|
|
"permissions.admin.0.faults.validate.pass": "true",
|
|
"permissions.admin.0.files.access": "3",
|
|
"permissions.admin.0.files.validate.pass": "true",
|
|
"permissions.admin.0.presets.access": "3",
|
|
"permissions.admin.0.presets.validate.pass": "true",
|
|
"permissions.admin.0.provisions.access": "3",
|
|
"permissions.admin.0.provisions.validate.pass": "true",
|
|
"permissions.admin.0.virtualParameters.access": "3",
|
|
"permissions.admin.0.virtualParameters.validate.pass": "true",
|
|
"permissions.view.0.devices.access": "2",
|
|
"permissions.view.0.faults.access": "2",
|
|
"permissions.view.0.files.access": "2",
|
|
"permissions.view.0.presets.access": "2",
|
|
"permissions.view.0.provisions.access": "2",
|
|
"permissions.view.0.virtualParameters.access": "2",
|
|
"ui.device.0.type": "'tags'",
|
|
"ui.device.1.type": "'ping'",
|
|
"ui.device.2.parameters.0.components.0.type": "'parameter'",
|
|
"ui.device.2.parameters.0.components.1.chart": "'online'",
|
|
"ui.device.2.parameters.0.components.1.type": "'overview-dot'",
|
|
"ui.device.2.parameters.0.components.2.parameters.0":
|
|
"InternetGatewayDevice.DeviceInfo.HardwareVersion",
|
|
"ui.device.2.parameters.0.components.2.parameters.1":
|
|
"InternetGatewayDevice.DeviceInfo.SoftwareVersion",
|
|
"ui.device.2.parameters.0.components.2.parameters.2":
|
|
"InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANIPConnection.1.MACAddress",
|
|
"ui.device.2.parameters.0.components.2.parameters.3":
|
|
"InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANIPConnection.1.ExternalIPAddress",
|
|
"ui.device.2.parameters.0.components.2.parameters.4":
|
|
"InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.SSID",
|
|
"ui.device.2.parameters.0.components.2.parameters.5":
|
|
"InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.KeyPassphrase",
|
|
"ui.device.2.parameters.0.components.2.parameters.6":
|
|
"InternetGatewayDevice.LANDevice.1.Hosts.Host",
|
|
"ui.device.2.parameters.0.components.2.type": "'summon-button'",
|
|
"ui.device.2.parameters.0.element": "'span.inform'",
|
|
"ui.device.2.parameters.0.label": "'Last inform'",
|
|
"ui.device.2.parameters.0.parameter": "DATE_STRING(Events.Inform)",
|
|
"ui.device.2.parameters.0.type": "'container'",
|
|
"ui.device.2.parameters.1.label": "'Serial number'",
|
|
"ui.device.2.parameters.1.parameter":
|
|
"InternetGatewayDevice.DeviceInfo.SerialNumber",
|
|
"ui.device.2.parameters.10.label": "'WLAN passphrase'",
|
|
"ui.device.2.parameters.10.parameter":
|
|
"InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.KeyPassphrase",
|
|
"ui.device.2.parameters.2.label": "'Product class'",
|
|
"ui.device.2.parameters.2.parameter":
|
|
"InternetGatewayDevice.DeviceInfo.ProductClass",
|
|
"ui.device.2.parameters.3.label": "'OUI'",
|
|
"ui.device.2.parameters.3.parameter":
|
|
"InternetGatewayDevice.DeviceInfo.ManufacturerOUI",
|
|
"ui.device.2.parameters.4.label": "'Manufacturer'",
|
|
"ui.device.2.parameters.4.parameter":
|
|
"InternetGatewayDevice.DeviceInfo.Manufacturer",
|
|
"ui.device.2.parameters.5.label": "'Hardware version'",
|
|
"ui.device.2.parameters.5.parameter":
|
|
"InternetGatewayDevice.DeviceInfo.HardwareVersion",
|
|
"ui.device.2.parameters.6.label": "'Software version'",
|
|
"ui.device.2.parameters.6.parameter":
|
|
"InternetGatewayDevice.DeviceInfo.SoftwareVersion",
|
|
"ui.device.2.parameters.7.label": "'MAC'",
|
|
"ui.device.2.parameters.7.parameter":
|
|
"InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANIPConnection.1.MACAddress",
|
|
"ui.device.2.parameters.8.label": "'IP'",
|
|
"ui.device.2.parameters.8.parameter":
|
|
"InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANIPConnection.1.ExternalIPAddress",
|
|
"ui.device.2.parameters.9.label": "'WLAN SSID'",
|
|
"ui.device.2.parameters.9.parameter":
|
|
"InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.SSID",
|
|
"ui.device.2.type": "'parameter-list'",
|
|
"ui.device.3.childParameters.0.label": "'Host name'",
|
|
"ui.device.3.childParameters.0.parameter": "HostName",
|
|
"ui.device.3.childParameters.1.label": "'IP address'",
|
|
"ui.device.3.childParameters.1.parameter": "IPAddress",
|
|
"ui.device.3.childParameters.2.label": "'MAC address'",
|
|
"ui.device.3.childParameters.2.parameter": "MACAddress",
|
|
"ui.device.3.label": "'WLAN hosts'",
|
|
"ui.device.3.parameter": "InternetGatewayDevice.LANDevice.1.Hosts.Host",
|
|
"ui.device.3.type": "'parameter-table'",
|
|
"ui.device.4.components.0.components.0": "'Faults'",
|
|
"ui.device.4.components.0.element": "'h3'",
|
|
"ui.device.4.components.0.type": "'container'",
|
|
"ui.device.4.components.1.type": "'device-faults'",
|
|
"ui.device.4.element": "'div'",
|
|
"ui.device.4.type": "'container'",
|
|
"ui.device.5.components.0.components.0": "'All parameters'",
|
|
"ui.device.5.components.0.element": "'h3'",
|
|
"ui.device.5.components.0.type": "'container'",
|
|
"ui.device.5.components.1.type": "'all-parameters'",
|
|
"ui.device.5.element": "'div.container-full-width'",
|
|
"ui.device.5.type": "'container'",
|
|
"ui.device.6.type": "'device-actions'",
|
|
"ui.filters.0.label": "'Serial number'",
|
|
"ui.filters.0.parameter": "DeviceID.SerialNumber",
|
|
"ui.filters.0.type": "'string'",
|
|
"ui.filters.1.label": "'Product class'",
|
|
"ui.filters.1.parameter": "DeviceID.ProductClass",
|
|
"ui.filters.1.type": "'string'",
|
|
"ui.filters.2.label": "'Tag'",
|
|
"ui.filters.2.parameter": "tag",
|
|
"ui.filters.2.type": "'string'",
|
|
"ui.index.0.components.0.type": "'parameter'",
|
|
"ui.index.0.label": "'Serial number'",
|
|
"ui.index.0.parameter": "DeviceID.SerialNumber",
|
|
"ui.index.0.type": "'device-link'",
|
|
"ui.index.1.label": "'Product class'",
|
|
"ui.index.1.parameter": "DeviceID.ProductClass",
|
|
"ui.index.2.label": "'Software version'",
|
|
"ui.index.2.parameter": "InternetGatewayDevice.DeviceInfo.SoftwareVersion",
|
|
"ui.index.3.label": "'IP'",
|
|
"ui.index.3.parameter":
|
|
"InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANIPConnection.1.ExternalIPAddress",
|
|
"ui.index.4.label": "'SSID'",
|
|
"ui.index.4.parameter":
|
|
"InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.SSID",
|
|
"ui.index.5.components.0.type": "'parameter'",
|
|
"ui.index.5.components.1.chart": "'online'",
|
|
"ui.index.5.components.1.type": "'overview-dot'",
|
|
"ui.index.5.element": "'span.inform'",
|
|
"ui.index.5.label": "'Last inform'",
|
|
"ui.index.5.parameter": "DATE_STRING(Events.Inform)",
|
|
"ui.index.5.type": "'container'",
|
|
"ui.index.6.label": "'Tags'",
|
|
"ui.index.6.parameter": "Tags",
|
|
"ui.index.6.type": "'tags'",
|
|
"ui.index.6.unsortable": "true",
|
|
"ui.index.6.writable": "false",
|
|
"ui.overview.charts.online.label": "'Online status'",
|
|
"ui.overview.charts.online.slices.1_onlineNow.color": "'#31a354'",
|
|
"ui.overview.charts.online.slices.1_onlineNow.filter":
|
|
"Events.Inform > NOW() - 5 * 60 * 1000",
|
|
"ui.overview.charts.online.slices.1_onlineNow.label": "'Online now'",
|
|
"ui.overview.charts.online.slices.2_past24.color": "'#addd8e'",
|
|
"ui.overview.charts.online.slices.2_past24.filter":
|
|
"Events.Inform > (NOW() - 5 * 60 * 1000) - (24 * 60 * 60 * 1000) AND Events.Inform < (NOW() - 5 * 60 * 1000)",
|
|
"ui.overview.charts.online.slices.2_past24.label": "'Past 24 hours'",
|
|
"ui.overview.charts.online.slices.3_others.color": "'#f7fcb9'",
|
|
"ui.overview.charts.online.slices.3_others.filter":
|
|
"Events.Inform < (NOW() - 5 * 60 * 1000) - (24 * 60 * 60 * 1000)",
|
|
"ui.overview.charts.online.slices.3_others.label": "'Others'",
|
|
"ui.overview.groups.online.charts.0": "'online'",
|
|
"ui.overview.groups.online.label": "''",
|
|
"ui.pageSize": "10"
|
|
};
|
|
|
|
async function run() {
|
|
const client = await MongoClient.connect(
|
|
get("MONGODB_CONNECTION_URL"),
|
|
{ useNewUrlParser: true }
|
|
);
|
|
const collection = client.db().collection("config");
|
|
await collection.deleteMany({});
|
|
const objs = Object.entries(configData).map(c => ({
|
|
_id: c[0],
|
|
value: c[1]
|
|
}));
|
|
await collection.insertMany(objs);
|
|
client.close();
|
|
}
|
|
|
|
run();
|