From cf1644398081e5889e1aa202b24429b910b006c6 Mon Sep 17 00:00:00 2001 From: SumukhaKV Date: Mon, 16 Jul 2018 13:06:35 +0530 Subject: [PATCH 01/14] Create a table to store unique device ID --- devmgmtV2/init.sql | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/devmgmtV2/init.sql b/devmgmtV2/init.sql index b662cba..1f7ad3f 100644 --- a/devmgmtV2/init.sql +++ b/devmgmtV2/init.sql @@ -2,4 +2,5 @@ create database if not exists device_mgmt; create database if not exists test; use device_mgmt; -CREATE TABLE if not exists users (id int(10) PRIMARY KEY AUTO_INCREMENT, username VARCHAR(100), password VARCHAR(100), permission VARCHAR(500), UNIQUE(username)); \ No newline at end of file +CREATE TABLE if not exists users (id int(10) PRIMARY KEY AUTO_INCREMENT, username VARCHAR(100), password VARCHAR(100), permission VARCHAR(500), UNIQUE(username)); +CREATE TABLE if not exists device (dev_id VARCHAR(100), UNIQUE(dev_id)); \ No newline at end of file From b735f7494ec8a485c114b1790aa3b704d7ea45e6 Mon Sep 17 00:00:00 2001 From: SumukhaKV Date: Mon, 16 Jul 2018 13:07:39 +0530 Subject: [PATCH 02/14] Assign the device an ID if not present and store it in DB --- devmgmtV2/writeToDB.js | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/devmgmtV2/writeToDB.js b/devmgmtV2/writeToDB.js index bfb672a..6b146d3 100644 --- a/devmgmtV2/writeToDB.js +++ b/devmgmtV2/writeToDB.js @@ -1,4 +1,6 @@ -let {selectFields, updateFields, deleteFields, insertFields} = require('dbsdk'); +let {selectFields, insertFields} = require('dbsdk'); +const uuidv4 = require('uuid/v4'); +const deviceID = uuidv4(); // console.log(dbsdk); insertFields({dbName : 'device_mgmt', tableName : 'users', columns : ["username", "password", "permission"], values : ["root", "root", JSON.stringify(["ALL"])]}).then(response => { @@ -6,3 +8,17 @@ insertFields({dbName : 'device_mgmt', tableName : 'users', columns : ["username" }, reject => { console.log("Using already built configuration"); }); + +selectFields({dbName : 'device_mgmt', tableName : 'device', columns : ["dev_id"]}).then(response => { + if (response.length > 0) { + console.log("Using already created Device ID"); + } else { + insertFields({dbName : 'device_mgmt', tableName : 'device', columns : ["dev_id"], values: [deviceID]}).then(response => { + console.log("Added Device ID"); + }, reject => { + console.log("Couldn't add Device ID"); + }); + } +}, reject => { + console.log("Couldn't fetch the Device ID"); +}); \ No newline at end of file From eb2f70c1832af501b23f640cc93bf2b6b42492fa Mon Sep 17 00:00:00 2001 From: SumukhaKV Date: Mon, 16 Jul 2018 13:09:07 +0530 Subject: [PATCH 03/14] Retrieve the device ID from DB using function from dbsdk --- devmgmtV2/controllers/dashboard.controller.js | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/devmgmtV2/controllers/dashboard.controller.js b/devmgmtV2/controllers/dashboard.controller.js index 6519404..b762f91 100644 --- a/devmgmtV2/controllers/dashboard.controller.js +++ b/devmgmtV2/controllers/dashboard.controller.js @@ -8,6 +8,7 @@ const path = require('path'); const exec = require('child_process').exec; const { config } = require('../config'); +let { selectFields } = require('dbsdk'); let getInternetStatus = (req, res) => { dns.lookup('google.com', (err) => { @@ -86,6 +87,24 @@ let getSystemVersion = (req,res) => { }) } +let getDeviceID = (req,res) => { + let responseData = { + retrieveSuccessful : true, + deviceID : undefined, + msg : 'Successfully retrieved Mac address' + } + + selectFields({dbName : 'device_mgmt', tableName : 'device', columns : ["dev_id"]}) + .then(response => { + responseData.deviceID = response[0].dev_id; + return res.status(200).json(responseData); + }, reject => { + responseData.retrieveSuccessful = false; + responseData.msg = err; + return res.status(200).json(responseData); + }); +} + module.exports = { getInternetStatus, getLastRefresh, @@ -93,5 +112,6 @@ module.exports = { getSystemMemory, getSystemSpace, getSystemCpu, - getSystemVersion + getSystemVersion, + getDeviceID } From 832c275e8d37dbb4d83853bf3f52e7e5ee60dc77 Mon Sep 17 00:00:00 2001 From: SumukhaKV Date: Mon, 16 Jul 2018 13:10:08 +0530 Subject: [PATCH 04/14] Add a route for retrieval of device ID --- devmgmtV2/routes/dashboard.routes.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/devmgmtV2/routes/dashboard.routes.js b/devmgmtV2/routes/dashboard.routes.js index ec18e6f..016ecf9 100644 --- a/devmgmtV2/routes/dashboard.routes.js +++ b/devmgmtV2/routes/dashboard.routes.js @@ -7,7 +7,8 @@ let { getSystemMemory, getSystemSpace, getSystemCpu, - getSystemVersion + getSystemVersion, + getDeviceID } = require("../controllers/dashboard.controller") const { saveTelemetryData } = require('../middlewares/telemetry.middleware.js'); @@ -20,4 +21,5 @@ module.exports = app => { app.get("/dashboard/system/space", getSystemSpace); app.get("/dashboard/system/cpu", getSystemCpu); app.get("/dashboard/system/version", getSystemVersion); + app.get("/dashboard/system/deviceID", getDeviceID); } From 7be7e0d1b59178d6d4af92df08bc8b02af08e8c3 Mon Sep 17 00:00:00 2001 From: SumukhaKV Date: Mon, 16 Jul 2018 13:11:57 +0530 Subject: [PATCH 05/14] Add an action call to get the device ID and dispatch it to the store --- devmgmtui/src/actions/dashboard.js | 8 ++++++++ devmgmtui/src/reducers/dashboard.js | 2 ++ 2 files changed, 10 insertions(+) diff --git a/devmgmtui/src/actions/dashboard.js b/devmgmtui/src/actions/dashboard.js index 53f7251..336a849 100644 --- a/devmgmtui/src/actions/dashboard.js +++ b/devmgmtui/src/actions/dashboard.js @@ -66,4 +66,12 @@ export const fetchSystemData = () => (dispatch) => { .catch((e) => { console.log(e); }) + + axios.get(`${BASE_URL}/dashboard/system/deviceID`) + .then((response) => { + dispatch({type: 'DEVICEID_FETCH', payload: response.data.deviceID}) + }) + .catch((e) => { + console.log(e); + }) } diff --git a/devmgmtui/src/reducers/dashboard.js b/devmgmtui/src/reducers/dashboard.js index 041cd48..3c3fd86 100644 --- a/devmgmtui/src/reducers/dashboard.js +++ b/devmgmtui/src/reducers/dashboard.js @@ -16,6 +16,8 @@ export default function (state={}, action) { return {...state, cpuData: action.payload}; case 'VERSION_FETCH': return {...state, version: action.payload}; + case 'DEVICEID_FETCH': + return {...state, deviceID: action.payload}; default: return state; } From d9ab25080569839921b6941681329a0c44a1c2fd Mon Sep 17 00:00:00 2001 From: SumukhaKV Date: Mon, 16 Jul 2018 13:18:14 +0530 Subject: [PATCH 06/14] Add device ID to the Dashboard and change Pie chart representation for Number of Users to Progress bar. Fixes #290 and #282 --- .../src/components/dashboard/ChartSegment.js | 87 +++++++++---------- 1 file changed, 43 insertions(+), 44 deletions(-) diff --git a/devmgmtui/src/components/dashboard/ChartSegment.js b/devmgmtui/src/components/dashboard/ChartSegment.js index 43a556b..0c92292 100644 --- a/devmgmtui/src/components/dashboard/ChartSegment.js +++ b/devmgmtui/src/components/dashboard/ChartSegment.js @@ -3,60 +3,41 @@ import React, { Component } from 'react'; import { connect } from 'react-redux'; import * as actions from '../../actions/dashboard'; -import { Segment, Container, Grid, Icon, Header, Message } from 'semantic-ui-react'; +import { Segment, Grid, Header, Message, Progress } from 'semantic-ui-react'; import PieChart from 'react-svg-piechart'; +import './dashboard.css'; -const maxNumberOfUsers = 25; -const colorCodes = { - zeroToFifteen : ['#B2DFDB', 'teal'], - fifteenToTwentyFive : ['#FFE0B2', 'orange'], - twentyFiveAndAbove : ['#FFCDD2', 'red'] -} - -const UserChart = ({ numberOfUsers }) => { - let numberOfUsersPercent = Math.floor(((numberOfUsers) * 100) / maxNumberOfUsers); - - const userChartColor = () => { - let colors; +const ProgressBar = ({ numberOfUsers }) => { + const handleProgressColor = () => { if(numberOfUsers <= 15) { - colors = colorCodes.zeroToFifteen; + return 'green'; } else if (numberOfUsers > 15 && numberOfUsers <= 25) { - colors = colorCodes.fifteenToTwentyFive; + return 'orange'; } else { - colors = colorCodes.twentyFiveAndAbove; + return 'red'; } + } - let data = [ - { title: 'Current capacity', value: 100-numberOfUsersPercent, color: colors[0] }, - { title: 'Users connected', value: numberOfUsersPercent, color: colors[1] } - ]; - return data; + const handleProgress = () => { + return ( + (numberOfUsers/25)*100 + ); } return ( - -
- -
- -
- -
- -
- -
- {numberOfUsers <= maxNumberOfUsers ? `${numberOfUsers} / ${maxNumberOfUsers}` :   > {maxNumberOfUsers}} -
-
- ); +
+ + {numberOfUsers}/25 + +
+ ) } class ChartSegment extends Component { @@ -69,6 +50,7 @@ class ChartSegment extends Component { let usersConnected = this.props.dashboard.usersConnected; let internetStatus = this.props.dashboard.internetStatus; let lastRefreshTime = this.props.dashboard.lastRefreshTime; + let deviceID = this.props.dashboard.deviceID; let data = []; let header = {}; @@ -171,8 +153,10 @@ class ChartSegment extends Component { - @@ -218,6 +202,21 @@ class ChartSegment extends Component { /> + + + + } + /> + + + + ) From 402434d33a99c24942dbdf34da195e6ca5dd3cb2 Mon Sep 17 00:00:00 2001 From: SumukhaKV Date: Mon, 16 Jul 2018 13:18:39 +0530 Subject: [PATCH 07/14] Fixes #285 --- .../filemgmt/FileDisplayComponent.js | 30 ++++++++++++------- devmgmtui/src/components/filemgmt/FileMgmt.js | 6 +++- 2 files changed, 25 insertions(+), 11 deletions(-) diff --git a/devmgmtui/src/components/filemgmt/FileDisplayComponent.js b/devmgmtui/src/components/filemgmt/FileDisplayComponent.js index 018f577..6207678 100644 --- a/devmgmtui/src/components/filemgmt/FileDisplayComponent.js +++ b/devmgmtui/src/components/filemgmt/FileDisplayComponent.js @@ -161,16 +161,26 @@ class FileDisplayComponent extends Component { Currently at : {this.props.filemgmt.currentDir} - - - - + {this.props.auth.user.permissions.search(/DELETE_FILES|ALL/) >= 0 ? + + + + : + null + } + {this.props.auth.user.permissions.search(/DELETE_FILES|ALL/) >= 0 ? + + + + : + null + }
{this.renderFileDisplayComponent()} diff --git a/devmgmtui/src/components/filemgmt/FileMgmt.js b/devmgmtui/src/components/filemgmt/FileMgmt.js index 1cb4f3d..3f115a9 100644 --- a/devmgmtui/src/components/filemgmt/FileMgmt.js +++ b/devmgmtui/src/components/filemgmt/FileMgmt.js @@ -39,7 +39,11 @@ class FileMgmt extends Component {
File Management
-
File Upload
+ { this.props.auth.user.permissions.search(/UPLOAD_FILES|ALL/) >= 0 ? +
File Upload
+ : + null + }
From 16402c9bbc039fc2c4516a6b18fdd5eaf604f8c7 Mon Sep 17 00:00:00 2001 From: SumukhaKV Date: Mon, 16 Jul 2018 13:48:08 +0530 Subject: [PATCH 08/14] Fixes #275 --- devmgmtui/src/components/user/EditUser.js | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/devmgmtui/src/components/user/EditUser.js b/devmgmtui/src/components/user/EditUser.js index bdeb25a..8e68fa2 100644 --- a/devmgmtui/src/components/user/EditUser.js +++ b/devmgmtui/src/components/user/EditUser.js @@ -76,6 +76,16 @@ class EditUser extends Component { } this.setState({permissions}); } + let disabledFlag = { ...this.state.disabledFlag }; + if (this.state.permissions['perm2'] || this.state.permissions['perm3'] || this.state.permissions['perm4']) { + disabledFlag.perm1 = true; + } + if (this.state.permissions['perm6'] || this.state.permissions['perm7']) { + disabledFlag.perm5 = true; + } + this.setState({ + disabledFlag + }); document.title = "Edit User"; } @@ -127,10 +137,13 @@ class EditUser extends Component { handleAllPermissionsGrant() { var permissions = this.state.permissions + let disabledFlag = { ...this.state.disabledFlag } for (let i in permissions) { permissions[i] = true; } - this.setState({ permissions }, this.setAllEnabled); + disabledFlag.perm1 = true; + disabledFlag.perm5 = true; + this.setState({ permissions, disabledFlag }, this.setAllEnabled); } handleSubmit() { @@ -159,7 +172,12 @@ class EditUser extends Component { var permissionsList = Object.entries(this.state.permissions).map(([permLabel, set]) => { return (
- +
From 0e9744b8eb3f803778a22bcffd891bd33b3f469b Mon Sep 17 00:00:00 2001 From: SumukhaKV Date: Mon, 16 Jul 2018 13:48:50 +0530 Subject: [PATCH 09/14] Add CSS adjustments to the Progress bar on Dashboard --- devmgmtui/src/components/dashboard/dashboard.css | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 devmgmtui/src/components/dashboard/dashboard.css diff --git a/devmgmtui/src/components/dashboard/dashboard.css b/devmgmtui/src/components/dashboard/dashboard.css new file mode 100644 index 0000000..58231b0 --- /dev/null +++ b/devmgmtui/src/components/dashboard/dashboard.css @@ -0,0 +1,7 @@ +.progress-bar-content .progress{ + right: .2em !important; +} +.progress-bar-content .label{ + top: 5% !important; + vertical-align: middle !important; +} \ No newline at end of file From 1083b2bc1b0c00db0a5c13311dff7496a24be372 Mon Sep 17 00:00:00 2001 From: SumukhaKV Date: Mon, 16 Jul 2018 13:50:49 +0530 Subject: [PATCH 10/14] Remove some unused components --- devmgmtui/src/App.js | 3 --- devmgmtui/src/components/VerifyAuthentication.js | 6 ------ 2 files changed, 9 deletions(-) diff --git a/devmgmtui/src/App.js b/devmgmtui/src/App.js index 387a69c..93d98f3 100644 --- a/devmgmtui/src/App.js +++ b/devmgmtui/src/App.js @@ -4,9 +4,6 @@ import { BrowserRouter, Route } from 'react-router-dom' import { connect } from 'react-redux'; import * as actions from './actions/config'; -import axios from 'axios' -import { BASE_URL } from './config/config'; - import Login from './components/auth/Login' import CreateUser from './components/user/CreateUser' import EditUser from './components/user/EditUser' diff --git a/devmgmtui/src/components/VerifyAuthentication.js b/devmgmtui/src/components/VerifyAuthentication.js index fffefd6..3adb8bd 100644 --- a/devmgmtui/src/components/VerifyAuthentication.js +++ b/devmgmtui/src/components/VerifyAuthentication.js @@ -9,12 +9,6 @@ export default function(ComposedComponent) { } } - componentWillUpdate(nextProps) { - if (!nextProps.authenticated) { - this.props.history.push('/'); - } - } - render () { return } From d9423d4ededf0bee83dab4e567d472f33ed9bd7d Mon Sep 17 00:00:00 2001 From: SumukhaKV Date: Mon, 16 Jul 2018 13:51:21 +0530 Subject: [PATCH 11/14] Add a title to iframe --- devmgmtui/src/components/captive/Captive.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/devmgmtui/src/components/captive/Captive.js b/devmgmtui/src/components/captive/Captive.js index f14de59..cae2c5e 100644 --- a/devmgmtui/src/components/captive/Captive.js +++ b/devmgmtui/src/components/captive/Captive.js @@ -132,7 +132,7 @@ class Captive extends Component {
Current Captive Portal:
- +
From 1b9e8219c6890f8b4a18572577b2c20fbaa19304 Mon Sep 17 00:00:00 2001 From: SumukhaKV Date: Mon, 16 Jul 2018 13:52:20 +0530 Subject: [PATCH 12/14] Remove name prop which is used twice --- devmgmtui/src/components/common/Sidebar.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/devmgmtui/src/components/common/Sidebar.js b/devmgmtui/src/components/common/Sidebar.js index 7db2052..55fa33c 100644 --- a/devmgmtui/src/components/common/Sidebar.js +++ b/devmgmtui/src/components/common/Sidebar.js @@ -33,7 +33,7 @@ class SideNav extends Component { Home : null } - {this.props.auth.user.permissions.search(/VIEW_USERS|ALL/) >= 0 ? + {this.props.auth.user.permissions.search(/VIEW_USERS|ALL/) >= 0 ? Users : null } From b554459f6022c374f7901feb61b0da4354bb082a Mon Sep 17 00:00:00 2001 From: SumukhaKV Date: Mon, 16 Jul 2018 14:39:12 +0530 Subject: [PATCH 13/14] Add uuid and remove getmac --- devmgmtV2/package-lock.json | 335 ++++++++++++++++-------------------- devmgmtV2/package.json | 4 +- 2 files changed, 149 insertions(+), 190 deletions(-) diff --git a/devmgmtV2/package-lock.json b/devmgmtV2/package-lock.json index 300af0d..b512b05 100644 --- a/devmgmtV2/package-lock.json +++ b/devmgmtV2/package-lock.json @@ -9,7 +9,7 @@ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.4.tgz", "integrity": "sha1-hiRnWMfdbSGmR0/whKR0DsBesh8=", "requires": { - "mime-types": "~2.1.16", + "mime-types": "2.1.17", "negotiator": "0.6.1" } }, @@ -18,10 +18,10 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", "requires": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" + "co": "4.6.0", + "fast-deep-equal": "1.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" } }, "array-flatten": { @@ -65,7 +65,7 @@ "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", "optional": true, "requires": { - "tweetnacl": "^0.14.3" + "tweetnacl": "0.14.5" } }, "binary": { @@ -73,8 +73,8 @@ "resolved": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz", "integrity": "sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk=", "requires": { - "buffers": "~0.1.1", - "chainsaw": "~0.1.0" + "buffers": "0.1.1", + "chainsaw": "0.1.0" } }, "body-parser": { @@ -83,15 +83,15 @@ "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=", "requires": { "bytes": "3.0.0", - "content-type": "~1.0.4", + "content-type": "1.0.4", "debug": "2.6.9", - "depd": "~1.1.1", - "http-errors": "~1.6.2", + "depd": "1.1.1", + "http-errors": "1.6.2", "iconv-lite": "0.4.19", - "on-finished": "~2.3.0", + "on-finished": "2.3.0", "qs": "6.5.1", "raw-body": "2.3.2", - "type-is": "~1.6.15" + "type-is": "1.6.15" } }, "brace-expansion": { @@ -99,7 +99,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, @@ -123,7 +123,7 @@ "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz", "integrity": "sha1-XqtQsor+WAdNDVgpE4iCi15fvJg=", "requires": { - "traverse": ">=0.3.0 <0.4" + "traverse": "0.3.9" } }, "co": { @@ -136,7 +136,7 @@ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", "requires": { - "delayed-stream": "~1.0.0" + "delayed-stream": "1.0.0" } }, "concat-map": { @@ -149,10 +149,10 @@ "resolved": "https://registry.npmjs.org/connect-multiparty/-/connect-multiparty-2.1.0.tgz", "integrity": "sha512-DLzhq7mcQKKk/Y83NLY5dp0kxO0xTxA5yu3oMgFBfpWLQR1NArrXMBcEXignTcNFVaXrjkgfepNG3nkfEy9Sow==", "requires": { - "multiparty": "~4.1.3", - "on-finished": "~2.3.0", - "qs": "~6.5.1", - "type-is": "~1.6.15" + "multiparty": "4.1.3", + "on-finished": "2.3.0", + "qs": "6.5.1", + "type-is": "1.6.15" } }, "content-disposition": { @@ -185,8 +185,8 @@ "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.4.tgz", "integrity": "sha1-K9OB8usgECAQXNUOpZ2mMJBpRoY=", "requires": { - "object-assign": "^4", - "vary": "^1" + "object-assign": "4.1.1", + "vary": "1.1.2" } }, "dashdash": { @@ -194,7 +194,7 @@ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "requires": { - "assert-plus": "^1.0.0" + "assert-plus": "1.0.0" } }, "debug": { @@ -225,29 +225,15 @@ "resolved": "https://registry.npmjs.org/diskspace/-/diskspace-2.0.0.tgz", "integrity": "sha1-/eO4jVzV4V0Je7QuVQcz4liMyRM=" }, - "eachr": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/eachr/-/eachr-3.2.0.tgz", - "integrity": "sha1-LDXkPqCGUW95l8+At6pk1VpKRIQ=", - "requires": { - "editions": "^1.1.1", - "typechecker": "^4.3.0" - } - }, "ecc-jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", "optional": true, "requires": { - "jsbn": "~0.1.0" + "jsbn": "0.1.1" } }, - "editions": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/editions/-/editions-1.3.4.tgz", - "integrity": "sha512-gzao+mxnYDzIysXKMQi/+M1mjy/rjestjg6OPoYTtI+3Izp23oiGZitsl9lPDPiTGXbcSIk1iJWhliSaglxnUg==" - }, "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -273,36 +259,36 @@ "resolved": "https://registry.npmjs.org/express/-/express-4.16.2.tgz", "integrity": "sha1-41xt/i1kt9ygpc1PIXgb4ymeB2w=", "requires": { - "accepts": "~1.3.4", + "accepts": "1.3.4", "array-flatten": "1.1.1", "body-parser": "1.18.2", "content-disposition": "0.5.2", - "content-type": "~1.0.4", + "content-type": "1.0.4", "cookie": "0.3.1", "cookie-signature": "1.0.6", "debug": "2.6.9", - "depd": "~1.1.1", - "encodeurl": "~1.0.1", - "escape-html": "~1.0.3", - "etag": "~1.8.1", + "depd": "1.1.1", + "encodeurl": "1.0.1", + "escape-html": "1.0.3", + "etag": "1.8.1", "finalhandler": "1.1.0", "fresh": "0.5.2", "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.2", + "methods": "1.1.2", + "on-finished": "2.3.0", + "parseurl": "1.3.2", "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.2", + "proxy-addr": "2.0.2", "qs": "6.5.1", - "range-parser": "~1.2.0", + "range-parser": "1.2.0", "safe-buffer": "5.1.1", "send": "0.16.1", "serve-static": "1.13.1", "setprototypeof": "1.1.0", - "statuses": "~1.3.1", - "type-is": "~1.6.15", + "statuses": "1.3.1", + "type-is": "1.6.15", "utils-merge": "1.0.1", - "vary": "~1.1.2" + "vary": "1.1.2" } }, "extend": { @@ -310,16 +296,6 @@ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=" }, - "extract-opts": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/extract-opts/-/extract-opts-3.3.1.tgz", - "integrity": "sha1-WrvtyYwNUgLjJ4cn+Rktfghsa+E=", - "requires": { - "eachr": "^3.2.0", - "editions": "^1.1.1", - "typechecker": "^4.3.0" - } - }, "extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", @@ -340,7 +316,7 @@ "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", "requires": { - "pend": "~1.2.0" + "pend": "1.2.0" } }, "finalhandler": { @@ -349,12 +325,12 @@ "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=", "requires": { "debug": "2.6.9", - "encodeurl": "~1.0.1", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "statuses": "~1.3.1", - "unpipe": "~1.0.0" + "encodeurl": "1.0.1", + "escape-html": "1.0.3", + "on-finished": "2.3.0", + "parseurl": "1.3.2", + "statuses": "1.3.1", + "unpipe": "1.0.0" } }, "forever-agent": { @@ -367,9 +343,9 @@ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", "requires": { - "asynckit": "^0.4.0", + "asynckit": "0.4.0", "combined-stream": "1.0.6", - "mime-types": "^2.1.12" + "mime-types": "2.1.17" } }, "forwarded": { @@ -392,19 +368,10 @@ "resolved": "https://registry.npmjs.org/fstream/-/fstream-0.1.31.tgz", "integrity": "sha1-czfwWPu7vvqMn1YaKMqwhJICyYg=", "requires": { - "graceful-fs": "~3.0.2", - "inherits": "~2.0.0", - "mkdirp": "0.5", - "rimraf": "2" - } - }, - "getmac": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/getmac/-/getmac-1.4.3.tgz", - "integrity": "sha512-bOZafIX+19cCS5KUjHtlJPZW+4joMa5tISIk5CugjmlZE0zZtjwB59wm56JPXVy5ELivw7g4Z9TEI0EDa2CSwQ==", - "requires": { - "editions": "^1.3.4", - "extract-opts": "^3.2.0" + "graceful-fs": "3.0.11", + "inherits": "2.0.3", + "mkdirp": "0.5.1", + "rimraf": "2.6.2" } }, "getpass": { @@ -412,7 +379,7 @@ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "requires": { - "assert-plus": "^1.0.0" + "assert-plus": "1.0.0" } }, "glob": { @@ -420,12 +387,12 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "graceful-fs": { @@ -433,7 +400,7 @@ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz", "integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=", "requires": { - "natives": "^1.1.0" + "natives": "1.1.1" } }, "har-schema": { @@ -446,8 +413,8 @@ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", "requires": { - "ajv": "^5.1.0", - "har-schema": "^2.0.0" + "ajv": "5.5.2", + "har-schema": "2.0.0" } }, "http-errors": { @@ -458,7 +425,7 @@ "depd": "1.1.1", "inherits": "2.0.3", "setprototypeof": "1.0.3", - "statuses": ">= 1.3.1 < 2" + "statuses": "1.3.1" }, "dependencies": { "setprototypeof": { @@ -473,9 +440,9 @@ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "assert-plus": "1.0.0", + "jsprim": "1.4.1", + "sshpk": "1.14.2" } }, "iconv-lite": { @@ -493,8 +460,8 @@ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { @@ -554,8 +521,8 @@ "resolved": "https://registry.npmjs.org/match-stream/-/match-stream-0.0.2.tgz", "integrity": "sha1-mesFAJOzTf+t5CG5rAtBCpz6F88=", "requires": { - "buffers": "~0.1.1", - "readable-stream": "~1.0.0" + "buffers": "0.1.1", + "readable-stream": "1.0.34" }, "dependencies": { "isarray": { @@ -568,10 +535,10 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", + "core-util-is": "1.0.2", + "inherits": "2.0.3", "isarray": "0.0.1", - "string_decoder": "~0.10.x" + "string_decoder": "0.10.31" } }, "string_decoder": { @@ -611,7 +578,7 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=", "requires": { - "mime-db": "~1.30.0" + "mime-db": "1.30.0" } }, "minimatch": { @@ -619,7 +586,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.8" } }, "mkdirp": { @@ -647,7 +614,7 @@ "resolved": "https://registry.npmjs.org/multiparty/-/multiparty-4.1.3.tgz", "integrity": "sha1-PEPH/LGJbhdGBDap3Qtu8WaOT5Q=", "requires": { - "fd-slicer": "~1.0.1" + "fd-slicer": "1.0.1" } }, "natives": { @@ -688,7 +655,7 @@ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "os-utils": { @@ -731,7 +698,7 @@ "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.2.tgz", "integrity": "sha1-ZXFQT0e7mI7IGAJT+F3X4UlSvew=", "requires": { - "forwarded": "~0.1.2", + "forwarded": "0.1.2", "ipaddr.js": "1.5.2" } }, @@ -740,10 +707,10 @@ "resolved": "https://registry.npmjs.org/pullstream/-/pullstream-0.4.1.tgz", "integrity": "sha1-1vs79a7Wl+gxFQ6xACwlo/iuExQ=", "requires": { - "over": ">= 0.0.5 < 1", - "readable-stream": "~1.0.31", - "setimmediate": ">= 1.0.2 < 2", - "slice-stream": ">= 1.0.0 < 2" + "over": "0.0.5", + "readable-stream": "1.0.34", + "setimmediate": "1.0.5", + "slice-stream": "1.0.0" }, "dependencies": { "isarray": { @@ -756,10 +723,10 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", + "core-util-is": "1.0.2", + "inherits": "2.0.3", "isarray": "0.0.1", - "string_decoder": "~0.10.x" + "string_decoder": "0.10.31" } }, "string_decoder": { @@ -810,26 +777,26 @@ "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz", "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==", "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.6.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.5", - "extend": "~3.0.1", - "forever-agent": "~0.6.1", - "form-data": "~2.3.1", - "har-validator": "~5.0.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.17", - "oauth-sign": "~0.8.2", - "performance-now": "^2.1.0", - "qs": "~6.5.1", - "safe-buffer": "^5.1.1", - "tough-cookie": "~2.3.3", - "tunnel-agent": "^0.6.0", - "uuid": "^3.1.0" + "aws-sign2": "0.7.0", + "aws4": "1.7.0", + "caseless": "0.12.0", + "combined-stream": "1.0.6", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.3.2", + "har-validator": "5.0.3", + "http-signature": "1.2.0", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.17", + "oauth-sign": "0.8.2", + "performance-now": "2.1.0", + "qs": "6.5.1", + "safe-buffer": "5.1.1", + "tough-cookie": "2.3.4", + "tunnel-agent": "0.6.0", + "uuid": "3.3.2" } }, "rimraf": { @@ -837,7 +804,7 @@ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "requires": { - "glob": "^7.0.5" + "glob": "7.1.2" } }, "safe-buffer": { @@ -856,18 +823,18 @@ "integrity": "sha512-ElCLJdJIKPk6ux/Hocwhk7NFHpI3pVm/IZOYWqUmoxcgeyM+MpxHHKhb8QmlJDX1pU6WrgaHBkVNm73Sv7uc2A==", "requires": { "debug": "2.6.9", - "depd": "~1.1.1", - "destroy": "~1.0.4", - "encodeurl": "~1.0.1", - "escape-html": "~1.0.3", - "etag": "~1.8.1", + "depd": "1.1.1", + "destroy": "1.0.4", + "encodeurl": "1.0.1", + "escape-html": "1.0.3", + "etag": "1.8.1", "fresh": "0.5.2", - "http-errors": "~1.6.2", + "http-errors": "1.6.2", "mime": "1.4.1", "ms": "2.0.0", - "on-finished": "~2.3.0", - "range-parser": "~1.2.0", - "statuses": "~1.3.1" + "on-finished": "2.3.0", + "range-parser": "1.2.0", + "statuses": "1.3.1" } }, "serve-static": { @@ -875,9 +842,9 @@ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.1.tgz", "integrity": "sha512-hSMUZrsPa/I09VYFJwa627JJkNs0NrfL1Uzuup+GqHfToR2KcsXFymXSV90hoyw3M+msjFuQly+YzIH/q0MGlQ==", "requires": { - "encodeurl": "~1.0.1", - "escape-html": "~1.0.3", - "parseurl": "~1.3.2", + "encodeurl": "1.0.1", + "escape-html": "1.0.3", + "parseurl": "1.3.2", "send": "0.16.1" } }, @@ -896,7 +863,7 @@ "resolved": "https://registry.npmjs.org/slice-stream/-/slice-stream-1.0.0.tgz", "integrity": "sha1-WzO9ZvATsaf4ZGCwPUY97DmtPqA=", "requires": { - "readable-stream": "~1.0.31" + "readable-stream": "1.0.34" }, "dependencies": { "isarray": { @@ -909,10 +876,10 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", + "core-util-is": "1.0.2", + "inherits": "2.0.3", "isarray": "0.0.1", - "string_decoder": "~0.10.x" + "string_decoder": "0.10.31" } }, "string_decoder": { @@ -927,15 +894,15 @@ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz", "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=", "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" + "asn1": "0.2.3", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.1", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.1", + "getpass": "0.1.7", + "jsbn": "0.1.1", + "safer-buffer": "2.1.2", + "tweetnacl": "0.14.5" } }, "statuses": { @@ -948,7 +915,7 @@ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", "requires": { - "punycode": "^1.4.1" + "punycode": "1.4.1" } }, "traverse": { @@ -961,7 +928,7 @@ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "requires": { - "safe-buffer": "^5.0.1" + "safe-buffer": "5.1.1" } }, "tweetnacl": { @@ -976,15 +943,7 @@ "integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA=", "requires": { "media-typer": "0.3.0", - "mime-types": "~2.1.15" - } - }, - "typechecker": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/typechecker/-/typechecker-4.5.0.tgz", - "integrity": "sha512-bqPE/ck3bVIaXP7gMKTKSHrypT32lpYTpiqzPYeYzdSQnmaGvaGhy7TnN/M/+5R+2rs/kKcp9ZLPRp/Q9Yj+4w==", - "requires": { - "editions": "^1.3.4" + "mime-types": "2.1.17" } }, "uniqid": { @@ -1002,12 +961,12 @@ "resolved": "https://registry.npmjs.org/unzip/-/unzip-0.1.11.tgz", "integrity": "sha1-iXScY7BY19kNYZ+GuYqhU107l/A=", "requires": { - "binary": ">= 0.3.0 < 1", - "fstream": ">= 0.1.30 < 1", - "match-stream": ">= 0.0.2 < 1", - "pullstream": ">= 0.4.1 < 1", - "readable-stream": "~1.0.31", - "setimmediate": ">= 1.0.1 < 2" + "binary": "0.3.0", + "fstream": "0.1.31", + "match-stream": "0.0.2", + "pullstream": "0.4.1", + "readable-stream": "1.0.34", + "setimmediate": "1.0.5" }, "dependencies": { "isarray": { @@ -1020,10 +979,10 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", + "core-util-is": "1.0.2", + "inherits": "2.0.3", "isarray": "0.0.1", - "string_decoder": "~0.10.x" + "string_decoder": "0.10.31" } }, "string_decoder": { @@ -1039,9 +998,9 @@ "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" }, "uuid": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz", - "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==" + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" }, "vary": { "version": "1.1.2", @@ -1053,9 +1012,9 @@ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "requires": { - "assert-plus": "^1.0.0", + "assert-plus": "1.0.0", "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" + "extsprintf": "1.3.0" } }, "wrappy": { diff --git a/devmgmtV2/package.json b/devmgmtV2/package.json index cff09cd..2bb3deb 100644 --- a/devmgmtV2/package.json +++ b/devmgmtV2/package.json @@ -14,7 +14,6 @@ "cors": "^2.8.4", "diskspace": "^2.0.0", "express": "^4.16.2", - "getmac": "^1.4.3", "image-size": "^0.6.2", "node-cron": "^1.2.1", "os-utils": "0.0.14", @@ -22,6 +21,7 @@ "random-mac": "0.0.4", "request": "^2.87.0", "uniqid": "^5.0.3", - "unzip": "^0.1.11" + "unzip": "^0.1.11", + "uuid": "^3.3.2" } } From 72a11efd5cf018b210794fe40a40e73b8f4e2ee4 Mon Sep 17 00:00:00 2001 From: SumukhaKV Date: Mon, 16 Jul 2018 14:56:44 +0530 Subject: [PATCH 14/14] Add unique device ID instead of MAC address in telemetryStructure --- devmgmtV2/middlewares/telemetry.middleware.js | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/devmgmtV2/middlewares/telemetry.middleware.js b/devmgmtV2/middlewares/telemetry.middleware.js index b4383d1..0fb303e 100644 --- a/devmgmtV2/middlewares/telemetry.middleware.js +++ b/devmgmtV2/middlewares/telemetry.middleware.js @@ -5,11 +5,13 @@ const fs = require('fs'); const path = require('path'); const q = require('q'); const exec = require('child_process').exec; -const mac = require('getmac'); const { saveTelemetry } = require('../../telemetrysdk'); +let { + selectFields +} = require('dbsdk'); // Generic telemetry JSON structure const telemetryStructure = { @@ -119,10 +121,10 @@ const addAgnosticDataAndSave = (telemetryData, actor, timestamp) => { } } - return _getMacAddr(); + return _getDeviceID(); }) - .then(macAddr => { - const deviceID = macAddr; + .then(response => { + const deviceID = response[0].dev_id; telemetryData = { ...telemetryData, @@ -164,17 +166,16 @@ const _formatTimestamp = timestamp => { return `${date} ${time}`; } -const _getMacAddr = () => { +const _getDeviceID = () => { let defer = q.defer(); - mac.getMac((err, addr) => { - if(err) { - console.log('Error encountered while fetching mac address.', err); - defer.reject(err); - } else { - defer.resolve(addr); - } - }); + selectFields({dbName : 'device_mgmt', tableName : 'device', columns : ["dev_id"]}) + .then(response => { + defer.resolve(response); + }).catch(e => { + console.log(e); + defer.reject(e); + }) return defer.promise; }