travel.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. const fs = require("fs");
  2. module.exports = {
  3. listDirectories: function(req, res){
  4. const searchDir = function(path, currentObject){
  5. let response = fs.readdirSync(path);
  6. for(let i = 0; i < response.length; i++){
  7. if(response[i].includes(".") === false){
  8. let newPath = `${path}/${response[i]}`;
  9. let newObject = ({
  10. name: response[i].replace(/-/g, " "),
  11. path: newPath.substring(newPath.indexOf("/travel") + 7, newPath.length),
  12. contents: []
  13. });
  14. currentObject.contents.push(newObject);
  15. searchDir(newPath, newObject);
  16. }
  17. }
  18. return currentObject;
  19. }
  20. let result = searchDir(`${__dirname}/../content`, {
  21. contents: []
  22. });
  23. let array = [];
  24. for(let i = 0; i < result.contents.length; i++){
  25. if(result.contents[i].name === "travel"){
  26. array = result.contents[i].contents;
  27. break;
  28. }
  29. }
  30. return res.json(array);
  31. },
  32. getImages: function(req, res){
  33. let path = req.originalUrl
  34. .split("/")
  35. .slice(2)
  36. .join("/");
  37. let pictures = fs.readdirSync(`${__dirname}/content/${path}`);
  38. let response = [];
  39. for(let i = 0; i < pictures.length; i++){
  40. response.push(`/${path}/${pictures[i]}`);
  41. }
  42. return res.json(response);
  43. }
  44. }