GetStatistics.ts 1.0 KB

123456789101112131415161718192021222324252627282930
  1. import {HttpMethod, Route, StatusCodes} from 'org.crazydoctor.expressts';
  2. import {Request, Response} from 'express';
  3. import ServerApp from '..';
  4. import { ISession } from '../session/ISession';
  5. import { Sources } from '../sources/Sources';
  6. class GetStatistics extends Route {
  7. protected action = (req: Request, res: Response): any => {
  8. const session = req.session as ISession;
  9. if(!session.isEditor) {
  10. session.returnTo = '/statistics';
  11. res.redirect('/login');
  12. return;
  13. }
  14. if(ServerApp.SourcesUpdating) {
  15. res.status(StatusCodes.ACCEPTED).send('Sources are being updated');
  16. return;
  17. }
  18. res.status(StatusCodes.OK).render('statistics', { isAdmin: session.isAdmin || false, isEditor: session.isEditor || false, Login: session.login || null, template: 'statistics', StatisticsUser: null, title: 'Doczilla JS Docs - Statistics', ClassList: Sources.get(), RepoNames: Sources.getRepoNames() });
  19. };
  20. protected method = HttpMethod.GET;
  21. protected order = 11;
  22. protected route = '/statistics';
  23. }
  24. export default GetStatistics;