forked from SoftUni/JavaScript-Applications-2015
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdata.js
More file actions
113 lines (92 loc) · 3.61 KB
/
data.js
File metadata and controls
113 lines (92 loc) · 3.61 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
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
106
107
108
109
110
111
112
113
var app = app || {};
app.data = (function() {
function Data(baseUrl, ajaxRequester) {
this.users = new Users(baseUrl, ajaxRequester);
this.bookmarks = new Bookmarks(baseUrl, ajaxRequester);
}
var cradentials = (function() {
var headers = {
'X-Parse-Application-Id': 'QZDq8Rro1Gfrc3ph9smGVOOocpTeNFWuKiDZD0Xr',
'X-Parse-REST-API-Key': 'iNS2encJtqlQHknbyfbXY2G9Vr5xmoKSx9evrSyL',
'X-Parse-Session-Token': getSessionToken()
};
function getSessionToken() {
localStorage.getItem('sessionToken');
}
function setSessionToken(sessionToken) {
localStorage.setItem('sessionToken', sessionToken);
}
function getUsername() {
localStorage.getItem('username');
}
function setUsername(sessionToken) {
localStorage.setItem('username', sessionToken);
}
function getHeaders() {
return headers;
}
return {
getSessionToken: getSessionToken,
setSessionToken: setSessionToken,
getUsername: getUsername,
setUsername: setUsername,
getHeaders: getHeaders
}
}());
var Users = (function() {
function Users(baseUrl, ajaxRequester) {
this._serviceUrl = baseUrl;
this._ajaxRequester = ajaxRequester;
this._headers = cradentials.getHeaders();
}
Users.prototype.login = function(username, password) {
var url = this._serviceUrl + 'login?username=' + username + '&password=' + password;
return this._ajaxRequester.get(url, this._headers)
.then(function(data) {
cradentials.setSessionToken(data.sessionToken);
cradentials.setUsername(data.username);
return data;
});
};
Users.prototype.register = function(username, password) {
var user = {
username: username,
password: password
};
var url = this._serviceUrl + 'users';
return this._ajaxRequester.post(url, user, this._headers)
.then(function(data) {
cradentials.setSessionToken(data.sessionToken);
return data;
});
};
Users.prototype.validateToken = function(accessToken) {
};
return Users;
}());
var Bookmarks = (function() {
function Bookmarks(baseUrl, ajaxRequester) {
this._serviceUrl = baseUrl + 'classes/Bookmarks';
this._ajaxRequester = ajaxRequester;
this._headers = cradentials.getHeaders();
}
Bookmarks.prototype.getAll = function() {
return this._ajaxRequester.get(this._serviceUrl, this._headers);
};
Bookmarks.prototype.add = function(bookmark) {
return this._ajaxRequester.post(this._serviceUrl, bookmark, this._headers);
};
Bookmarks.prototype.getById = function(objectId) {
return this._ajaxRequester.get(this._serviceUrl + '/' + objectId, this._headers);
};
Bookmarks.prototype.remove = function(objectId) {
return this._ajaxRequester.delete(this._serviceUrl + '/' + objectId, null, this._headers);
};
return Bookmarks;
}());
return {
get: function(baseUrl, ajaxRequester) {
return new Data(baseUrl, ajaxRequester);
}
}
}());