From 05771cd900427f4bbedac9feb8b8d83a7d152084 Mon Sep 17 00:00:00 2001 From: Artem Babak Date: Tue, 15 Dec 2020 15:29:10 +0200 Subject: [PATCH] getEdge, getTenantEdges, getCustomerEdges refactored --- ui/src/app/api/edge.service.js | 34 +++++++++++++------ ui/src/app/api/entity.service.js | 11 +++--- ui/src/app/edge/edge.controller.js | 4 +-- ui/src/app/rulechain/rulechains.controller.js | 2 +- 4 files changed, 31 insertions(+), 20 deletions(-) diff --git a/ui/src/app/api/edge.service.js b/ui/src/app/api/edge.service.js index 528dea960c..8cd7aa81c1 100644 --- a/ui/src/app/api/edge.service.js +++ b/ui/src/app/api/edge.service.js @@ -30,6 +30,7 @@ function EdgeService($http, $q, customerService) { getTenantEdges: getTenantEdges, getCustomerEdges: getCustomerEdges, assignEdgeToCustomer: assignEdgeToCustomer, + findByQuery: findByQuery, unassignEdgeFromCustomer: unassignEdgeFromCustomer, makeEdgePublic: makeEdgePublic, setRootRuleChain: setRootRuleChain, @@ -61,13 +62,7 @@ function EdgeService($http, $q, customerService) { function getEdgesByIds(edgeIds, config) { var deferred = $q.defer(); - var ids = ''; - for (var i=0;i0) { - ids += ','; - } - ids += edgeIds[i]; - } + var ids = edgeIds.join(','); var url = '/api/edges?edgeIds=' + ids; $http.get(url, config).then(function success(response) { var entities = response.data; @@ -85,9 +80,13 @@ function EdgeService($http, $q, customerService) { return deferred.promise; } - function getEdge(edgeId, config) { + function getEdge(edgeId, ignoreErrors, config) { var deferred = $q.defer(); var url = '/api/edge/' + edgeId; + if (!config) { + config = {}; + } + config = Object.assign(config, { ignoreErrors: ignoreErrors }); $http.get(url, config).then(function success(response) { deferred.resolve(response.data); }, function fail(response) { @@ -129,7 +128,7 @@ function EdgeService($http, $q, customerService) { return deferred.promise; } - function getTenantEdges(pageLink, applyCustomersInfo, config, type) { + function getTenantEdges(pageLink, applyCustomersInfo, type, config) { var deferred = $q.defer(); var url = '/api/tenant/edges?limit=' + pageLink.limit; if (angular.isDefined(pageLink.textSearch)) { @@ -164,7 +163,7 @@ function EdgeService($http, $q, customerService) { return deferred.promise; } - function getCustomerEdges(customerId, pageLink, applyCustomersInfo, config, type) { + function getCustomerEdges(customerId, pageLink, applyCustomersInfo, type, config) { var deferred = $q.defer(); var url = '/api/customer/' + customerId + '/edges?limit=' + pageLink.limit; if (angular.isDefined(pageLink.textSearch)) { @@ -200,6 +199,21 @@ function EdgeService($http, $q, customerService) { return deferred.promise; } + function findByQuery(query, ignoreErrors, config) { + var deferred = $q.defer(); + var url = '/api/edges'; + if (!config) { + config = {}; + } + config = Object.assign(config, { ignoreErrors: ignoreErrors }); + $http.post(url, query, config).then(function success(response) { + deferred.resolve(response.data); + }, function fail() { + deferred.reject(); + }); + return deferred.promise; + } + function assignEdgeToCustomer(customerId, edgeId) { var deferred = $q.defer(); var url = '/api/customer/' + customerId + '/edge/' + edgeId; diff --git a/ui/src/app/api/entity.service.js b/ui/src/app/api/entity.service.js index ed479ae44d..32fac7b5db 100644 --- a/ui/src/app/api/entity.service.js +++ b/ui/src/app/api/entity.service.js @@ -78,7 +78,7 @@ function EntityService($http, $q, $filter, $translate, $log, userService, device $log.error('Get Alarm Entity is not implemented!'); break; case types.entityType.edge: - promise = edgeService.getEdge(entityId, config); + promise = edgeService.getEdge(entityId, true, config); break; } return promise; @@ -164,7 +164,7 @@ function EntityService($http, $q, $filter, $translate, $log, userService, device break; case types.entityType.edge: promise = getEntitiesByIdsPromise( - (id) => edgeService.getEdge(id, config), entityIds); + (id) => edgeService.getEdge(id, true, config), entityIds); break; } return promise; @@ -294,9 +294,9 @@ function EntityService($http, $q, $filter, $translate, $log, userService, device break; case types.entityType.edge: if (user.authority === 'CUSTOMER_USER') { - promise = edgeService.getCustomerEdges(customerId, pageLink, false, config, subType); + promise = edgeService.getCustomerEdges(customerId, pageLink, false, subType, config); } else { - promise = edgeService.getTenantEdges(pageLink, false, config, subType); + promise = edgeService.getTenantEdges(pageLink, false, subType, config); } break; } @@ -960,9 +960,6 @@ function EntityService($http, $q, $filter, $translate, $log, userService, device break; case types.entityType.entityView: case types.entityType.edge: - entityFieldKeys.push(types.entityField.name.keyName); - entityFieldKeys.push(types.entityField.type.keyName); - break; case types.entityType.device: case types.entityType.asset: entityFieldKeys.push(types.entityField.name.keyName); diff --git a/ui/src/app/edge/edge.controller.js b/ui/src/app/edge/edge.controller.js index 76b78960a1..0c9d42c584 100644 --- a/ui/src/app/edge/edge.controller.js +++ b/ui/src/app/edge/edge.controller.js @@ -161,7 +161,7 @@ export function EdgeController($rootScope, userService, edgeService, customerSer if (vm.edgesScope === 'tenant') { fetchEdgesFunction = function (pageLink, edgeType) { - return edgeService.getTenantEdges(pageLink, true, null, edgeType); + return edgeService.getTenantEdges(pageLink, true, edgeType, null); }; deleteEdgeFunction = function (edgeId) { return edgeService.deleteEdge(edgeId); @@ -337,7 +337,7 @@ export function EdgeController($rootScope, userService, edgeService, customerSer } else if (vm.edgesScope === 'customer' || vm.edgesScope === 'customer_user') { fetchEdgesFunction = function (pageLink, edgeType) { - return edgeService.getCustomerEdges(customerId, pageLink, true, null, edgeType); + return edgeService.getCustomerEdges(customerId, pageLink, true, edgeType, null); }; deleteEdgeFunction = function (edgeId) { return edgeService.unassignEdgeFromCustomer(edgeId); diff --git a/ui/src/app/rulechain/rulechains.controller.js b/ui/src/app/rulechain/rulechains.controller.js index 6e3908b0a7..65eb62abbe 100644 --- a/ui/src/app/rulechain/rulechains.controller.js +++ b/ui/src/app/rulechain/rulechains.controller.js @@ -107,7 +107,7 @@ export default function RuleChainsController(ruleChainService, userService, impo var deleteRuleChainFunction = null; if (edgeId) { - edgeService.getEdge(edgeId).then( + edgeService.getEdge(edgeId, true, null).then( function success(edge) { vm.edge = edge; }