mitweb: move entity model to entity module
[nit.git] / share / nitweb / javascripts / model.js
1 /*
2 * Copyright 2016 Alexandre Terrasa <alexandre@moz-code.org>.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17 (function() {
18 var apiUrl = '/api';
19
20 angular
21 .module('model', [])
22
23 .factory('Feedback', [ '$http', function($http) {
24 return {
25 loadEntityStars: function(id, cb, cbErr) {
26 $http.get(apiUrl + '/feedback/stars/' + id)
27 .success(cb)
28 .error(cbErr);
29 },
30 loadEntityStarsDimension: function(id, dimension, cb, cbErr) {
31 $http.get(apiUrl + '/feedback/stars/' + id + '/dimension/' + dimension)
32 .success(cb)
33 .error(cbErr);
34 },
35 postEntityStarDimension: function(id, dimension, rating, cb, cbErr) {
36 $http.post(apiUrl + '/feedback/stars/' + id + '/dimension/' + dimension,
37 {rating: rating})
38 .success(cb)
39 .error(cbErr);
40 },
41 loadMostRated: function(cb, cbErr) {
42 $http.get(apiUrl + '/feedback/grades/most')
43 .success(cb)
44 .error(cbErr);
45 },
46 loadBestRated: function(cb, cbErr) {
47 $http.get(apiUrl + '/feedback/grades/best')
48 .success(cb)
49 .error(cbErr);
50 },
51 loadWorstRated: function(cb, cbErr) {
52 $http.get(apiUrl + '/feedback/grades/worst')
53 .success(cb)
54 .error(cbErr);
55 },
56 loadUsersRatings: function(cb, cbErr) {
57 $http.get(apiUrl + '/feedback/grades/users')
58 .success(cb)
59 .error(cbErr);
60 },
61 }
62 }])
63
64 .factory('DocDown', [ '$http', function($http) {
65 return {
66 postMarkdown: function(md, cb, cbErr) {
67 $http.post(apiUrl + '/docdown', md)
68 .success(cb)
69 .error(cbErr);
70 }
71 }
72 }])
73
74 .factory('Metrics', [ '$http', function($http) {
75 return {
76 loadStructuralMetrics: function(id, cb, cbErr) {
77 $http.get(apiUrl + '/metrics/structural/' + id)
78 .success(cb)
79 .error(cbErr);
80 }
81 }
82 }])
83
84 .factory('User', [ '$http', function($http) {
85 return {
86 loadUser: function(cb, cbErr) {
87 $http.get(apiUrl + '/user')
88 .success(cb)
89 .error(cbErr);
90 },
91 loadUserStars: function(cb, cbErr) {
92 $http.get(apiUrl + '/feedback/user/stars')
93 .success(cb)
94 .error(cbErr);
95 },
96 }
97 }])
98 })();