travel.js 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  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. // let newPath = `${path}/${response[i]}`;
  8. // let newObject = ({
  9. // name: response[i].replace(/-/g, " "),
  10. // path: newPath.substring(newPath.indexOf("/travel") + 7, newPath.length),
  11. // contents: []
  12. // });
  13. // if(response[i].includes(".") === false){
  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. let array = [];
  32. let traverse = (dir)=>{
  33. let contents = fs.readdirSync(dir);
  34. let newArray = [];
  35. let hasSubDir = false;
  36. for(let i = 0; i < contents.length; i++){
  37. if(contents[i].includes(".") === false){
  38. hasSubDir = true;
  39. let newPath = `${dir}/${contents[i]}`;
  40. newArray.push({
  41. name: contents[i],
  42. img: ""
  43. });
  44. let inner = fs.readdirSync(newPath);
  45. for(let i = 0; i < inner.length; i++){
  46. if(inner[i].includes(".jpg")){
  47. newArray.img = `${newPath}/${inner[i]}`;
  48. break;
  49. }
  50. }
  51. traverse(newPath);
  52. }
  53. }
  54. if(hasSubDir === false){
  55. }
  56. return newArray;
  57. }
  58. let array = traverse(`${__dirname}/../content/travel`);
  59. },
  60. getImages: function(req, res){
  61. let path = req.originalUrl
  62. .split("/")
  63. .slice(2)
  64. .join("/");
  65. let pictures = fs.readdirSync(`${__dirname}/content/${path}`);
  66. let response = [];
  67. for(let i = 0; i < pictures.length; i++){
  68. response.push(`/${path}/${pictures[i]}`);
  69. }
  70. return res.json(response);
  71. }
  72. }