routes.js 3.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. const renderer = require("./controllers/renderer");
  2. const merchantData = require("./controllers/merchantData");
  3. const ingredientData = require("./controllers/ingredientData");
  4. const otherData = require("./controllers/otherData");
  5. const transactionData = require("./controllers/transactionData");
  6. const recipeData = require("./controllers/recipeData");
  7. const orderData = require("./controllers/orderData.js");
  8. const informationPages = require("./controllers/informationPages.js");
  9. const emailVerification = require("./controllers/emailVerification.js");
  10. const passwordReset = require("./controllers/passwordReset.js");
  11. const session = require("./verifySession.js");
  12. const multer = require("multer");
  13. const upload = multer({dest: "uploads/"});
  14. module.exports = function(app){
  15. //Render page
  16. app.get("/", renderer.landingPage);
  17. app.get("/login", renderer.loginPage);
  18. app.get("/dashboard", session, renderer.displayDashboard);
  19. app.get("/resetpassword/*", renderer.displayPassReset);
  20. //Merchant
  21. app.post("/merchant/create/none", merchantData.createMerchantNone);
  22. app.put("/merchant/ingredients/update", session, merchantData.updateMerchantIngredient); //also updates some data in ingredients
  23. app.post("/merchant/password", merchantData.updatePassword); //TODO: change to work with session
  24. //Ingredients
  25. app.post("/ingredients/create", session, ingredientData.createIngredient); //also adds to merchant
  26. app.put("/ingredients/update", session, ingredientData.updateIngredient);
  27. app.post("/ingredients/create/spreadsheet", session, upload.single("ingredients"), ingredientData.createFromSpreadsheet);
  28. app.get("/ingredients/download/spreadsheet", session, ingredientData.spreadsheetTemplate);
  29. app.delete("/ingredients/remove/:id", session, ingredientData.removeIngredient);
  30. //Recipes
  31. app.post("/recipe/create", session, recipeData.createRecipe);
  32. app.put("/recipe/update", session, recipeData.updateRecipe);
  33. app.delete("/recipe/remove/:id", session, recipeData.removeRecipe);
  34. app.post("/recipes/create/spreadsheet", session, upload.single("recipes"), recipeData.createFromSpreadsheet);
  35. app.get("/recipes/download/spreadsheet", session, recipeData.spreadsheetTemplate);
  36. //Orders
  37. app.post("/orders/get", session, orderData.getOrders);
  38. app.post("/order/create", session, orderData.createOrder);
  39. app.post("/orders/create/spreadsheet", session, upload.single("orders"), orderData.createFromSpreadsheet);
  40. app.get("/orders/download/spreadsheet", session, orderData.spreadsheetTemplate);
  41. app.delete("/order/:id", session, orderData.removeOrder);
  42. //Transactions
  43. app.post("/transaction", session, transactionData.getTransactions);
  44. app.post("/transaction/create", session, transactionData.createTransaction);
  45. app.post("/transactions/create/spreadsheet", session, upload.single("transactions"), transactionData.createFromSpreadsheet);
  46. app.get("/transactions/download/spreadsheet", session, transactionData.spreadsheetTemplate);
  47. app.delete("/transaction/:id", session, transactionData.remove);
  48. app.get("/populatesometransactions", session, transactionData.populate);
  49. //Other
  50. app.post("/login", otherData.login);
  51. app.get("/logout", otherData.logout);
  52. //Information Pages
  53. app.get("/privacy", informationPages.privacy);
  54. app.get("/terms", informationPages.terms);
  55. app.get("/help", informationPages.help);
  56. //Email verification
  57. app.get("/verify/email/:id", emailVerification.sendVerifyEmail);
  58. app.post("/verify/resend", emailVerification.resendEmail);
  59. app.get("/verify/:id/:code", emailVerification.verify);
  60. //Password reset
  61. app.get("/reset/email", passwordReset.enterEmail);
  62. app.post("/reset/email", passwordReset.generateCode);
  63. app.get("/reset/:id/:code", passwordReset.enterPassword);
  64. app.post("/reset", passwordReset.resetPassword);
  65. }