server/src/routes/index.ts
Rama main · réplica de lectura del repositorio original.
import { Router } from 'express';
import healthRouter from './health';
import settingsRouter from './settings';
import mediaRouter from './media';
import rulesRouter from './rules';
import scanRouter from './scan';
import statsRouter from './stats';
import activityRouter from './activity';
import queueRouter from './queue';
import libraryRouter from './library';
import historyRouter from './history';
import unraidRouter from './unraid';
import storageRouter from './storage';
import forecastRouter from './forecast';
import { clearForecastCache } from '../services/forecast';
import usersRouter from './users';
import collectionsRouter from './collections';
import webhooksRouter from './webhooks';
import announcementsRouter from './announcements';
const router = Router();
// Any change (a rule, a setting, a protection, a queue action) can change the
// forecast, so drop the cached one. Previews and rule forecasts only read.
router.use((req, _res, next) => {
if (req.method !== 'GET' && !/\/(preview|forecast)$/.test(req.path)) clearForecastCache();
next();
});
// Mount all route handlers
router.use('/health', healthRouter);
router.use('/settings', settingsRouter);
router.use('/media', mediaRouter);
router.use('/rules', rulesRouter);
router.use('/scan', scanRouter);
router.use('/stats', statsRouter);
router.use('/activity', activityRouter);
router.use('/queue', queueRouter);
router.use('/library', libraryRouter);
router.use('/history', historyRouter);
router.use('/unraid', unraidRouter);
router.use('/storage', storageRouter);
router.use('/forecast', forecastRouter);
router.use('/users', usersRouter);
router.use('/collections', collectionsRouter);
router.use('/webhooks', webhooksRouter);
router.use('/announcements', announcementsRouter);
export default router;