Advertisement
Guest User

Untitled

a guest
Nov 25th, 2015
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.81 KB | None | 0 0
  1. 'use strict';
  2.  
  3. var dbSession = require('./dbSession.js');
  4. var Percolator = require('percolator').Percolator;
  5.  
  6. var Server = function (port) {
  7. var server = Percolator({'port': port, 'autoLink': false, 'staticDir': __dirname + '/../frontend'});
  8.  
  9. server.route(
  10. '/api/keywords',
  11. {
  12. GET: function (req, res) {
  13. console.log('Responding to a GET request for /api/keywords');
  14. dbSession.fetchAll(
  15. 'SELECT id, value, categoryID FROM keyword ORDER BY id',
  16. function (err, rows) {
  17. if (err) {
  18. console.log(err);
  19. res.status.internalServerError(err);
  20. } else {
  21. res.collection(rows).send();
  22. console.log('Response sent');
  23. }
  24. }
  25. );
  26. },
  27. POST: function (req, res) {
  28. console.log('Responding to a POST request for /api/keywords');
  29. req.onJson(
  30. function (err, newKeyword) {
  31. if (err) {
  32. console.log(err);
  33. res.status.internalServerError(err);
  34. }
  35. else {
  36. dbSession.query(
  37. 'INSERT INTO keyword (value, categoryID) VALUES (?, ?);',
  38. [newKeyword.value, newKeyword.categoryID],
  39. function (err, result) {
  40. if (err) {
  41. console.log(err);
  42. res.status.internalServerError(err);
  43. } else {
  44. res.object({'status': 'ok', 'id': result.insertId}).send();
  45. }
  46. }
  47. );
  48. }
  49. }
  50. );
  51. }
  52. }
  53. );
  54.  
  55. server.route(
  56. '/api/keywords/categories',
  57. {
  58. GET: function (req, res) {
  59. console.log('Responding to a GET request for /api/keywords/categories');
  60. dbSession.fetchAll(
  61. 'SELECT id, name FROM category ORDER BY id',
  62. function (err, rows) {
  63. if (err) {
  64. console.log(err);
  65. res.status.internalServerError(err);
  66. } else {
  67. res.collection(rows).send();
  68. }
  69. }
  70. );
  71. }
  72. }
  73. );
  74.  
  75. return server;
  76. };
  77.  
  78. module.exports = {'Server': Server};
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement