12345678910111213141516171819202122232425262728293031323334353637 |
- import {HttpMethod, Route, StatusCodes, Request, Response} from 'org.crazydoctor.expressts';
- import ServerApp from '..';
- import { ISession } from '../session/ISession';
- import DBEvents from '../db/DBEvents';
- class GetDataStatisticsClass extends Route {
- protected action = (req: Request, res: Response): any => {
- const session = req.session as ISession;
-
- if(!session.isEditor) {
- res.status(StatusCodes.FORBIDDEN).send('Access denied');
- return;
- }
- if(ServerApp.SourcesUpdating) {
- res.status(StatusCodes.ACCEPTED).send('Sources are being updated');
- return;
- }
- const cls = req.params.class;
- const { page, pageSize } = req.query;
- DBEvents.getClassEventsCount(cls).then((count) => {
- DBEvents.getClassEvents(cls, parseInt(page as string), parseInt(pageSize as string)).then((classEvents) => {
- res.set({
- 'Content-Type': 'application/json'
- });
- res.status(StatusCodes.OK).send({ count: count, records: JSON.parse(JSON.stringify(classEvents).replaceAll('__static__', '')) });
- });
- });
- };
- protected method = HttpMethod.GET;
- protected order = 10;
- protected route = '/data/statistics/class/:class';
- }
- export default GetDataStatisticsClass;
|