forked from GetStream/stream-react-example
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlocations.js
More file actions
44 lines (38 loc) · 982 Bytes
/
locations.js
File metadata and controls
44 lines (38 loc) · 982 Bytes
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
'use strict';
/**
* Get uploads based on location
* URL: /locations
* Method: GET
* Auth Required: Yes
* @param {string} location This required param specifies the location to filter by
* @returns {object} Returns a 200 status code with an array of search objects
*/
server.get('/locations', function(req, res, next) {
// extract query params
var params = req.params || {};
// if params don't exist, respond with empty object
if (!params.q) {
res.send(200, []);
return next();
}
// build sql query
var sql = `
SELECT *
FROM uploads
WHERE location LIKE ?
ORDER BY created_at DESC
`;
// build query
db.query(sql, [params.q], function(err, result) {
// catch all errors
if (err) {
// use global logger to log to console
log.error(err);
// return error message to client
return next(new restify.InternalError(err.message));
}
// send response to client
res.send(200, result);
return next();
});
});