nitweb: move doc-down model to doc-down 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('Metrics', [ '$http', function($http) {
65 return {
66 loadStructuralMetrics: function(id, cb, cbErr) {
67 $http.get(apiUrl + '/metrics/structural/' + id)
68 .success(cb)
69 .error(cbErr);
70 }
71 }
72 }])
73
74 .factory('User', [ '$http', function($http) {
75 return {
76 loadUser: function(cb, cbErr) {
77 $http.get(apiUrl + '/user')
78 .success(cb)
79 .error(cbErr);
80 },
81 loadUserStars: function(cb, cbErr) {
82 $http.get(apiUrl + '/feedback/user/stars')
83 .success(cb)
84 .error(cbErr);
85 },
86 }
87 }])
88 })();