363b79a8e703d6f749a798eac773799fd79a80aa
[ccsdk/apps.git] / sdnr / wireless-transport / code-Carbon-SR1 / ux / mwtnMediator / mwtnMediator-module / src / main / resources / mwtnMediator / mwtnMediator.services.js
1 /*
2  * @copyright 2017 highstreet technologies and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8
9 define(['app/mwtnCommons/mwtnCommons.module', 'app/mwtnMediator/mwtnMediator.module'],function(mwtnMediatorApp) {
10
11   mwtnMediatorApp.register.factory('$mwtnMediator', function($http, $q, $mwtnCommons, $mwtnDatabase, $mwtnLog) {
12
13     var COMPONENT = '$mwtnMediator';
14     $mwtnLog.info({component: COMPONENT, message: '$mwtnMediator started!'});
15
16     var service = {};
17
18     // import of mwtnCommons
19     service.gridOptions = $mwtnCommons.gridOptions;
20     service.highlightFilteredHeader = $mwtnCommons.highlightFilteredHeader;
21     
22     service.getAllData = $mwtnDatabase.getAllData;
23     service.getFilteredSortedData = $mwtnDatabase.getFilteredSortedData;
24     service.logGridOptions = $mwtnCommons.gridOptions;
25
26     // service specific functions
27     service.getServerData = function(id){
28         var deferred = $q.defer();
29         var functionid="mwtn";
30         var type="mediator-server";
31         var sort = [ { 'id' : {order : 'asc'}}];
32
33         if(id===undefined)//get all
34                  $mwtnDatabase.getAllData(functionid,type,0,99,sort,null).then(function(success){
35                                 var list=[];
36                                 success.data.hits.hits.map(function(entry){
37                                              var row = {
38                                                id: entry._source.id,
39                                                url: entry._source.url,
40                                                name: entry._source.name
41                                            };
42                                           list.push(row);
43                                 });
44                         deferred.resolve(list);
45                 }, function(error){
46                 $mwtnLog.error({component: 'private getAlldata', message: JSON.stringify(error.data)});
47                 deferred.reject(error);
48               });
49         else //get by id
50                  $mwtnDatabase.getFilteredSortedData(functionid,type,0,99,sort,{'match':{'id':id}}).then(function(success){
51                          var list=[];
52                                 success.data.hits.hits.map(function(entry){
53                                              var row = {
54                                                id: entry._source.id,
55                                                url: entry._source.url,
56                                                name: entry._source.name
57                                            };
58                                           list.push(row);
59                                 });
60                                 deferred.resolve(list.length>0?list[0]:undefined);
61                 }, function(error){
62                 $mwtnLog.error({component: 'private getFilteredSortedData', message: JSON.stringify(error.data)});
63                 deferred.reject(error);
64               });
65
66         return deferred.promise;
67
68
69     };
70     /*
71     service.getMaxId = function(){
72         var deferred = $q.defer();
73         $mwtnDatabase.getAllData(functionid,type,0,99,sort,{'match'}).then(function(success){
74
75         return deferred.promise;
76     };
77     */
78     service.addServer = function(name,url){
79         var deferred = $q.defer();
80         var functionId="mwtn";
81         var docType="mediator-server";
82         //check params
83         var data={name:name,url:url};
84         //check if contains
85         //insert into db
86         $mwtnDatabase.createSingleDocument(functionId, docType, id, data).then(function(success){
87
88
89                 deferred.resolve(data);
90                 },function(error){
91                         $mwtnLog.error({component: 'private addServer', message: JSON.stringify(error.data)});
92                 deferred.reject(error);
93                 });
94         return deferred.promise;
95     };
96     service.removeServer = function(id){
97         var deferred = $q.defer();
98         var functionId="mwtn";
99         var docType="mediator-server";
100
101         $mwtnDatabase.deleteSingleDocument(functionId, docType, id).then(function(success){
102                 deferred.resolve(data);
103                 },function(error){
104                         $mwtnLog.error({component: 'private removeServer', message: JSON.stringify(error.data)});
105                 deferred.reject(error);
106                 });
107         return deferred.promise;
108     };
109
110     return service;
111   });
112
113 });