entity.ts 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  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. router.get('/:dn', (req: express.Request, res: express.Response) => {
  9. if (!Security.requireLoggedUser(req, res))
  10. return;
  11. res.render('entity', {
  12. dn: req.params.dn
  13. });
  14. });
  15. router.delete('/', (req: express.Request, res: express.Response) => {
  16. const session = Security.GetSession(req);
  17. if (!req.query["csrf"] || !req.query["dn"] || Array.isArray(req.query["csrf"]) || Array.isArray(req.query["dn"])) {
  18. res.sendStatus(400);
  19. return;
  20. }
  21. if (!session || !req.query["csrf"] || req.query["csrf"] !== session.GetCSRFToken()) {
  22. res.sendStatus(403);
  23. return;
  24. }
  25. req.ldapManager.GetInstance().then((ldap: ILDAPManager): void => {
  26. ldap.Remove(req.query["dn"]?.toString() || "")
  27. .then(() => {
  28. res.sendStatus(203);
  29. })
  30. .catch(err => {
  31. res.statusCode = 500;
  32. res.statusMessage = err;
  33. res.send();
  34. });
  35. });
  36. });
  37. export default router;