Skip to content

Commit 2b7d636

Browse files
committed
[mikrotik-dhcp] fix upgrade to 'oui' package
1 parent e549d30 commit 2b7d636

7 files changed

Lines changed: 23 additions & 35 deletions

File tree

src/modules/mikrotik-dhcp/container/package-lock.json

Lines changed: 1 addition & 13 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/modules/mikrotik-dhcp/container/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
"morgan": "^1.10.0",
2525
"node-cache": "^5.1.2",
2626
"node-routeros-v2": "^1.6.12",
27-
"oui": "^13.1.6",
27+
"oui-data": "^1.0.0",
2828
"ping": "^0.4.1",
2929
"toad-scheduler": "^3.1.0",
3030
"wildcard-regex": "^3.0.2",

src/modules/mikrotik-dhcp/container/services/lease-get.js

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
"use strict";
22

33
const mongoCollection = require("@core/mongo-collection");
4-
const oui = require("oui");
4+
const ouiData = require("oui-data");
55
const logger = require("@core/logger")(module);
66

7+
const getOuiPrefix = (macAddress = "") => macAddress.replace(/[^a-fA-F0-9]/g, "").slice(0, 6).toUpperCase();
8+
79
module.exports = async (leaseId) => {
810
try {
911
const dbLeases = await mongoCollection("leases");
@@ -12,10 +14,10 @@ module.exports = async (leaseId) => {
1214
// set manufacturer
1315
lease["manufacturer"] = "";
1416
if (lease["mac-address"]) {
15-
const manufacturerResult = oui(lease["mac-address"]);
17+
const ouiPrefix = getOuiPrefix(lease["mac-address"]);
18+
const manufacturerResult = ouiData[ouiPrefix];
1619
if (manufacturerResult) {
17-
const resultArray = manufacturerResult.split("\n");
18-
lease["manufacturer"] = resultArray[0];
20+
lease["manufacturer"] = manufacturerResult.split("\n")[0];
1921
}
2022
}
2123

src/modules/mikrotik-dhcp/container/services/lease-get.test.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
jest.mock("oui", () => jest.fn(() => "Vendor"), { virtual: true });
1+
jest.mock("oui-data", () => ({
2+
AABBCC: "Vendor\nAddress",
3+
}), { virtual: true });
24

35
const service = require("./lease-get");
46

src/modules/mikrotik-dhcp/container/services/lease-list.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
"use strict";
22

33
const mongoCollection = require("@core/mongo-collection");
4-
const oui = require("oui");
4+
const ouiData = require("oui-data");
55
const sortHandlers = require("@core/sort-handlers");
66
const logger = require("@core/logger")(module);
77

8+
const getOuiPrefix = (macAddress = "") => macAddress.replace(/[^a-fA-F0-9]/g, "").slice(0, 6).toUpperCase();
9+
810
module.exports = async (sortField = null, sortDirection = "asc", filters = {}) => {
911
try {
1012
const dbLeases = await mongoCollection("leases");
@@ -50,7 +52,8 @@ module.exports = async (sortField = null, sortDirection = "asc", filters = {}) =
5052
// set manufacturer
5153
eachLease["manufacturer"] = "";
5254
if (eachLease["mac-address"]) {
53-
const manufacturerResult = oui(eachLease["mac-address"]);
55+
const ouiPrefix = getOuiPrefix(eachLease["mac-address"]);
56+
const manufacturerResult = ouiData[ouiPrefix];
5457
if (manufacturerResult) {
5558
const resultArray = manufacturerResult.split("\n");
5659
eachLease["manufacturer"] = resultArray[0];

src/modules/mikrotik-dhcp/container/services/lease-list.test.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
jest.mock("oui", () => jest.fn(() => "Vendor"), { virtual: true });
1+
jest.mock("oui-data", () => ({
2+
AABBCC: "Vendor\nAddress",
3+
}), { virtual: true });
24

35
const service = require("./lease-list");
46

src/modules/mikrotik-dhcp/module.json

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,25 +2,16 @@
22
"name": "mikrotik-dhcp",
33
"longname": "Mikrotik DHCP",
44
"description": "View and manage DHCP leases on Mikrotik routers",
5-
"capabilities": [
6-
"dhcp-server"
7-
],
5+
"capabilities": ["dhcp-server"],
86
"notes": "",
97
"version": "1.1.24",
108
"icon": "mdi-clipboard-list",
119
"author": "Geoff House",
1210
"needsContainer": true,
1311
"license": "Apache-2.0",
1412
"status": "stable",
15-
"devmounts": [
16-
"api",
17-
"services",
18-
"workers",
19-
"utils"
20-
],
21-
"protectedRoutes": [
22-
"config"
23-
],
13+
"devmounts": ["api", "services", "workers"],
14+
"protectedRoutes": ["config"],
2415
"memory": 500,
2516
"defaultconfig": {
2617
"id": "",
@@ -34,4 +25,4 @@
3425
"username": "bug",
3526
"password": ""
3627
}
37-
}
28+
}

0 commit comments

Comments
 (0)