aboutsummaryrefslogtreecommitdiffstats
path: root/moon_gui/static/app/services/moon/policy/parameters/rules.service.js
blob: 76b240119918e7d02096814bccc80d5299b327ad (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
/**
 * @author Samy Abdallah
 */

(function() {

    'use strict';

    angular
        .module('moon')
        .factory('rulesService', rulesService);

    rulesService.$inject = ['$resource', 'REST_URI', 'utilService'];

    function rulesService($resource, REST_URI, utilService) {

        return {

            data: {

                policy: $resource(REST_URI.POLICIES + ':policy_id/rules/:rule_id', {}, {
                    get: {method: 'GET'},
                    create: {method: 'POST'},
                    remove: {method: 'DELETE'}
                })

            },

            add: function (rules, policyId, callbackSuccess, callbackError ) {

                this.data.policy.create({policy_id: policyId}, rules, callbackSuccess, callbackError);

            },

            delete: function (ruleId, policyId, callbackSuccess, callbackError ) {

                this.data.policy.remove({policy_id: policyId, rule_id: ruleId}, {}, callbackSuccess, callbackError);

            },

            findAllFromPolicyWithCallback: function(policyId, callback){

                this.data.policy.get({policy_id: policyId}).$promise.then(function(data) {

                    callback(data.rules.rules);
                    //callback(utilService.transform(data['rules'], 'rules'));

                });

            }


        }

    }
})();