Fix test identities
[groupbasedpolicy.git] / groupbasedpolicy-ui / module / src / main / resources / gbp / tenant / tenant-list.service.js
1 define([], function () {
2     'use strict';
3
4     angular.module('app.gbp').service('TenantListService', TenantListService);
5
6     TenantListService.$inject = ['Restangular', 'TenantService'];
7
8     function TenantListService(Restangular, TenantService) {
9         /* methods */
10         this.createList = createList;
11
12         function TenantList() {
13             /* properties */
14             this.data = [];
15             /* methods */
16             this.clearData = clearData;
17             this.setData = setData;
18             this.get = get;
19
20             /* Implementation */
21
22             function clearData() {
23                 var self = this;
24
25                 self.data = [];
26             }
27
28             /**
29              * fills TenantList object with data
30              * @param data
31              */
32             function setData(data) {
33                 var self = this;
34                 data.forEach(function (dataElement) {
35                     self.data.push(TenantService.createObject(dataElement));
36                 });
37             }
38
39             function get(dataStore) {
40                 /* jshint validthis:true */
41                 var self = this;
42
43                 var restObj = Restangular.one('restconf').one(dataStore).one('policy:tenants');
44
45                 return restObj.get().then(function(data) {
46                     if (data.tenants.tenant) {
47                         self.setData(data.tenants.tenant);
48                     }
49                 });
50             }
51         }
52
53         function createList() {
54             var obj = new TenantList();
55
56             return obj;
57         }
58     }
59
60     return TenantListService;
61 });