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
97
98
99
100
101
102
103
104
105
|
/**
* @author Samy Abdallah
*/
(function() {
'use strict';
angular
.module('moon')
.factory('modelService', modelService);
modelService.$inject = ['$resource', 'REST_URI', 'metaRuleService', 'utilService'];
function modelService($resource, REST_URI, metaRuleService, utilService) {
return {
data: $resource(REST_URI.MODELS + ':model_id', {}, {
get: {method: 'GET'},
query: {method: 'GET'},
create: {method: 'POST'},
remove: {method: 'DELETE'},
update: {method: 'PATCH'}
}),
findAll: function () {
return this.data.query().$promise.then(function (data) {
return utilService.transform(data, 'models');
});
},
findAllWithCallBack : function (callback){
return this.data.query().$promise.then(function (data) {
callback( utilService.transform(data, 'models'));
});
},
findOneWithCallback : function(modelId, callback){
return this.data.get({model_id: modelId}).$promise.then(function (data) {
callback(utilService.transformOne(data, 'models'));
});
},
findOneWithMetaRules: function (modelId) {
return this.data.get({model_id: modelId}).$promise.then(function (data) {
var res = utilService.transformOne(data, 'models');
if(res.meta_rules.length > 0){
metaRuleService.findSomeWithMetaData(res.meta_rules).then(function(metaRules){
res.meta_rules_values = metaRules;
res.id = modelId;
return res;
});
}else{
res.meta_rules_values = [];
res.id = modelId;
}
return res;
});
},
delete: function (model, callbackSuccess, callbackError ) {
delete model.meta_rules_values;
this.data.remove({model_id: model.id}, model, callbackSuccess, callbackError);
},
update: function (model, callbackSuccess, callbackError) {
delete model.meta_rules_values;
this.data.update({model_id: model.id}, model, callbackSuccess, callbackError);
}
}
}
})();
|