index.ts 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. /*
  2. * GET users listing.
  3. */
  4. import express = require('express');
  5. const router = express.Router();
  6. import RouterUtils from '../src/RouterUtils';
  7. import ConfigManager, { LDAPAttribute, LDAPCategory } from '../src/ConfigLoader';
  8. function GetCurrentCategory(req: express.Request, defaultResult: LDAPCategory): LDAPCategory|null {
  9. if (!req.query["category"])
  10. return null;
  11. let query = Array.isArray(req.query["category"]) ? req.query["category"][0] : req.query["category"];
  12. return LinkToCategory(query.toString()) || defaultResult;
  13. }
  14. function LinkToCategory(query: string): LDAPCategory | null {
  15. return ConfigManager.GetInstance().GetCategoryByName(decodeURIComponent(query));
  16. }
  17. function CategoryToLink(category: LDAPCategory): string {
  18. return encodeURIComponent(category.GetName());
  19. }
  20. function DnToLink(dn: string): string {
  21. return encodeURIComponent(dn);
  22. }
  23. router.get('/', (req: express.Request, res: express.Response) => {
  24. if (!req.isUserLogged)
  25. return RouterUtils.Redirect(res, "/login");
  26. req.ldapManager.GetInstance().then(ldap => ldap.GetTree()).then(root => {
  27. res.render("index", {
  28. tree: root.GetChildren()[0],
  29. DnToLnk: DnToLink
  30. });
  31. });
  32. });
  33. router.get('/home', (req, res) => {
  34. if (!req.isUserLogged)
  35. return RouterUtils.Redirect(res, "/login");
  36. res.render('homePage', {});
  37. });
  38. export default router;