index.ts 1.5 KB

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