diff --git a/admin/app/controllers/settings/energyflowdiagram/energyflowdiagram.controller.js b/admin/app/controllers/settings/energyflowdiagram/energyflowdiagram.controller.js index dd8f81fe..f17b5639 100644 --- a/admin/app/controllers/settings/energyflowdiagram/energyflowdiagram.controller.js +++ b/admin/app/controllers/settings/energyflowdiagram/energyflowdiagram.controller.js @@ -1,7 +1,14 @@ 'use strict'; -app.controller('EnergyFlowDiagramController', function($scope, $translate, $uibModal, EnergyFlowDiagramService, toaster,SweetAlert) { - +app.controller('EnergyFlowDiagramController', function( + $scope, + $window, + $translate, + $uibModal, + EnergyFlowDiagramService, + toaster, + SweetAlert) { + $scope.cur_user = JSON.parse($window.localStorage.getItem("myems_admin_ui_current_user")); $scope.getAllEnergyFlowDiagrams = function() { EnergyFlowDiagramService.getAllEnergyFlowDiagrams(function (response) { if (angular.isDefined(response.status) && response.status === 200) { @@ -19,7 +26,8 @@ app.controller('EnergyFlowDiagramController', function($scope, $translate, $uibM windowClass: "animated fadeIn", }); modalInstance.result.then(function(energyflowdiagram) { - EnergyFlowDiagramService.addEnergyFlowDiagram(energyflowdiagram, function (response) { + let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token }; + EnergyFlowDiagramService.addEnergyFlowDiagram(energyflowdiagram, headers, function (response) { if (angular.isDefined(response.status) && response.status === 201) { toaster.pop({ type: "success", @@ -58,7 +66,8 @@ app.controller('EnergyFlowDiagramController', function($scope, $translate, $uibM }); modalInstance.result.then(function(modifiedEnergyFlowDiagram) { - EnergyFlowDiagramService.editEnergyFlowDiagram(modifiedEnergyFlowDiagram, function (response) { + let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token }; + EnergyFlowDiagramService.editEnergyFlowDiagram(modifiedEnergyFlowDiagram, headers, function (response) { if (angular.isDefined(response.status) && response.status === 200) { toaster.pop({ type: "success", @@ -95,7 +104,8 @@ app.controller('EnergyFlowDiagramController', function($scope, $translate, $uibM closeOnCancel: true }, function (isConfirm) { if (isConfirm) { - EnergyFlowDiagramService.deleteEnergyFlowDiagram(energyflowdiagram, function (response) { + let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token }; + EnergyFlowDiagramService.deleteEnergyFlowDiagram(energyflowdiagram, headers, function (response) { if (angular.isDefined(response.status) && response.status === 204) { toaster.pop({ type: "success", diff --git a/admin/app/controllers/settings/energyflowdiagram/energyflowdiagramlink.controller.js b/admin/app/controllers/settings/energyflowdiagram/energyflowdiagramlink.controller.js index 2849bd9d..2355d33f 100644 --- a/admin/app/controllers/settings/energyflowdiagram/energyflowdiagramlink.controller.js +++ b/admin/app/controllers/settings/energyflowdiagram/energyflowdiagramlink.controller.js @@ -1,6 +1,18 @@ 'use strict'; -app.controller('EnergyFlowDiagramLinkController', function($scope,$uibModal, $translate, MeterService, VirtualMeterService, OfflineMeterService, EnergyFlowDiagramLinkService, EnergyFlowDiagramService, EnergyFlowDiagramNodeService, toaster,SweetAlert) { +app.controller('EnergyFlowDiagramLinkController', function( + $scope, + $window, + $uibModal, + $translate, + MeterService, + VirtualMeterService, + OfflineMeterService, + EnergyFlowDiagramLinkService, + EnergyFlowDiagramService, + EnergyFlowDiagramNodeService, + toaster, + SweetAlert) { $scope.currentEnergyFlowDiagram = {selected:undefined}; $scope.is_show_add_link = false; $scope.energyflowdiagrams = []; @@ -10,7 +22,7 @@ app.controller('EnergyFlowDiagramLinkController', function($scope,$uibModal, $tr $scope.offlinemeters = []; $scope.virtualmeters = []; $scope.mergedMeters = []; - + $scope.cur_user = JSON.parse($window.localStorage.getItem("myems_admin_ui_current_user")); $scope.getAllEnergyFlowDiagrams = function() { EnergyFlowDiagramService.getAllEnergyFlowDiagrams(function (response) { if (angular.isDefined(response.status) && response.status === 200) { @@ -77,8 +89,8 @@ app.controller('EnergyFlowDiagramLinkController', function($scope,$uibModal, $tr if (energyflowdiagramlink.meter != null) { energyflowdiagramlink.meter_uuid = energyflowdiagramlink.meter.uuid; } - - EnergyFlowDiagramLinkService.addEnergyFlowDiagramLink(energyflowdiagramid, energyflowdiagramlink, function (response) { + let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token }; + EnergyFlowDiagramLinkService.addEnergyFlowDiagramLink(energyflowdiagramid, energyflowdiagramlink, headers, function (response) { if (angular.isDefined(response.status) && response.status === 201) { toaster.pop({ type: "success", @@ -128,7 +140,8 @@ app.controller('EnergyFlowDiagramLinkController', function($scope,$uibModal, $tr if (modifiedEnergyFlowDiagramLink.meter != null) { modifiedEnergyFlowDiagramLink.meter_uuid = modifiedEnergyFlowDiagramLink.meter.uuid; } - EnergyFlowDiagramLinkService.editEnergyFlowDiagramLink($scope.currentEnergyFlowDiagram.id, modifiedEnergyFlowDiagramLink, function (response) { + let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token }; + EnergyFlowDiagramLinkService.editEnergyFlowDiagramLink($scope.currentEnergyFlowDiagram.id, modifiedEnergyFlowDiagramLink, headers, function (response) { if (angular.isDefined(response.status) && response.status === 200) { toaster.pop({ type: "success", @@ -166,7 +179,8 @@ app.controller('EnergyFlowDiagramLinkController', function($scope,$uibModal, $tr }, function(isConfirm) { if (isConfirm) { - EnergyFlowDiagramLinkService.deleteEnergyFlowDiagramLink($scope.currentEnergyFlowDiagram.id, energyflowdiagramlink.id, function (response) { + let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token }; + EnergyFlowDiagramLinkService.deleteEnergyFlowDiagramLink($scope.currentEnergyFlowDiagram.id, energyflowdiagramlink.id, headers, function (response) { if (angular.isDefined(response.status) && response.status === 204) { toaster.pop({ type: "success", @@ -265,15 +279,14 @@ app.controller('EnergyFlowDiagramLinkController', function($scope,$uibModal, $tr app.controller('ModalAddEnergyFlowDiagramLinkCtrl', function($scope, $uibModalInstance, params) { $scope.operation = "ENERGY_FLOW_DIAGRAM.ADD_LINK"; - $scope.energyflowdiagramlink = { - source_node: {id: null, name: null}, - target_node: {id: null, name: null}, - meter: {id: null, uuid: null, name: null, type: null}, - }; - $scope.energyflowdiagramnodes = params.energyflowdiagramnodes; - $scope.mergedmeters = params.mergedmeters; + $scope.energyflowdiagramlink = { + source_node: {id: null, name: null}, + target_node: {id: null, name: null}, + meter: {id: null, uuid: null, name: null, type: null}, + }; + $scope.energyflowdiagramnodes = params.energyflowdiagramnodes; + $scope.mergedmeters = params.mergedmeters; $scope.ok = function() { - $uibModalInstance.close($scope.energyflowdiagramlink); }; @@ -285,8 +298,8 @@ app.controller('ModalAddEnergyFlowDiagramLinkCtrl', function($scope, $uibModalIn app.controller('ModalEditEnergyFlowDiagramLinkCtrl', function($scope, $uibModalInstance, params) { $scope.operation = "ENERGY_FLOW_DIAGRAM.EDIT_LINK"; $scope.energyflowdiagramlink = params.energyflowdiagramlink; - $scope.energyflowdiagramnodes = params.energyflowdiagramnodes; - $scope.mergedmeters = params.mergedmeters; + $scope.energyflowdiagramnodes = params.energyflowdiagramnodes; + $scope.mergedmeters = params.mergedmeters; $scope.ok = function() { $uibModalInstance.close($scope.energyflowdiagramlink); }; diff --git a/admin/app/controllers/settings/energyflowdiagram/energyflowdiagramnode.controller.js b/admin/app/controllers/settings/energyflowdiagram/energyflowdiagramnode.controller.js index fae5cfe7..bae48548 100644 --- a/admin/app/controllers/settings/energyflowdiagram/energyflowdiagramnode.controller.js +++ b/admin/app/controllers/settings/energyflowdiagram/energyflowdiagramnode.controller.js @@ -1,10 +1,18 @@ 'use strict'; -app.controller('EnergyFlowDiagramNodeController', function($scope, $translate, $uibModal, EnergyFlowDiagramService, EnergyFlowDiagramNodeService, toaster,SweetAlert) { +app.controller('EnergyFlowDiagramNodeController', function( + $scope, + $window, + $translate, + $uibModal, + EnergyFlowDiagramService, + EnergyFlowDiagramNodeService, + toaster, + SweetAlert) { $scope.energyflowdiagrams = []; $scope.energyflowdiagramnodes = []; $scope.currentEnergyFlowDiagram = null; - + $scope.cur_user = JSON.parse($window.localStorage.getItem("myems_admin_ui_current_user")); $scope.getAllEnergyFlowDiagrams = function() { EnergyFlowDiagramService.getAllEnergyFlowDiagrams(function (response) { if (angular.isDefined(response.status) && response.status === 200) { @@ -48,8 +56,8 @@ app.controller('EnergyFlowDiagramNodeController', function($scope, $translate, $ }); modalInstance.result.then(function(energyflowdiagramnode) { var energyflowdiagramid = $scope.currentEnergyFlowDiagram.id; - - EnergyFlowDiagramNodeService.addEnergyFlowDiagramNode(energyflowdiagramid, energyflowdiagramnode, function (response) { + let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token }; + EnergyFlowDiagramNodeService.addEnergyFlowDiagramNode(energyflowdiagramid, energyflowdiagramnode, headers, function (response) { if (angular.isDefined(response.status) && response.status === 201) { toaster.pop({ type: "success", @@ -88,7 +96,8 @@ app.controller('EnergyFlowDiagramNodeController', function($scope, $translate, $ }); modalInstance.result.then(function(modifiedEnergyFlowDiagramNode) { - EnergyFlowDiagramNodeService.editEnergyFlowDiagramNode($scope.currentEnergyFlowDiagram.id, modifiedEnergyFlowDiagramNode, function (response) { + let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token }; + EnergyFlowDiagramNodeService.editEnergyFlowDiagramNode($scope.currentEnergyFlowDiagram.id, modifiedEnergyFlowDiagramNode, headers, function (response) { if (angular.isDefined(response.status) && response.status === 200) { toaster.pop({ type: "success", @@ -126,7 +135,8 @@ app.controller('EnergyFlowDiagramNodeController', function($scope, $translate, $ }, function(isConfirm) { if (isConfirm) { - EnergyFlowDiagramNodeService.deleteEnergyFlowDiagramNode($scope.currentEnergyFlowDiagram.id, energyflowdiagramnode.id, function (response) { + let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token }; + EnergyFlowDiagramNodeService.deleteEnergyFlowDiagramNode($scope.currentEnergyFlowDiagram.id, energyflowdiagramnode.id, headers, function (response) { if (angular.isDefined(response.status) && response.status === 204) { toaster.pop({ type: "success", diff --git a/admin/app/services/settings/energyflowdiagram/energyflowdiagram.service.js b/admin/app/services/settings/energyflowdiagram/energyflowdiagram.service.js index c82b3f22..6180fe60 100644 --- a/admin/app/services/settings/energyflowdiagram/energyflowdiagram.service.js +++ b/admin/app/services/settings/energyflowdiagram/energyflowdiagram.service.js @@ -17,24 +17,24 @@ app.factory('EnergyFlowDiagramService', function($http) { callback(response); }); }, - addEnergyFlowDiagram: function(energyflowdiagram, callback) { - $http.post(getAPI()+'energyflowdiagrams',{data:energyflowdiagram}) + addEnergyFlowDiagram: function(energyflowdiagram, headers, callback) { + $http.post(getAPI()+'energyflowdiagrams',{data:energyflowdiagram}, {headers}) .then(function (response) { callback(response); }, function (response) { callback(response); }); }, - editEnergyFlowDiagram: function(energyflowdiagram, callback) { - $http.put(getAPI()+'energyflowdiagrams/'+energyflowdiagram.id,{data:energyflowdiagram}) + editEnergyFlowDiagram: function(energyflowdiagram, headers, callback) { + $http.put(getAPI()+'energyflowdiagrams/'+energyflowdiagram.id,{data:energyflowdiagram}, {headers}) .then(function (response) { callback(response); }, function (response) { callback(response); }); }, - deleteEnergyFlowDiagram: function(energyflowdiagram, callback) { - $http.delete(getAPI()+'energyflowdiagrams/'+energyflowdiagram.id) + deleteEnergyFlowDiagram: function(energyflowdiagram, headers, callback) { + $http.delete(getAPI()+'energyflowdiagrams/'+energyflowdiagram.id, {headers}) .then(function (response) { callback(response); }, function (response) { diff --git a/admin/app/services/settings/energyflowdiagram/energyflowdiagramlink.service.js b/admin/app/services/settings/energyflowdiagram/energyflowdiagramlink.service.js index 511fb04a..0709c60b 100644 --- a/admin/app/services/settings/energyflowdiagram/energyflowdiagramlink.service.js +++ b/admin/app/services/settings/energyflowdiagram/energyflowdiagramlink.service.js @@ -10,16 +10,16 @@ app.factory('EnergyFlowDiagramLinkService', function($http) { callback(response); }); }, - addEnergyFlowDiagramLink: function(energyflowdiagramID, energyflowdiagramlink, callback) { - $http.post(getAPI()+'energyflowdiagrams/'+energyflowdiagramID+'/links',{data:energyflowdiagramlink}) + addEnergyFlowDiagramLink: function(energyflowdiagramID, energyflowdiagramlink, headers, callback) { + $http.post(getAPI()+'energyflowdiagrams/'+energyflowdiagramID+'/links',{data:energyflowdiagramlink}, {headers}) .then(function (response) { callback(response); }, function (response) { callback(response); }); }, - editEnergyFlowDiagramLink: function(energyflowdiagramID,energyflowdiagramlink,callback) { - $http.put(getAPI()+'energyflowdiagrams/'+energyflowdiagramID+'/links/'+energyflowdiagramlink.id,{data:energyflowdiagramlink}) + editEnergyFlowDiagramLink: function(energyflowdiagramID, energyflowdiagramlink, headers, callback) { + $http.put(getAPI()+'energyflowdiagrams/'+energyflowdiagramID+'/links/'+energyflowdiagramlink.id,{data:energyflowdiagramlink}, {headers}) .then(function (response) { callback(response); }, function (response) { @@ -27,8 +27,8 @@ app.factory('EnergyFlowDiagramLinkService', function($http) { }); }, - deleteEnergyFlowDiagramLink: function(energyflowdiagramID, linkID, callback) { - $http.delete(getAPI()+'energyflowdiagrams/'+energyflowdiagramID+'/links/'+linkID) + deleteEnergyFlowDiagramLink: function(energyflowdiagramID, linkID, headers, callback) { + $http.delete(getAPI()+'energyflowdiagrams/'+energyflowdiagramID+'/links/'+linkID, {headers}) .then(function (response) { callback(response); }, function (response) { diff --git a/admin/app/services/settings/energyflowdiagram/energyflowdiagramnode.service.js b/admin/app/services/settings/energyflowdiagram/energyflowdiagramnode.service.js index b9d69a7f..4786ec09 100644 --- a/admin/app/services/settings/energyflowdiagram/energyflowdiagramnode.service.js +++ b/admin/app/services/settings/energyflowdiagram/energyflowdiagramnode.service.js @@ -9,16 +9,16 @@ app.factory('EnergyFlowDiagramNodeService', function($http) { callback(response); }); }, - addEnergyFlowDiagramNode: function(energyflowdiagramID, energyflowdiagramnode,callback) { - $http.post(getAPI()+'energyflowdiagrams/'+energyflowdiagramID+'/nodes',{data:energyflowdiagramnode}) + addEnergyFlowDiagramNode: function(energyflowdiagramID, energyflowdiagramnode, headers, callback) { + $http.post(getAPI()+'energyflowdiagrams/'+energyflowdiagramID+'/nodes',{data:energyflowdiagramnode}, {headers}) .then(function (response) { callback(response); }, function (response) { callback(response); }); }, - editEnergyFlowDiagramNode: function(energyflowdiagramID,energyflowdiagramnode,callback) { - $http.put(getAPI()+'energyflowdiagrams/'+energyflowdiagramID+'/nodes/'+energyflowdiagramnode.id,{data:energyflowdiagramnode}) + editEnergyFlowDiagramNode: function(energyflowdiagramID, energyflowdiagramnode, headers, callback) { + $http.put(getAPI()+'energyflowdiagrams/'+energyflowdiagramID+'/nodes/'+energyflowdiagramnode.id,{data:energyflowdiagramnode}, {headers}) .then(function (response) { callback(response); }, function (response) { @@ -26,8 +26,8 @@ app.factory('EnergyFlowDiagramNodeService', function($http) { }); }, - deleteEnergyFlowDiagramNode: function(energyflowdiagramID, nodeID, callback) { - $http.delete(getAPI()+'energyflowdiagrams/'+energyflowdiagramID+'/nodes/'+nodeID) + deleteEnergyFlowDiagramNode: function(energyflowdiagramID, nodeID, headers, callback) { + $http.delete(getAPI()+'energyflowdiagrams/'+energyflowdiagramID+'/nodes/'+nodeID, {headers}) .then(function (response) { callback(response); }, function (response) { diff --git a/admin/app/services/settings/energyflowdiagram/equipmentparameter.model.html b/admin/app/services/settings/energyflowdiagram/equipmentparameter.model.html deleted file mode 100644 index f1bfb19c..00000000 --- a/admin/app/services/settings/energyflowdiagram/equipmentparameter.model.html +++ /dev/null @@ -1,84 +0,0 @@ -
- - - -
diff --git a/myems-api/MyEMS.postman_collection.json b/myems-api/MyEMS.postman_collection.json index 83e5cb51..e97d0f14 100644 --- a/myems-api/MyEMS.postman_collection.json +++ b/myems-api/MyEMS.postman_collection.json @@ -1,6 +1,6 @@ { "info": { - "_postman_id": "98580f5c-106c-4b86-8262-ec3c918608e1", + "_postman_id": "275f5f12-078c-421a-a050-f054e344dc2b", "name": "MyEMS", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" }, @@ -2030,7 +2030,20 @@ "name": "POST Create an Energy Flow Diagram", "request": { "method": "POST", - "header": [], + "header": [ + { + "key": "User-UUID", + "value": "dcdb67d1-6116-4987-916f-6fc6cf2bc0e4", + "description": "Any admin users' UUID", + "type": "text" + }, + { + "key": "Token", + "value": "bd16461ce31dca5c026ee17b1e6e10167d7558230fc6387b4149819a1a2b0d19b87b72687fa488ee41b358b7d229ab44f1011968308c0cf3e9d379e6ae6b2565", + "description": "Login to get a valid token", + "type": "text" + } + ], "body": { "mode": "raw", "raw": "{\"data\":{\"name\":\"MyEMS Energy Flow\"}}" @@ -2051,19 +2064,32 @@ "name": "PUT Update an Energy Flow Diagram", "request": { "method": "PUT", - "header": [], + "header": [ + { + "key": "User-UUID", + "value": "dcdb67d1-6116-4987-916f-6fc6cf2bc0e4", + "description": "Any admin users' UUID", + "type": "text" + }, + { + "key": "Token", + "value": "bd16461ce31dca5c026ee17b1e6e10167d7558230fc6387b4149819a1a2b0d19b87b72687fa488ee41b358b7d229ab44f1011968308c0cf3e9d379e6ae6b2565", + "description": "Login to get a valid token", + "type": "text" + } + ], "body": { "mode": "raw", "raw": "{\"data\":{\"name\":\"MyEMS Energy Flow Diagram\"}}" }, "url": { - "raw": "{{base_url}}/energyflowdiagrams/1", + "raw": "{{base_url}}/energyflowdiagrams/2000000", "host": [ "{{base_url}}" ], "path": [ "energyflowdiagrams", - "1" + "2000000" ] } }, @@ -2073,15 +2099,28 @@ "name": "DELETE an Energy Flow Diagram", "request": { "method": "DELETE", - "header": [], + "header": [ + { + "key": "User-UUID", + "value": "dcdb67d1-6116-4987-916f-6fc6cf2bc0e4", + "description": "Any admin users' UUID", + "type": "text" + }, + { + "key": "Token", + "value": "bd16461ce31dca5c026ee17b1e6e10167d7558230fc6387b4149819a1a2b0d19b87b72687fa488ee41b358b7d229ab44f1011968308c0cf3e9d379e6ae6b2565", + "description": "Login to get a valid token", + "type": "text" + } + ], "url": { - "raw": "{{base_url}}/energyflowdiagrams/2", + "raw": "{{base_url}}/energyflowdiagrams/2000000", "host": [ "{{base_url}}" ], "path": [ "energyflowdiagrams", - "2" + "2000000" ] } }, @@ -2093,13 +2132,13 @@ "method": "GET", "header": [], "url": { - "raw": "{{base_url}}/energyflowdiagrams/1/nodes", + "raw": "{{base_url}}/energyflowdiagrams/1000000/nodes", "host": [ "{{base_url}}" ], "path": [ "energyflowdiagrams", - "1", + "1000000", "nodes" ] } @@ -2110,19 +2149,32 @@ "name": "POST Create new Node of an Energy Flow Diagram", "request": { "method": "POST", - "header": [], + "header": [ + { + "key": "User-UUID", + "value": "dcdb67d1-6116-4987-916f-6fc6cf2bc0e4", + "type": "text", + "description": "Any admin users' UUID" + }, + { + "key": "Token", + "value": "bd16461ce31dca5c026ee17b1e6e10167d7558230fc6387b4149819a1a2b0d19b87b72687fa488ee41b358b7d229ab44f1011968308c0cf3e9d379e6ae6b2565", + "type": "text", + "description": "Login to get a valid token" + } + ], "body": { "mode": "raw", "raw": "{\"data\":{\"name\":\"10KV#3\"}}" }, "url": { - "raw": "{{base_url}}/energyflowdiagrams/1/nodes", + "raw": "{{base_url}}/energyflowdiagrams/1000000/nodes", "host": [ "{{base_url}}" ], "path": [ "energyflowdiagrams", - "1", + "1000000", "nodes" ] } @@ -2133,21 +2185,34 @@ "name": "PUT Update an Node of an Energy Flow Diagram", "request": { "method": "PUT", - "header": [], + "header": [ + { + "key": "User-UUID", + "value": "dcdb67d1-6116-4987-916f-6fc6cf2bc0e4", + "type": "text", + "description": "Any admin users' UUID" + }, + { + "key": "Token", + "value": "bd16461ce31dca5c026ee17b1e6e10167d7558230fc6387b4149819a1a2b0d19b87b72687fa488ee41b358b7d229ab44f1011968308c0cf3e9d379e6ae6b2565", + "type": "text", + "description": "Login to get a valid token" + } + ], "body": { "mode": "raw", "raw": "{\"data\":{\"name\":\"10KV Input #1\"}}" }, "url": { - "raw": "{{base_url}}/energyflowdiagrams/1/nodes/1", + "raw": "{{base_url}}/energyflowdiagrams/1000000/nodes/3000000", "host": [ "{{base_url}}" ], "path": [ "energyflowdiagrams", - "1", + "1000000", "nodes", - "1" + "3000000" ] } }, @@ -2157,17 +2222,30 @@ "name": "DELETE an Node of an Energy Flow Diagram", "request": { "method": "DELETE", - "header": [], + "header": [ + { + "key": "User-UUID", + "value": "dcdb67d1-6116-4987-916f-6fc6cf2bc0e4", + "type": "text", + "description": "Any admin users' UUID" + }, + { + "key": "Token", + "value": "bd16461ce31dca5c026ee17b1e6e10167d7558230fc6387b4149819a1a2b0d19b87b72687fa488ee41b358b7d229ab44f1011968308c0cf3e9d379e6ae6b2565", + "type": "text", + "description": "Login to get a valid token" + } + ], "url": { - "raw": "{{base_url}}/energyflowdiagrams/1/nodes/3", + "raw": "{{base_url}}/energyflowdiagrams/1000000/nodes/3000000", "host": [ "{{base_url}}" ], "path": [ "energyflowdiagrams", - "1", + "1000000", "nodes", - "3" + "3000000" ] } }, @@ -2179,13 +2257,13 @@ "method": "GET", "header": [], "url": { - "raw": "{{base_url}}/energyflowdiagrams/1/links", + "raw": "{{base_url}}/energyflowdiagrams/1000000/links", "host": [ "{{base_url}}" ], "path": [ "energyflowdiagrams", - "1", + "1000000", "links" ] } @@ -2196,19 +2274,32 @@ "name": "POST Create new Link of an Energy Flow Diagram", "request": { "method": "POST", - "header": [], + "header": [ + { + "key": "User-UUID", + "value": "dcdb67d1-6116-4987-916f-6fc6cf2bc0e4", + "type": "text", + "description": "Any admin users' UUID" + }, + { + "key": "Token", + "value": "bd16461ce31dca5c026ee17b1e6e10167d7558230fc6387b4149819a1a2b0d19b87b72687fa488ee41b358b7d229ab44f1011968308c0cf3e9d379e6ae6b2565", + "type": "text", + "description": "Login to get a valid token" + } + ], "body": { "mode": "raw", - "raw": "{\"data\":{\"source_node_id\":1, \"target_node_id\":2, \"meter_uuid\":\"493cd112-6295-43c6-98aa-e7f801e7b7ba\"}}" + "raw": "{\"data\":{\"source_node_id\":1000000, \"target_node_id\":1000008, \"meter_uuid\":\"eb78f7f9-f26f-463b-92fa-d9daf5b3651c\"}}" }, "url": { - "raw": "{{base_url}}/energyflowdiagrams/1/links", + "raw": "{{base_url}}/energyflowdiagrams/1000000/links", "host": [ "{{base_url}}" ], "path": [ "energyflowdiagrams", - "1", + "1000000", "links" ] } @@ -2219,21 +2310,34 @@ "name": "PUT Update a Link of an Energy Flow Diagram", "request": { "method": "PUT", - "header": [], + "header": [ + { + "key": "User-UUID", + "value": "dcdb67d1-6116-4987-916f-6fc6cf2bc0e4", + "type": "text", + "description": "Any admin users' UUID" + }, + { + "key": "Token", + "value": "bd16461ce31dca5c026ee17b1e6e10167d7558230fc6387b4149819a1a2b0d19b87b72687fa488ee41b358b7d229ab44f1011968308c0cf3e9d379e6ae6b2565", + "type": "text", + "description": "Login to get a valid token" + } + ], "body": { "mode": "raw", - "raw": "{\"data\":{\"source_node_id\":1, \"target_node_id\":4, \"meter_uuid\":\"493cd112-6295-43c6-98aa-e7f801e7b7ba\"}}" + "raw": "{\"data\":{\"source_node_id\":1000000, \"target_node_id\":1000009, \"meter_uuid\":\"eb78f7f9-f26f-463b-92fa-d9daf5b3651c\"}}" }, "url": { - "raw": "{{base_url}}/energyflowdiagrams/1/links/1", + "raw": "{{base_url}}/energyflowdiagrams/1000000/links/3000000", "host": [ "{{base_url}}" ], "path": [ "energyflowdiagrams", - "1", + "1000000", "links", - "1" + "3000000" ] } }, @@ -2243,17 +2347,30 @@ "name": "DELETE a Link of an Energy Flow Diagram", "request": { "method": "DELETE", - "header": [], + "header": [ + { + "key": "User-UUID", + "value": "dcdb67d1-6116-4987-916f-6fc6cf2bc0e4", + "type": "text", + "description": "Any admin users' UUID" + }, + { + "key": "Token", + "value": "bd16461ce31dca5c026ee17b1e6e10167d7558230fc6387b4149819a1a2b0d19b87b72687fa488ee41b358b7d229ab44f1011968308c0cf3e9d379e6ae6b2565", + "type": "text", + "description": "Login to get a valid token" + } + ], "url": { - "raw": "{{base_url}}/energyflowdiagrams/1/links/2", + "raw": "{{base_url}}/energyflowdiagrams/1000000/links/3000000", "host": [ "{{base_url}}" ], "path": [ "energyflowdiagrams", - "1", + "1000000", "links", - "2" + "3000000" ] } }, diff --git a/myems-api/README.md b/myems-api/README.md index 4c5cc047..262bdef5 100644 --- a/myems-api/README.md +++ b/myems-api/README.md @@ -604,15 +604,15 @@ curl -i -X GET {{base_url}}/energyflowdiagrams ``` * DELETE an Energy Flow Diagram by ID ```bash -curl -i -X DELETE {{base_url}}/energyflowdiagrams/{id} +curl -i -H "User-UUID: dcdb67d1-6116-4987-916f-6fc6cf2bc0e4" -H "Token: GET-TOKEN-AFTER-LOGIN" -X DELETE {{base_url}}/energyflowdiagrams/{id} ``` * POST Create an Energy Flow Diagram ```bash -curl -i -H "Content-Type: application/json" -X POST -d '{"data":{"name":"MyEMS Energy Flow"}}' {{base_url}}/energyflowdiagrams +curl -i -H "Content-Type: application/json" -H "User-UUID: dcdb67d1-6116-4987-916f-6fc6cf2bc0e4" -H "Token: GET-TOKEN-AFTER-LOGIN" -X POST -d '{"data":{"name":"MyEMS Energy Flow"}}' {{base_url}}/energyflowdiagrams ``` * PUT Update an Energy Flow Diagram ```bash -curl -i -H "Content-Type: application/json" -X PUT -d '{"data":{"name":"MyEMS Energy Flow Diagram"}}' {{base_url}}/energyflowdiagrams/{id} +curl -i -H "Content-Type: application/json" -H "User-UUID: dcdb67d1-6116-4987-916f-6fc6cf2bc0e4" -H "Token: GET-TOKEN-AFTER-LOGIN" -X PUT -d '{"data":{"name":"MyEMS Energy Flow Diagram"}}' {{base_url}}/energyflowdiagrams/{id} ``` * GET All Nodes of an Energy Flow Diagram by ID ```bash @@ -620,15 +620,15 @@ curl -i -X GET {{base_url}}/energyflowdiagrams/{id}/nodes ``` * POST Create a Node of an Energy Flow Diagram ```bash -curl -i -H "Content-Type: application/json" -X POST -d '{"data":{"name":"10KV#1"}}' {{base_url}}/energyflowdiagrams/{id}/nodes +curl -i -H "Content-Type: application/json" -H "User-UUID: dcdb67d1-6116-4987-916f-6fc6cf2bc0e4" -H "Token: GET-TOKEN-AFTER-LOGIN" -X POST -d '{"data":{"name":"10KV#1"}}' {{base_url}}/energyflowdiagrams/{id}/nodes ``` * PUT Update a Node of an Energy Flow Diagram ```bash -curl -i -H "Content-Type: application/json" -X POST -d '{"data":{"name":"10KV#2"}}' {{base_url}}/energyflowdiagrams/{id}/nodes/{nid} +curl -i -H "Content-Type: application/json" -H "User-UUID: dcdb67d1-6116-4987-916f-6fc6cf2bc0e4" -H "Token: GET-TOKEN-AFTER-LOGIN" -X POST -d '{"data":{"name":"10KV#2"}}' {{base_url}}/energyflowdiagrams/{id}/nodes/{nid} ``` * DELETE a Node of an Energy Flow Diagram ```bash -curl -i -X DELETE {{base_url}}/energyflowdiagrams/{id}/nodes/{nid} +curl -i -H "User-UUID: dcdb67d1-6116-4987-916f-6fc6cf2bc0e4" -H "Token: GET-TOKEN-AFTER-LOGIN" -X DELETE {{base_url}}/energyflowdiagrams/{id}/nodes/{nid} ``` * GET All Links of an Energy Flow Diagram by ID ```bash @@ -636,15 +636,15 @@ curl -i -X GET {{base_url}}/energyflowdiagrams/{id}/links ``` * POST Create a Link of an Energy Flow Diagram ```bash -curl -i -H "Content-Type: application/json" -X POST -d '{"data":{"source_node_id":1, "target_node_id":3, "meter_uuid":"d806a78d-a31e-4833-b5c8-81261cfeb1f2"}}' {{base_url}}/energyflowdiagrams/{id}/links +curl -i -H "Content-Type: application/json" -H "User-UUID: dcdb67d1-6116-4987-916f-6fc6cf2bc0e4" -H "Token: GET-TOKEN-AFTER-LOGIN" -X POST -d '{"data":{"source_node_id":1, "target_node_id":3, "meter_uuid":"d806a78d-a31e-4833-b5c8-81261cfeb1f2"}}' {{base_url}}/energyflowdiagrams/{id}/links ``` * PUT Update a Link of an Energy Flow Diagram ```bash -curl -i -H "Content-Type: application/json" -X POST -d '{"data":{"source_node_id":1, "target_node_id":4, "meter_uuid":"d806a78d-a31e-4833-b5c8-81261cfeb1f2"}}' {{base_url}}/energyflowdiagrams/{id}/links/{lid} +curl -i -H "Content-Type: application/json" -H "User-UUID: dcdb67d1-6116-4987-916f-6fc6cf2bc0e4" -H "Token: GET-TOKEN-AFTER-LOGIN" -X POST -d '{"data":{"source_node_id":1, "target_node_id":4, "meter_uuid":"d806a78d-a31e-4833-b5c8-81261cfeb1f2"}}' {{base_url}}/energyflowdiagrams/{id}/links/{lid} ``` * DELETE a Link of an Energy Flow Diagram ```bash -curl -i -X DELETE {{base_url}}/energyflowdiagrams/{id}/links/{lid} +curl -i -H "User-UUID: dcdb67d1-6116-4987-916f-6fc6cf2bc0e4" -H "Token: GET-TOKEN-AFTER-LOGIN" -X DELETE {{base_url}}/energyflowdiagrams/{id}/links/{lid} ``` ### Energy Item diff --git a/myems-api/core/energyflowdiagram.py b/myems-api/core/energyflowdiagram.py index 82c8c7d5..6eaa9b79 100644 --- a/myems-api/core/energyflowdiagram.py +++ b/myems-api/core/energyflowdiagram.py @@ -3,7 +3,7 @@ import simplejson as json import mysql.connector import config import uuid -from core.useractivity import user_logger +from core.useractivity import user_logger, access_control class EnergyFlowDiagramCollection: @@ -124,6 +124,7 @@ class EnergyFlowDiagramCollection: @user_logger def on_post(req, resp): """Handles POST requests""" + access_control(req) try: raw_json = req.stream.read().decode('utf-8') except Exception as ex: @@ -285,6 +286,7 @@ class EnergyFlowDiagramItem: @staticmethod @user_logger def on_delete(req, resp, id_): + access_control(req) if not id_.isdigit() or int(id_) <= 0: raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST', description='API.INVALID_ENERGY_FLOW_DIAGRAM_ID') @@ -315,6 +317,7 @@ class EnergyFlowDiagramItem: @user_logger def on_put(req, resp, id_): """Handles PUT requests""" + access_control(req) if not id_.isdigit() or int(id_) <= 0: raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST', description='API.INVALID_ENERGY_FLOW_DIAGRAM_ID') @@ -477,6 +480,7 @@ class EnergyFlowDiagramLinkCollection: @user_logger def on_post(req, resp, id_): """Handles POST requests""" + access_control(req) if not id_.isdigit() or int(id_) <= 0: raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST', description='API.INVALID_ENERGY_FLOW_DIAGRAM_ID') @@ -720,6 +724,7 @@ class EnergyFlowDiagramLinkItem: @staticmethod @user_logger def on_delete(req, resp, id_, lid): + access_control(req) if not id_.isdigit() or int(id_) <= 0: raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST', description='API.INVALID_ENERGY_FLOW_DIAGRAM_ID') @@ -768,6 +773,7 @@ class EnergyFlowDiagramLinkItem: @user_logger def on_put(req, resp, id_, lid): """Handles PUT requests""" + access_control(req) if not id_.isdigit() or int(id_) <= 0: raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST', description='API.INVALID_ENERGY_FLOW_DIAGRAM_ID') @@ -974,6 +980,7 @@ class EnergyFlowDiagramNodeCollection: @user_logger def on_post(req, resp, id_): """Handles POST requests""" + access_control(req) if not id_.isdigit() or int(id_) <= 0: raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST', description='API.INVALID_ENERGY_FLOW_DIAGRAM_ID') @@ -1069,6 +1076,7 @@ class EnergyFlowDiagramNodeItem: @staticmethod @user_logger def on_delete(req, resp, id_, nid): + access_control(req) if not id_.isdigit() or int(id_) <= 0: raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST', description='API.INVALID_ENERGY_FLOW_DIAGRAM_ID') @@ -1117,6 +1125,7 @@ class EnergyFlowDiagramNodeItem: @user_logger def on_put(req, resp, id_, nid): """Handles PUT requests""" + access_control(req) if not id_.isdigit() or int(id_) <= 0: raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST', description='API.INVALID_ENERGY_FLOW_DIAGRAM_ID')