-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathAPIFactory.js
More file actions
80 lines (69 loc) · 2.16 KB
/
APIFactory.js
File metadata and controls
80 lines (69 loc) · 2.16 KB
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
/**
* Created by Sahil Jain on 16/08/2014.
*/
var app = angular.module("mainApp");
app.factory('API', function ($http) {
var urlBase = "/api";
var dataFactory = {};
dataFactory.getToken = function (username, password) {
return $http({
method: 'POST',
url: urlBase + '/login',
params: {email: username, password: password}
});
};
dataFactory.signUp = function (email, password, firstName) {
return $http({
method: 'POST',
url: urlBase + '/signup',
params: {email: email, password: password, firstName: firstName}
});
};
dataFactory.getUser = function (token) {
return $http.get(urlBase + '/user?token=' + token); //TODO add params using angular, not concat
};
dataFactory.getQuestions = function () {
return $http({
method: 'GET',
url: urlBase + '/questions',
params: {}
});
};
dataFactory.getQuestionsForCategory = function (id) {
return $http({
method: 'GET',
url: urlBase + '/questions?categoryId=' + id,
params: {}
});
};
dataFactory.getQuestion = function (questionId) {
return $http.get(urlBase + '/questions/' + questionId);
};
dataFactory.getCategories = function () {
return $http.get(urlBase + '/categories');
};
dataFactory.postQuestion = function (questionTitle, questionDescription, categoryIndex, token) {
return $http({
method: 'POST',
url: urlBase + '/questions',
data: {
questionTitle: questionTitle,
questionDescription: questionDescription,
categoryIndex: categoryIndex,
token: token
}
});
};
dataFactory.postAnswer = function (questionId, answerBody, token) {
return $http({
method: 'POST',
url: urlBase + '/answers',
data: {
questionId: questionId,
answerBody: answerBody,
token: token
}
});
};
return dataFactory;
});