1 define([], function () {
4 angular.module('app.gbp').service('EndpointsListService', EndpointsListService);
6 EndpointsListService.$inject = ['$filter', 'Restangular', 'EndpointService'];
8 function EndpointsListService($filter, Restangular, EndpointService) {
10 this.createList = createList;
12 function EndpointsList() {
17 this.setData = setData;
19 this.getByEpg = getByEpg;
20 this.getByTenantId = getByTenantId;
21 this.clearData = clearData;
25 * fills EndpointsList object with data
28 function setData(data) {
32 data && data.forEach(function (dataElement) {
33 self.data.push(EndpointService.createObject(dataElement));
37 function clearData() {
43 /* jshint validthis:true */
45 var restObj = Restangular.one('restconf').one('operational').one('base-endpoint:endpoints');
47 return restObj.get().then(function (data) {
48 self.setData(data.endpoints['address-endpoints']['address-endpoint']);
52 function getByEpg(epg, tenant, successCallback) {
53 /* jshint validthis:true */
55 var restObj = Restangular.one('restconf').one('operational').one('base-endpoint:endpoints');
57 return restObj.get().then(function (data) {
58 var endpoints = $filter('filter')(
59 data.endpoints['address-endpoints']['address-endpoint'].map(function(endpoint) {
63 if (ep.tenant === tenant && ep['endpoint-group'].indexOf(epg.id) !== -1) {
68 self.setData(endpoints);
70 (successCallback || angular.noop)();
74 function getByTenantId(rootTenant) {
76 var restObj = Restangular.one('restconf').one('operational').one('base-endpoint:endpoints');
77 return restObj.get().then(function (data) {
78 var endpoints = $filter('filter')(data.endpoints['address-endpoints']['address-endpoint'].map(function(endpoint) {
80 }), { 'tenant': rootTenant });
81 self.setData(endpoints);
87 function createList() {
88 var obj = new EndpointsList();
94 return EndpointsListService;