energyflowdiagram of access_control2

pull/86/head
tianlinzhong 2021-12-02 09:56:13 +08:00
parent f685728985
commit 62312e8c54
6 changed files with 60 additions and 30 deletions

View File

@ -1,6 +1,18 @@
'use strict'; '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.currentEnergyFlowDiagram = {selected:undefined};
$scope.is_show_add_link = false; $scope.is_show_add_link = false;
$scope.energyflowdiagrams = []; $scope.energyflowdiagrams = [];
@ -10,7 +22,7 @@ app.controller('EnergyFlowDiagramLinkController', function($scope,$uibModal, $tr
$scope.offlinemeters = []; $scope.offlinemeters = [];
$scope.virtualmeters = []; $scope.virtualmeters = [];
$scope.mergedMeters = []; $scope.mergedMeters = [];
$scope.cur_user = JSON.parse($window.localStorage.getItem("myems_admin_ui_current_user"));
$scope.getAllEnergyFlowDiagrams = function() { $scope.getAllEnergyFlowDiagrams = function() {
EnergyFlowDiagramService.getAllEnergyFlowDiagrams(function (response) { EnergyFlowDiagramService.getAllEnergyFlowDiagrams(function (response) {
if (angular.isDefined(response.status) && response.status === 200) { if (angular.isDefined(response.status) && response.status === 200) {
@ -77,8 +89,8 @@ app.controller('EnergyFlowDiagramLinkController', function($scope,$uibModal, $tr
if (energyflowdiagramlink.meter != null) { if (energyflowdiagramlink.meter != null) {
energyflowdiagramlink.meter_uuid = energyflowdiagramlink.meter.uuid; energyflowdiagramlink.meter_uuid = energyflowdiagramlink.meter.uuid;
} }
let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token };
EnergyFlowDiagramLinkService.addEnergyFlowDiagramLink(energyflowdiagramid, energyflowdiagramlink, function (response) { EnergyFlowDiagramLinkService.addEnergyFlowDiagramLink(energyflowdiagramid, energyflowdiagramlink, headers, function (response) {
if (angular.isDefined(response.status) && response.status === 201) { if (angular.isDefined(response.status) && response.status === 201) {
toaster.pop({ toaster.pop({
type: "success", type: "success",
@ -128,7 +140,8 @@ app.controller('EnergyFlowDiagramLinkController', function($scope,$uibModal, $tr
if (modifiedEnergyFlowDiagramLink.meter != null) { if (modifiedEnergyFlowDiagramLink.meter != null) {
modifiedEnergyFlowDiagramLink.meter_uuid = modifiedEnergyFlowDiagramLink.meter.uuid; 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) { if (angular.isDefined(response.status) && response.status === 200) {
toaster.pop({ toaster.pop({
type: "success", type: "success",
@ -166,7 +179,8 @@ app.controller('EnergyFlowDiagramLinkController', function($scope,$uibModal, $tr
}, },
function(isConfirm) { function(isConfirm) {
if (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) { if (angular.isDefined(response.status) && response.status === 204) {
toaster.pop({ toaster.pop({
type: "success", type: "success",

View File

@ -1,10 +1,18 @@
'use strict'; '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.energyflowdiagrams = [];
$scope.energyflowdiagramnodes = []; $scope.energyflowdiagramnodes = [];
$scope.currentEnergyFlowDiagram = null; $scope.currentEnergyFlowDiagram = null;
$scope.cur_user = JSON.parse($window.localStorage.getItem("myems_admin_ui_current_user"));
$scope.getAllEnergyFlowDiagrams = function() { $scope.getAllEnergyFlowDiagrams = function() {
EnergyFlowDiagramService.getAllEnergyFlowDiagrams(function (response) { EnergyFlowDiagramService.getAllEnergyFlowDiagrams(function (response) {
if (angular.isDefined(response.status) && response.status === 200) { if (angular.isDefined(response.status) && response.status === 200) {
@ -48,8 +56,8 @@ app.controller('EnergyFlowDiagramNodeController', function($scope, $translate, $
}); });
modalInstance.result.then(function(energyflowdiagramnode) { modalInstance.result.then(function(energyflowdiagramnode) {
var energyflowdiagramid = $scope.currentEnergyFlowDiagram.id; var energyflowdiagramid = $scope.currentEnergyFlowDiagram.id;
let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token };
EnergyFlowDiagramNodeService.addEnergyFlowDiagramNode(energyflowdiagramid, energyflowdiagramnode, function (response) { EnergyFlowDiagramNodeService.addEnergyFlowDiagramNode(energyflowdiagramid, energyflowdiagramnode, headers, function (response) {
if (angular.isDefined(response.status) && response.status === 201) { if (angular.isDefined(response.status) && response.status === 201) {
toaster.pop({ toaster.pop({
type: "success", type: "success",
@ -88,7 +96,8 @@ app.controller('EnergyFlowDiagramNodeController', function($scope, $translate, $
}); });
modalInstance.result.then(function(modifiedEnergyFlowDiagramNode) { 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) { if (angular.isDefined(response.status) && response.status === 200) {
toaster.pop({ toaster.pop({
type: "success", type: "success",
@ -126,7 +135,8 @@ app.controller('EnergyFlowDiagramNodeController', function($scope, $translate, $
}, },
function(isConfirm) { function(isConfirm) {
if (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) { if (angular.isDefined(response.status) && response.status === 204) {
toaster.pop({ toaster.pop({
type: "success", type: "success",

View File

@ -10,16 +10,16 @@ app.factory('EnergyFlowDiagramLinkService', function($http) {
callback(response); callback(response);
}); });
}, },
addEnergyFlowDiagramLink: function(energyflowdiagramID, energyflowdiagramlink, callback) { addEnergyFlowDiagramLink: function(energyflowdiagramID, energyflowdiagramlink, headers, callback) {
$http.post(getAPI()+'energyflowdiagrams/'+energyflowdiagramID+'/links',{data:energyflowdiagramlink}) $http.post(getAPI()+'energyflowdiagrams/'+energyflowdiagramID+'/links',{data:energyflowdiagramlink}, {headers})
.then(function (response) { .then(function (response) {
callback(response); callback(response);
}, function (response) { }, function (response) {
callback(response); callback(response);
}); });
}, },
editEnergyFlowDiagramLink: function(energyflowdiagramID,energyflowdiagramlink,callback) { editEnergyFlowDiagramLink: function(energyflowdiagramID, energyflowdiagramlink, headers, callback) {
$http.put(getAPI()+'energyflowdiagrams/'+energyflowdiagramID+'/links/'+energyflowdiagramlink.id,{data:energyflowdiagramlink}) $http.put(getAPI()+'energyflowdiagrams/'+energyflowdiagramID+'/links/'+energyflowdiagramlink.id,{data:energyflowdiagramlink}, {headers})
.then(function (response) { .then(function (response) {
callback(response); callback(response);
}, function (response) { }, function (response) {
@ -27,8 +27,8 @@ app.factory('EnergyFlowDiagramLinkService', function($http) {
}); });
}, },
deleteEnergyFlowDiagramLink: function(energyflowdiagramID, linkID, callback) { deleteEnergyFlowDiagramLink: function(energyflowdiagramID, linkID, headers, callback) {
$http.delete(getAPI()+'energyflowdiagrams/'+energyflowdiagramID+'/links/'+linkID) $http.delete(getAPI()+'energyflowdiagrams/'+energyflowdiagramID+'/links/'+linkID, {headers})
.then(function (response) { .then(function (response) {
callback(response); callback(response);
}, function (response) { }, function (response) {

View File

@ -9,16 +9,16 @@ app.factory('EnergyFlowDiagramNodeService', function($http) {
callback(response); callback(response);
}); });
}, },
addEnergyFlowDiagramNode: function(energyflowdiagramID, energyflowdiagramnode,callback) { addEnergyFlowDiagramNode: function(energyflowdiagramID, energyflowdiagramnode, headers, callback) {
$http.post(getAPI()+'energyflowdiagrams/'+energyflowdiagramID+'/nodes',{data:energyflowdiagramnode}) $http.post(getAPI()+'energyflowdiagrams/'+energyflowdiagramID+'/nodes',{data:energyflowdiagramnode}, {headers})
.then(function (response) { .then(function (response) {
callback(response); callback(response);
}, function (response) { }, function (response) {
callback(response); callback(response);
}); });
}, },
editEnergyFlowDiagramNode: function(energyflowdiagramID,energyflowdiagramnode,callback) { editEnergyFlowDiagramNode: function(energyflowdiagramID, energyflowdiagramnode, headers, callback) {
$http.put(getAPI()+'energyflowdiagrams/'+energyflowdiagramID+'/nodes/'+energyflowdiagramnode.id,{data:energyflowdiagramnode}) $http.put(getAPI()+'energyflowdiagrams/'+energyflowdiagramID+'/nodes/'+energyflowdiagramnode.id,{data:energyflowdiagramnode}, {headers})
.then(function (response) { .then(function (response) {
callback(response); callback(response);
}, function (response) { }, function (response) {
@ -26,8 +26,8 @@ app.factory('EnergyFlowDiagramNodeService', function($http) {
}); });
}, },
deleteEnergyFlowDiagramNode: function(energyflowdiagramID, nodeID, callback) { deleteEnergyFlowDiagramNode: function(energyflowdiagramID, nodeID, headers, callback) {
$http.delete(getAPI()+'energyflowdiagrams/'+energyflowdiagramID+'/nodes/'+nodeID) $http.delete(getAPI()+'energyflowdiagrams/'+energyflowdiagramID+'/nodes/'+nodeID, {headers})
.then(function (response) { .then(function (response) {
callback(response); callback(response);
}, function (response) { }, function (response) {

View File

@ -620,15 +620,15 @@ curl -i -X GET {{base_url}}/energyflowdiagrams/{id}/nodes
``` ```
* POST Create a Node of an Energy Flow Diagram * POST Create a Node of an Energy Flow Diagram
```bash ```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 * PUT Update a Node of an Energy Flow Diagram
```bash ```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 * DELETE a Node of an Energy Flow Diagram
```bash ```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 * GET All Links of an Energy Flow Diagram by ID
```bash ```bash
@ -636,15 +636,15 @@ curl -i -X GET {{base_url}}/energyflowdiagrams/{id}/links
``` ```
* POST Create a Link of an Energy Flow Diagram * POST Create a Link of an Energy Flow Diagram
```bash ```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 * PUT Update a Link of an Energy Flow Diagram
```bash ```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 * DELETE a Link of an Energy Flow Diagram
```bash ```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 ### Energy Item

View File

@ -480,6 +480,7 @@ class EnergyFlowDiagramLinkCollection:
@user_logger @user_logger
def on_post(req, resp, id_): def on_post(req, resp, id_):
"""Handles POST requests""" """Handles POST requests"""
access_control(req)
if not id_.isdigit() or int(id_) <= 0: if not id_.isdigit() or int(id_) <= 0:
raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST', raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST',
description='API.INVALID_ENERGY_FLOW_DIAGRAM_ID') description='API.INVALID_ENERGY_FLOW_DIAGRAM_ID')
@ -723,6 +724,7 @@ class EnergyFlowDiagramLinkItem:
@staticmethod @staticmethod
@user_logger @user_logger
def on_delete(req, resp, id_, lid): def on_delete(req, resp, id_, lid):
access_control(req)
if not id_.isdigit() or int(id_) <= 0: if not id_.isdigit() or int(id_) <= 0:
raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST', raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST',
description='API.INVALID_ENERGY_FLOW_DIAGRAM_ID') description='API.INVALID_ENERGY_FLOW_DIAGRAM_ID')
@ -771,6 +773,7 @@ class EnergyFlowDiagramLinkItem:
@user_logger @user_logger
def on_put(req, resp, id_, lid): def on_put(req, resp, id_, lid):
"""Handles PUT requests""" """Handles PUT requests"""
access_control(req)
if not id_.isdigit() or int(id_) <= 0: if not id_.isdigit() or int(id_) <= 0:
raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST', raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST',
description='API.INVALID_ENERGY_FLOW_DIAGRAM_ID') description='API.INVALID_ENERGY_FLOW_DIAGRAM_ID')
@ -977,6 +980,7 @@ class EnergyFlowDiagramNodeCollection:
@user_logger @user_logger
def on_post(req, resp, id_): def on_post(req, resp, id_):
"""Handles POST requests""" """Handles POST requests"""
access_control(req)
if not id_.isdigit() or int(id_) <= 0: if not id_.isdigit() or int(id_) <= 0:
raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST', raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST',
description='API.INVALID_ENERGY_FLOW_DIAGRAM_ID') description='API.INVALID_ENERGY_FLOW_DIAGRAM_ID')
@ -1072,6 +1076,7 @@ class EnergyFlowDiagramNodeItem:
@staticmethod @staticmethod
@user_logger @user_logger
def on_delete(req, resp, id_, nid): def on_delete(req, resp, id_, nid):
access_control(req)
if not id_.isdigit() or int(id_) <= 0: if not id_.isdigit() or int(id_) <= 0:
raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST', raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST',
description='API.INVALID_ENERGY_FLOW_DIAGRAM_ID') description='API.INVALID_ENERGY_FLOW_DIAGRAM_ID')
@ -1120,6 +1125,7 @@ class EnergyFlowDiagramNodeItem:
@user_logger @user_logger
def on_put(req, resp, id_, nid): def on_put(req, resp, id_, nid):
"""Handles PUT requests""" """Handles PUT requests"""
access_control(req)
if not id_.isdigit() or int(id_) <= 0: if not id_.isdigit() or int(id_) <= 0:
raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST', raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST',
description='API.INVALID_ENERGY_FLOW_DIAGRAM_ID') description='API.INVALID_ENERGY_FLOW_DIAGRAM_ID')