main.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #!/bin/node
  2. const CONFIG = require('craftlabhttpserver/src/config.js');
  3. CONFIG.Initialize(
  4. {
  5. port: { value: 80, valid: CONFIG.validNumber },
  6. instanceHostname: { value: require('os').hostname(), valid: CONFIG.validNotEmptyString },
  7. ldapUrl: { value: "", valid: CONFIG.validNotEmptyString },
  8. ldapBindDN: { value: "", valid: CONFIG.validNotEmptyString },
  9. ldapBindPwd: { value: "", valid: CONFIG.validNotEmptyString },
  10. ldapBase: { value: "", valid: CONFIG.validNotEmptyString },
  11. database: { value: "", valid: CONFIG.validNotEmptyString }
  12. });
  13. const path = require('path');
  14. const fs = require('fs');
  15. const Router = require('node-simple-router');
  16. const http = require('http');
  17. const Security = require('craftlabhttpserver/src/security.js');
  18. const RouterUtils = require('craftlabhttpserver/src/routerUtils.js').RouterUtils;
  19. function App() {
  20. this.router = new Router({ static_route: __dirname+"/static/" });
  21. this.routerUtils = new RouterUtils(this);
  22. this.databaseHelper = require('craftlabhttpserver/src/databaseHelper.js').DatabaseHelper;
  23. }
  24. App.prototype.init = async function() {
  25. [
  26. "craftlabhttpserver/router/mdi.js",
  27. "craftlabhttpserver/router/bootstrap.js",
  28. ].forEach(i => require(i).register(this));
  29. await this.databaseHelper.init();
  30. }
  31. App.prototype.run = async function() {
  32. http.createServer(this.router).listen(CONFIG.port);
  33. }
  34. let app = new App();
  35. app.init().then(() => app.run());