Skip to content

Commit 724701d

Browse files
committed
wrote more controller functions
1 parent 95c3f02 commit 724701d

File tree

3 files changed

+89
-26
lines changed

3 files changed

+89
-26
lines changed

TODO.md

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,19 @@
44
| gulpfile.js | 146 | Add gulp-banner to add GNU GPL nitice on every js file.
55
| controllers/Initialize.js | 18 | Test initialize controller
66
| controllers/Users.js | 9 | Test buildProjection function
7-
| controllers/Users.js | 110 | Test limiting
8-
| controllers/Users.js | 111 | Test that response contains count of total record for the query
9-
| controllers/Users.js | 112 | Test that the last document Id in the return array of documents is in the response
10-
| controllers/Users.js | 113 | Test that sorting works
11-
| controllers/Users.js | 114 | Test that projection works
12-
| controllers/Users.js | 115 | Test that populating works
13-
| controllers/Users.js | 116 | Test that date range works
14-
| controllers/Users.js | 158 | Finish users controller
15-
| controllers/Users.js | 159 | Finish users route
16-
| routes/index.js | 208 | Implement API Generator
7+
| controllers/Users.js | 112 | Test limiting
8+
| controllers/Users.js | 113 | Test that response contains count of total record for the query
9+
| controllers/Users.js | 114 | Test that the last document Id in the return array of documents is in the response
10+
| controllers/Users.js | 115 | Test that sorting works
11+
| controllers/Users.js | 116 | Test that projection works
12+
| controllers/Users.js | 117 | Test that populating works
13+
| controllers/Users.js | 118 | Test that date range works
14+
| controllers/Users.js | 216 | Finish users controller
15+
| controllers/Users.js | 217 | Finish users route
16+
| controllers/Users.js | 218 | Test that any deleted data is backed up
17+
| routes/index.js | 213 | Implement API Generator
1718
| routes/initialize.js | 10 | Test initialize route
18-
| services/encryption/index.js | 40 | Generate checksum here
1919
| services/queue/clock.js | 11 | work on a clock functionality so kue can support scheduled jobs
2020
| services/queue/jobs.js | 75 | Add webhook Job here
21-
| services/queue/workers.js | 18 | Add Webhook worker here
21+
| services/queue/workers.js | 18 | Add Webhook worker here
22+
| services/encryption/index.js | 40 | Generate checksum here

controllers/Users.js

Lines changed: 71 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -119,43 +119,100 @@ UsersController.find = function(req,res,next){
119119
}
120120
};
121121

122-
UsersController.findOne = function(id,projection,options){
123-
return Users.findById(id,projection,options);
122+
UsersController.findOne = function(req,res,next){
123+
var id = req.query.id;
124+
Users.findById(id)
125+
.then(function(resp){
126+
res.ok(resp);
127+
})
128+
.catch(function(err){
129+
next(err);
130+
});
124131
};
125132

126-
UsersController.search = function(string){
127-
return Users.search(string);
133+
UsersController.search = function(req,res,next){
134+
var query = req.query.query;
135+
Users.search(query)
136+
.then(function(resp){
137+
res.ok(resp);
138+
})
139+
.catch(function(err){
140+
next(err);
141+
});
128142
};
129143

130-
UsersController.create = function(data){
131-
return Users.create(data);
144+
UsersController.create = function(req,res,next){
145+
var data = req.body;
146+
Users.create(data)
147+
.then(function(resp){
148+
res.ok(resp);
149+
})
150+
.catch(function(err){
151+
next(err);
152+
});
153+
};
154+
155+
UsersController.update = function(req,res,next){
156+
var query = req.query;
157+
var data = req.body;
158+
Users.update(query,data)
159+
.then(function(resp){
160+
res.ok(resp);
161+
})
162+
.catch(function(err){
163+
next(err);
164+
});
132165
};
133166

134-
UsersController.update = function(query, data){
135-
return Users.update(query,data);
167+
UsersController.updateOne = function(req,res,next){
168+
var id = req.query.id;
169+
var data = req.body;
170+
Users.findByIdAndUpdate(id,data)
171+
.then(function(resp){
172+
res.ok(resp);
173+
})
174+
.catch(function(err){
175+
next(err);
176+
});
136177
};
137178

138-
UsersController.updateOne = function(id, data){
139-
return Users.findByIdAndUpdate(id,data);
179+
UsersController.count = function(req,res,next){
180+
var query = req.query;
181+
if(!query){
182+
query = {};
183+
}
184+
Users.count(query)
185+
.then(function(resp){
186+
res.ok(resp);
187+
})
188+
.catch(function(err){
189+
next(err);
190+
});
140191
};
141192

142193
UsersController.delete = function(query){
194+
// Find match
195+
// Push match to a queue for back up
196+
// Delete matches
143197
return Users.deleteMany(query);
144198
};
145199

146200
UsersController.deleteOne = function(id){
201+
// Find match
202+
// Push match to a queue for back up
203+
// Delete matches
147204
return Users.findByIdAndRemove(id);
148205
};
149206

150-
UsersController.count = function(query){
151-
return Users.count(query);
152-
};
153-
154207
UsersController.restore = function(query){
208+
// Find data by ID from trash
209+
// Restore to DB
210+
// Delete from trash
155211
return Users.count(query);
156212
};
157213

158214
module.exports = UsersController;
159215

160216
// Todo: Finish users controller
161217
// Todo: Finish users route
218+
// ToDo: Test that any deleted data is backed up

routes/index.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,13 +53,18 @@ next();
5353
router._enforceUserIdAndAppId = function(req,res,next){
5454
var userId = req.param('userId');
5555
var appId = req.param('appId');
56+
var developer = req.param('developer');
5657
if(!userId){
5758
return res.badRequest(false,'No userId parameter was passed in the payload of this request. Please pass a userId.');
5859
}else if(!appId){
5960
return res.badRequest(false,'No appId parameter was passed in the payload of this request. Please pass an appId.');
6061
}else{
6162
req.userId = userId;
6263
req.appId = appId;
64+
req.body.client = appId;
65+
req.body.owner = userId;
66+
req.body.createdBy = userId;
67+
req.body.developer = developer;
6368
next();
6469
}
6570
};

0 commit comments

Comments
 (0)