mirror of
https://github.com/cpvalente/ontime.git
synced 2026-08-14 03:43:50 +00:00
7c1d2f4554
* refactor: remove unneeded async * chore: add express Router type to all routes * refactor: don't use index in react key * refactor: correctly get error message in excel route * refactor: avoid exporting muteable values
45 lines
1.4 KiB
TypeScript
45 lines
1.4 KiB
TypeScript
import express from 'express';
|
|
import type { Request, Response, Router } from 'express';
|
|
import type { ErrorResponse, GetInfo, GetUrl, SessionStats } from 'ontime-types';
|
|
import { getErrorMessage } from 'ontime-utils';
|
|
|
|
import * as sessionService from './session.service.js';
|
|
import { validateGenerateUrl } from './session.validation.js';
|
|
|
|
export const router: Router = express.Router();
|
|
|
|
router.get('/', async (_req: Request, res: Response<SessionStats | ErrorResponse>) => {
|
|
try {
|
|
const stats = await sessionService.getSessionStats();
|
|
res.status(200).send(stats);
|
|
} catch (error) {
|
|
const message = getErrorMessage(error);
|
|
res.status(500).send({ message });
|
|
}
|
|
});
|
|
|
|
router.get('/info', (_req: Request, res: Response<GetInfo | ErrorResponse>) => {
|
|
try {
|
|
const info = sessionService.getInfo();
|
|
res.status(200).send(info);
|
|
} catch (error) {
|
|
const message = getErrorMessage(error);
|
|
res.status(500).send({ message });
|
|
}
|
|
});
|
|
|
|
router.post('/url', validateGenerateUrl, (req: Request, res: Response<GetUrl | ErrorResponse>) => {
|
|
try {
|
|
const url = sessionService.generateShareUrl(req.body.baseUrl, req.body.path, {
|
|
authenticate: req.body.authenticate,
|
|
lockConfig: req.body.lockConfig,
|
|
lockNav: req.body.lockNav,
|
|
preset: req.body.preset,
|
|
});
|
|
res.status(200).send({ url: url.toString() });
|
|
} catch (error) {
|
|
const message = getErrorMessage(error);
|
|
res.status(500).send({ message });
|
|
}
|
|
});
|