1
0

main.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #!/bin/node
  2. const path = require('path');
  3. const fs = require('fs');
  4. const Router = require('node-simple-router');
  5. const http = require('http');
  6. const CONFIG = require('./src/config.js');
  7. const Security = require('./src/security.js');
  8. const RouterUtils = require('./src/routerUtils.js').RouterUtils;
  9. const CR2Parser = require('./src/filetype/cr2.js').ExifParser;
  10. const UPDATE_INTERVAL = 1800000; // 30 min
  11. function App() {
  12. this.router = new Router({ static_route: __dirname+"/static/" });
  13. this.routerUtils = new RouterUtils(this);
  14. this.databaseHelper = require('./src/databaseHelper.js').DatabaseHelper;
  15. this.libraryManager = require('./src/libraryManager.js').LibraryManager;
  16. }
  17. App.prototype.init = async function() {
  18. [
  19. "./router/mdi.js",
  20. "./router/bootstrap.js",
  21. "./router/api.js",
  22. "./router/index.js"
  23. ].forEach(i => require(i).register(this));
  24. await this.databaseHelper.init();
  25. }
  26. App.prototype.run = async function() {
  27. http.createServer(this.router).listen(CONFIG.port);
  28. this.libraryManager.updateLibraries(this.databaseHelper);
  29. setInterval(() => { this.libraryManager.updateLibraries(this.databaseHelper); }, UPDATE_INTERVAL);
  30. }
  31. console.info = () => {};
  32. let app = new App();
  33. app.init().then(() => app.run());