summaryrefslogtreecommitdiff
path: root/www/js/HttpFactory.js
blob: b869e80985235c816c5898ea51f6313d61576e6a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
// NOT USED ANYMORE. FIXME: DELETE THIS FILE

angular.module('zmApp.controllers').factory('ZMHttpFactory', ['$http', '$rootScope','$ionicLoading', '$ionicPopup','$timeout'
  function($http, $rootScope, $ionicLoading, $ionicPopup, $timeout) {



    return {
      getMonitors: function(loginData) {
        console.log ("Inside HTTP getMonitors");
        $ionicLoading.show({
            template: 'Loading ZoneMinder Monitors...',
            animation: 'fade-in',
            showBackdrop: true,
            maxWidth: 200,
            showDelay: 0
          });
                                                          
        var monitors = [];
                                            
        var apiurl = loginData.apiurl;
        var myurl = apiurl+"/monitors.jsona";
        
        return $http({
          url: myurl,
          method: 'get'
                  
        }) //http
        .then(function(response) {
              var data = response.data;
              //console.log("****YAY" + JSON.stringify(data));
          // $rootScope.$broadcast ('handleZoneMinderMonitorsUpdate',monitors);
            $ionicLoading.hide();
            console.log ("** Settings Monitors from HTTP");
            //ZMDataModel.setMonitors(data.monitors);
            
           // ZMDataModel.setMonitorsLoaded(1);
            monitors = data.monitors;
            console.log ("**** returning "+monitors.length+" monitors from HTTP");
            return monitors;
            },
            function (result)
            {
                console.log ("**** Error in HTTP");
                $ionicLoading.hide();
                //ZMDataModel.setMonitorsLoaded(1);
                //$ionicPopup.alert ({title: "Error", template:"Error retrieving Monitors. \nPlease check if your Settings are correct. "});
                //return  ZMDataModel.getMonitors();
                return monitors;
            }
        ); //then
      }, //getMonitors
        
    getEvents: function(loginData) {
  
        $ionicLoading.show({
            template: 'Loading ZoneMinder Events...',
            animation: 'fade-in',
            showBackdrop: true,
            maxWidth: 200,
            showDelay: 0
          });
                                                          
        var myevents = [];
         var apiurl = loginData.apiurl;
        //var myurl = $rootScope.loginData.url+'/zm/index.php?skin=xml';
        var myurl = apiurl + "/events.json"; 
        console.log("***MAKING REQUEST to "+ myurl);
        return $http({
          url: myurl,
          method: 'get',
          headers: {
            //'Content-Type': 'application/x-www-form-urlencoded',
            'Accept': '*/*',
          }

        }) //http
        .then(function(response) {
              var data = response.data;
            // $rootScope.$broadcast ('handleZoneMinderMonitorsUpdate',monitors);
            $ionicLoading.hide();
            myevents = response.data;
            return myevents.events.reverse();
            },
            function (result)
            {
                console.log ("**** Error in HTTP");
                $ionicLoading.hide();
                //$ionicPopup.alert ({title: "Error", template:"Error retrieving Monitors. \nPlease check if your Settings are correct. "});
                return myevents;
            }
        ); //then
      }, //getEvents
    }
  }
]);