From b201946a7d3bbbdb0c872cd554a2d65c78e0503a Mon Sep 17 00:00:00 2001 From: Jesse Chan Date: Wed, 30 Sep 2020 18:27:21 +0800 Subject: [PATCH] server: routes: split feed monitor APIs to feed-monitor.ts --- server/routes/{ => api}/client.ts | 4 +- server/routes/api/feed-monitor.ts | 39 ++++++++++++++++++++ server/routes/{api.ts => api/index.ts} | 51 ++++++-------------------- server/routes/{ => api}/torrents.ts | 4 +- 4 files changed, 54 insertions(+), 44 deletions(-) rename server/routes/{ => api}/client.ts (94%) create mode 100644 server/routes/api/feed-monitor.ts rename server/routes/{api.ts => api/index.ts} (56%) rename server/routes/{ => api}/torrents.ts (98%) diff --git a/server/routes/client.ts b/server/routes/api/client.ts similarity index 94% rename from server/routes/client.ts rename to server/routes/api/client.ts index ee2437d1..893c60df 100644 --- a/server/routes/client.ts +++ b/server/routes/api/client.ts @@ -1,7 +1,7 @@ import express from 'express'; -import ajaxUtil from '../util/ajaxUtil'; -import client from '../models/client'; +import ajaxUtil from '../../util/ajaxUtil'; +import client from '../../models/client'; const router = express.Router(); diff --git a/server/routes/api/feed-monitor.ts b/server/routes/api/feed-monitor.ts new file mode 100644 index 00000000..3912dfed --- /dev/null +++ b/server/routes/api/feed-monitor.ts @@ -0,0 +1,39 @@ +import express from 'express'; + +import ajaxUtil from '../../util/ajaxUtil'; + +const router = express.Router(); + +router.get('/', (req, res) => { + req.services?.feedService.getAll(ajaxUtil.getResponseFn(res)); +}); + +router.delete('/:id', (req, res) => { + req.services?.feedService.removeItem(req.params.id, ajaxUtil.getResponseFn(res)); +}); + +router.get('/feeds', (req, res) => { + req.services?.feedService.getFeeds(req.params.query, ajaxUtil.getResponseFn(res)); +}); + +router.put('/feeds', (req, res) => { + req.services?.feedService.addFeed(req.body, ajaxUtil.getResponseFn(res)); +}); + +router.put('/feeds/:id', (req, res) => { + req.services?.feedService.modifyFeed(req.params.id, req.body, ajaxUtil.getResponseFn(res)); +}); + +router.get('/rules', (req, res) => { + req.services?.feedService.getRules(req.params.query, ajaxUtil.getResponseFn(res)); +}); + +router.put('/rules', (req, res) => { + req.services?.feedService.addRule(req.body, ajaxUtil.getResponseFn(res)); +}); + +router.get('/items', (req, res) => { + req.services?.feedService.getItems(req.query, ajaxUtil.getResponseFn(res)); +}); + +export default router; diff --git a/server/routes/api.ts b/server/routes/api/index.ts similarity index 56% rename from server/routes/api.ts rename to server/routes/api/index.ts index c931daf3..b186d784 100644 --- a/server/routes/api.ts +++ b/server/routes/api/index.ts @@ -6,15 +6,16 @@ import type {Request} from 'express'; import type {HistorySnapshot} from '@shared/constants/historySnapshotTypes'; import type {NotificationFetchOptions} from '@shared/types/Notification'; -import appendUserServices from '../middleware/appendUserServices'; -import ajaxUtil from '../util/ajaxUtil'; -import client from '../models/client'; +import appendUserServices from '../../middleware/appendUserServices'; +import ajaxUtil from '../../util/ajaxUtil'; +import client from '../../models/client'; import clientRoutes from './client'; -import clientActivityStream from '../middleware/clientActivityStream'; -import eventStream from '../middleware/eventStream'; -import Filesystem from '../models/Filesystem'; -import mediainfo from '../util/mediainfo'; -import settings from '../models/settings'; +import clientActivityStream from '../../middleware/clientActivityStream'; +import eventStream from '../../middleware/eventStream'; +import feedMonitorRoutes from './feed-monitor'; +import Filesystem from '../../models/Filesystem'; +import mediainfo from '../../util/mediainfo'; +import settings from '../../models/settings'; import torrentsRoutes from './torrents'; const router = express.Router(); @@ -23,6 +24,8 @@ router.use('/', passport.authenticate('jwt', {session: false}), appendUserServic router.use('/client', clientRoutes); +router.use('/feed-monitor', feedMonitorRoutes); + router.use('/torrents', torrentsRoutes); router.get('/activity-stream', eventStream, clientActivityStream); @@ -31,38 +34,6 @@ router.get('/download', (req, res) => { client.downloadFiles(req.user, req.services, req.query.hash, req.query.files, res); }); -router.delete('/feed-monitor/:id', (req, res) => { - req.services?.feedService.removeItem(req.params.id, ajaxUtil.getResponseFn(res)); -}); - -router.get('/feed-monitor', (req, res) => { - req.services?.feedService.getAll(ajaxUtil.getResponseFn(res)); -}); - -router.get('/feed-monitor/feeds', (req, res) => { - req.services?.feedService.getFeeds(req.params.query, ajaxUtil.getResponseFn(res)); -}); - -router.put('/feed-monitor/feeds', (req, res) => { - req.services?.feedService.addFeed(req.body, ajaxUtil.getResponseFn(res)); -}); - -router.put('/feed-monitor/feeds/:id', (req, res) => { - req.services?.feedService.modifyFeed(req.params.id, req.body, ajaxUtil.getResponseFn(res)); -}); - -router.get('/feed-monitor/rules', (req, res) => { - req.services?.feedService.getRules(req.params.query, ajaxUtil.getResponseFn(res)); -}); - -router.put('/feed-monitor/rules', (req, res) => { - req.services?.feedService.addRule(req.body, ajaxUtil.getResponseFn(res)); -}); - -router.get('/feed-monitor/items', (req, res) => { - req.services?.feedService.getItems(req.query, ajaxUtil.getResponseFn(res)); -}); - router.get('/directory-list', (req, res) => { Filesystem.getDirectoryList(req.query, ajaxUtil.getResponseFn(res)); }); diff --git a/server/routes/torrents.ts b/server/routes/api/torrents.ts similarity index 98% rename from server/routes/torrents.ts rename to server/routes/api/torrents.ts index c65711de..22be9de0 100644 --- a/server/routes/torrents.ts +++ b/server/routes/api/torrents.ts @@ -10,8 +10,8 @@ import type { StopTorrentsOptions, } from '@shared/types/Action'; -import ajaxUtil from '../util/ajaxUtil'; -import client from '../models/client'; +import ajaxUtil from '../../util/ajaxUtil'; +import client from '../../models/client'; const router = express.Router();