-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathuser_provider_memory.js
52 lines (41 loc) · 1.15 KB
/
user_provider_memory.js
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
var userCounter = 1;
UserProvider = function(){};
UserProvider.prototype.dummyData = [];
UserProvider.prototype.findAll = function(callback){
callback(null, this.dummyData);
};
UserProvider.prototype.findById = function(id, callback) {
var result = null;
for(var i = 0; i < this.dummyData.length; i++) {
if(this.dummyData[i]._id == id) {
result = this.dummyData[i];
break;
}
}
callback(null, result);
};
UserProvider.prototype.save = function(users, callback){
var user = null;
if(typeof(users.length)=="undefined"){
users = [users];
}
for(var i = 0; i < users.length; i++){
user = users[i];
user._id = userCounter++;
user.created_at = new Date();
if(user.properties === undefined){
user.properties = [];
}
for(var j = 0; j < user.properties.length; j++){
user.properties[j].created_at = new Date();
}
this.dummyData[this.dummyData.length] = user;
}
callback(null, users);
};
new UserProvider().save([
{name: 'Alan', properties: [{job: 'Developer'}, {language: 'Ruby'}]},
{name: 'Peter'},
{name: 'Maya'}
], function(error, users){});
exports.UserProvider = UserProvider;