routing.js 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. // Intialized database connections, one for each db config
  2. // * Mongoose is a popular Node/MongoDB driver
  3. // * Sequelize is a popular Node/SQL driver
  4. var MongodbRawHandler = require('./handlers/mongodb-raw');
  5. var MySQLRawHandler = require('./handlers/mysql-raw');
  6. var MongooseHandler = require('./handlers/mongoose');
  7. var SequelizeHandler = require('./handlers/sequelize');
  8. var SequelizePgHandler = require('./handlers/sequelize-postgres');
  9. var h = require('./helper');
  10. module.exports.BasicHandler = (function() {
  11. var self = {}
  12. self.routes = {
  13. '/json': h.responses.jsonSerialization,
  14. '/plaintext': h.responses.plaintext,
  15. '/mongoose/db': MongooseHandler.SingleQuery,
  16. '/mongoose/fortunes': MongooseHandler.Fortunes,
  17. '/mongodb/db': MongodbRawHandler.SingleQuery,
  18. '/mongodb/fortunes': MongodbRawHandler.Fortunes,
  19. '/sequelize/db': SequelizeHandler.SingleQuery,
  20. '/sequelize/fortunes': SequelizeHandler.Fortunes,
  21. '/mysql/db': MySQLRawHandler.SingleQuery,
  22. '/mysql/fortunes': MySQLRawHandler.Fortunes,
  23. '/sequelize-pg/db': SequelizePgHandler.SingleQuery,
  24. '/sequelize-pg/fortunes': SequelizePgHandler.Fortunes
  25. }
  26. self.has = function(path) {
  27. return self.routes[path];
  28. }
  29. self.handle = function(path, req, res) {
  30. return self.routes[path](req, res);
  31. }
  32. return self;
  33. }());
  34. module.exports.QueryHandler = (function () {
  35. var self = {}
  36. self.routes = {
  37. '/mongoose/queries': MongooseHandler.MultipleQueries,
  38. '/mongoose/updates': MongooseHandler.Updates,
  39. '/mongodb/queries': MongodbRawHandler.MultipleQueries,
  40. '/mongodb/updates': MongodbRawHandler.Updates,
  41. '/sequelize/queries': SequelizeHandler.MultipleQueries,
  42. '/sequelize/updates': SequelizeHandler.Updates,
  43. '/mysql/queries': MySQLRawHandler.MultipleQueries,
  44. '/mysql/updates': MySQLRawHandler.Updates,
  45. '/sequelize-pg/queries': SequelizePgHandler.MultipleQueries,
  46. '/sequelize-pg/updates': SequelizePgHandler.Updates
  47. }
  48. self.has = function(path) {
  49. return self.routes[path];
  50. }
  51. self.handle = function(path, queries, req, res) {
  52. return self.routes[path](queries, req, res);
  53. }
  54. return self;
  55. }());