added access control to sersor in api and admin

pull/90/head
13621160019@163.com 2021-12-03 19:53:12 +08:00
parent b10cc91a3a
commit 3ec50fab0d
4 changed files with 98 additions and 37 deletions

View File

@ -1,6 +1,13 @@
'use strict'; 'use strict';
app.controller('SensorController', function($scope, $window, $translate, $uibModal, SensorService, toaster, SweetAlert) { app.controller('SensorController', function(
$scope,
$window,
$translate,
$uibModal,
SensorService,
toaster,
SweetAlert) {
$scope.cur_user = JSON.parse($window.localStorage.getItem("myems_admin_ui_current_user")); $scope.cur_user = JSON.parse($window.localStorage.getItem("myems_admin_ui_current_user"));
$scope.getAllSensors = function() { $scope.getAllSensors = function() {
SensorService.getAllSensors(function (response) { SensorService.getAllSensors(function (response) {
@ -28,8 +35,7 @@ app.controller('SensorController', function($scope, $window, $translate, $uibMo
}); });
modalInstance.result.then(function(sensor) { modalInstance.result.then(function(sensor) {
let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token }; let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token };
SensorService.addSensor(sensor, {headers}, SensorService.addSensor(sensor, headers, function (response) {
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",
@ -70,7 +76,7 @@ app.controller('SensorController', function($scope, $window, $translate, $uibMo
modalInstance.result.then(function(modifiedSensor) { modalInstance.result.then(function(modifiedSensor) {
let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token }; let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token };
SensorService.editSensor(modifiedSensor, {headers}, function (response) { SensorService.editSensor(modifiedSensor, 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",
@ -109,7 +115,7 @@ app.controller('SensorController', function($scope, $window, $translate, $uibMo
function(isConfirm) { function(isConfirm) {
if (isConfirm) { if (isConfirm) {
let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token }; let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token };
SensorService.deleteSensor(sensor, {headers}, function (response) { SensorService.deleteSensor(sensor, 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

@ -81,7 +81,7 @@ app.controller('SensorPointController', function (
var pointid = angular.element('#' + dragEl).scope().point.id; var pointid = angular.element('#' + dragEl).scope().point.id;
var sensorid = $scope.currentSensor.id; var sensorid = $scope.currentSensor.id;
let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token }; let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token };
SensorPointService.addPair(sensorid, pointid, {headers}, function (response) { SensorPointService.addPair(sensorid, pointid, 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",
@ -108,7 +108,7 @@ app.controller('SensorPointController', function (
var sensorpointid = angular.element('#' + dragEl).scope().sensorpoint.id; var sensorpointid = angular.element('#' + dragEl).scope().sensorpoint.id;
var sensorid = $scope.currentSensor.id; var sensorid = $scope.currentSensor.id;
let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token }; let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token };
SensorPointService.deletePair(sensorid, sensorpointid, {headers}, function (response) { SensorPointService.deletePair(sensorid, sensorpointid, 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

@ -4647,7 +4647,18 @@
"name": "POST Create New Sensor", "name": "POST Create New Sensor",
"request": { "request": {
"method": "POST", "method": "POST",
"header": [], "header": [
{
"key": "User-UUID",
"value": "dcdb67d1-6116-4987-916f-6fc6cf2bc0e4",
"type": "text"
},
{
"key": "Token",
"value": "e713a4845a2f936eef1dca4314e7fad875b898854c56b4c5176d219f5ee19a0831d2ee67c63b17c2f2a49474d090cccb024f98a797d96571bc61027cbe1995af",
"type": "text"
}
],
"body": { "body": {
"mode": "raw", "mode": "raw",
"raw": "{\"data\":{\"name\":\"Sensor10\", \"description\":\"sensor description\"}}" "raw": "{\"data\":{\"name\":\"Sensor10\", \"description\":\"sensor description\"}}"
@ -4668,19 +4679,30 @@
"name": "PUT Update a Sensor", "name": "PUT Update a Sensor",
"request": { "request": {
"method": "PUT", "method": "PUT",
"header": [], "header": [
{
"key": "User-UUID",
"value": "dcdb67d1-6116-4987-916f-6fc6cf2bc0e4",
"type": "text"
},
{
"key": "Token",
"value": "e713a4845a2f936eef1dca4314e7fad875b898854c56b4c5176d219f5ee19a0831d2ee67c63b17c2f2a49474d090cccb024f98a797d96571bc61027cbe1995af",
"type": "text"
}
],
"body": { "body": {
"mode": "raw", "mode": "raw",
"raw": "{\"data\":{\"name\":\"Sensor10\", \"description\":\"sensor description\"}}" "raw": "{\"data\":{\"name\":\"Sensor10\", \"description\":\"sensor description\"}}"
}, },
"url": { "url": {
"raw": "{{base_url}}/sensors/5", "raw": "{{base_url}}/sensors/3",
"host": [ "host": [
"{{base_url}}" "{{base_url}}"
], ],
"path": [ "path": [
"sensors", "sensors",
"5" "3"
] ]
} }
}, },
@ -4690,28 +4712,50 @@
"name": "DELETE Sensor by ID", "name": "DELETE Sensor by ID",
"request": { "request": {
"method": "DELETE", "method": "DELETE",
"header": [], "header": [
{
"key": "User-UUID",
"value": "dcdb67d1-6116-4987-916f-6fc6cf2bc0e4",
"type": "text"
},
{
"key": "Token",
"value": "e713a4845a2f936eef1dca4314e7fad875b898854c56b4c5176d219f5ee19a0831d2ee67c63b17c2f2a49474d090cccb024f98a797d96571bc61027cbe1995af",
"type": "text"
}
],
"url": { "url": {
"raw": "{{base_url}}/sensors/2", "raw": "{{base_url}}/sensors/3",
"host": [ "host": [
"{{base_url}}" "{{base_url}}"
], ],
"path": [ "path": [
"sensors", "sensors",
"2" "3"
] ]
} }
}, },
"response": [] "response": []
}, },
{ {
"name": "POST Sensor Point Relation", "name": "POST Bind Point to Sensor",
"request": { "request": {
"method": "POST", "method": "POST",
"header": [], "header": [
{
"key": "User-UUID",
"value": "dcdb67d1-6116-4987-916f-6fc6cf2bc0e4",
"type": "text"
},
{
"key": "Token",
"value": "e713a4845a2f936eef1dca4314e7fad875b898854c56b4c5176d219f5ee19a0831d2ee67c63b17c2f2a49474d090cccb024f98a797d96571bc61027cbe1995af",
"type": "text"
}
],
"body": { "body": {
"mode": "raw", "mode": "raw",
"raw": "{\"data\":{\"point_id\":\"2686\"}}" "raw": "{\"data\":{\"point_id\":\"2\"}}"
}, },
"url": { "url": {
"raw": "{{base_url}}/sensors/1/points", "raw": "{{base_url}}/sensors/1/points",
@ -4728,7 +4772,7 @@
"response": [] "response": []
}, },
{ {
"name": "GET All Points associated with Sensor ID", "name": "GET All Points associated with Sensor by ID",
"request": { "request": {
"method": "GET", "method": "GET",
"header": [], "header": [],
@ -4747,12 +4791,23 @@
"response": [] "response": []
}, },
{ {
"name": "DELETE Sensor Point Relation", "name": "DELETE Unbind Point from Sensor",
"request": { "request": {
"method": "DELETE", "method": "DELETE",
"header": [], "header": [
{
"key": "User-UUID",
"value": "dcdb67d1-6116-4987-916f-6fc6cf2bc0e4",
"type": "text"
},
{
"key": "Token",
"value": "e713a4845a2f936eef1dca4314e7fad875b898854c56b4c5176d219f5ee19a0831d2ee67c63b17c2f2a49474d090cccb024f98a797d96571bc61027cbe1995af",
"type": "text"
}
],
"url": { "url": {
"raw": "{{base_url}}/sensors/1/points/2686", "raw": "{{base_url}}/sensors/1/points/2",
"host": [ "host": [
"{{base_url}}" "{{base_url}}"
], ],
@ -4760,7 +4815,7 @@
"sensors", "sensors",
"1", "1",
"points", "points",
"2686" "2"
] ]
} }
}, },

View File

@ -1321,10 +1321,6 @@ Result
```bash ```bash
curl -i -X GET {{base_url}}/sensors curl -i -X GET {{base_url}}/sensors
``` ```
* DELETE a Sensor by ID
```bash
curl -i -H "User-UUID: 793f1bb4-6e25-4242-8cdc-2f662b25484f" -H "Token: GET-TOKEN-AFTER-LOGIN" -X DELETE {{base_url}}/sensors/{id}
```
* POST Create New Sensor * POST Create New Sensor
```bash ```bash
curl -i -H "User-UUID: 793f1bb4-6e25-4242-8cdc-2f662b25484f" -H "Token: GET-TOKEN-AFTER-LOGIN" -H "Content-Type: application/json" -X POST -d '{"data":{"name":"Sensor10", "description":"sensor description"}}' {{base_url}}/sensors curl -i -H "User-UUID: 793f1bb4-6e25-4242-8cdc-2f662b25484f" -H "Token: GET-TOKEN-AFTER-LOGIN" -H "Content-Type: application/json" -X POST -d '{"data":{"name":"Sensor10", "description":"sensor description"}}' {{base_url}}/sensors
@ -1333,15 +1329,19 @@ curl -i -H "User-UUID: 793f1bb4-6e25-4242-8cdc-2f662b25484f" -H "Token: GET-TOKE
```bash ```bash
curl -i -H "User-UUID: 793f1bb4-6e25-4242-8cdc-2f662b25484f" -H "Token: GET-TOKEN-AFTER-LOGIN" -H "Content-Type: application/json" -X PUT -d '{"data":{"name":"Sensor10", "description":"sensor description"}}' {{base_url}}/sensors/{id} curl -i -H "User-UUID: 793f1bb4-6e25-4242-8cdc-2f662b25484f" -H "Token: GET-TOKEN-AFTER-LOGIN" -H "Content-Type: application/json" -X PUT -d '{"data":{"name":"Sensor10", "description":"sensor description"}}' {{base_url}}/sensors/{id}
``` ```
* GET All Points associated with Sensor ID * DELETE Sensor by ID
```bash
curl -i -H "User-UUID: 793f1bb4-6e25-4242-8cdc-2f662b25484f" -H "Token: GET-TOKEN-AFTER-LOGIN" -X DELETE {{base_url}}/sensors/{id}
```
* POST Bind Point to Sensor
```bash
curl -i -H "User-UUID: 793f1bb4-6e25-4242-8cdc-2f662b25484f" -H "Token: GET-TOKEN-AFTER-LOGIN" -H "Content-Type: application/json" -X POST -d '{"data":{"point_id":"2"}}' {{base_url}}/sensors/{id}/points
```
* GET All Points associated with Sensor by ID
```bash ```bash
curl -i -X GET {{base_url}}/sensors/{id}/points curl -i -X GET {{base_url}}/sensors/{id}/points
``` ```
* POST Sensor Point Relation * DELETE Unbind Point from Sensor
```bash
curl -i -H "User-UUID: 793f1bb4-6e25-4242-8cdc-2f662b25484f" -H "Token: GET-TOKEN-AFTER-LOGIN" -H "Content-Type: application/json" -X POST -d '{"data":{"point_id":"3"}}' {{base_url}}/sensors/{id}/points
```
* DELETE Sensor Point Relation
```bash ```bash
curl -i -H "User-UUID: 793f1bb4-6e25-4242-8cdc-2f662b25484f" -H "Token: GET-TOKEN-AFTER-LOGIN" -X DELETE {{base_url}}/sensors/{id}/points/{pid} curl -i -H "User-UUID: 793f1bb4-6e25-4242-8cdc-2f662b25484f" -H "Token: GET-TOKEN-AFTER-LOGIN" -X DELETE {{base_url}}/sensors/{id}/points/{pid}
``` ```