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