Redo server functionality

This commit is contained in:
jeffvli
2022-10-24 21:41:47 -07:00
parent db8a7d6a63
commit 4a3ce02805
40 changed files with 1986 additions and 952 deletions
+78 -8
View File
@@ -1,17 +1,87 @@
import express, { Router } from 'express';
import { controller } from '../controllers';
import { authenticateAdmin } from '../middleware';
import { controller } from '@controllers/index';
import { authenticateAdmin } from '@middleware/authenticate-admin';
import { service } from '@services/index';
import { validateRequest, validation } from '@validations/index';
export const router: Router = express.Router({ mergeParams: true });
router.get('/', controller.servers.getServerList);
router
.route('/')
.get(
validateRequest(validation.servers.list),
controller.servers.getServerList
)
.post(
authenticateAdmin,
validateRequest(validation.servers.create),
controller.servers.createServer
);
router.post('/', authenticateAdmin, controller.servers.createServer);
router
.route('/:serverId')
.get(
validateRequest(validation.servers.detail),
controller.servers.getServerDetail
)
.patch(
authenticateAdmin,
validateRequest(validation.servers.update),
controller.servers.updateServer
)
.delete(
authenticateAdmin,
validateRequest(validation.servers.deleteServer),
controller.servers.deleteServer
);
router.get('/:id', controller.servers.getServerDetail);
router
.route('/:serverId/refresh')
.get(
authenticateAdmin,
validateRequest(validation.servers.refresh),
controller.servers.refreshServer
);
router.get('/:id/refresh', authenticateAdmin, controller.servers.refreshServer);
router
.route('/:serverId/scan')
.post(
validateRequest(validation.servers.scan),
authenticateAdmin,
controller.servers.scanServer
);
router.get('/:id/folder', authenticateAdmin, controller.servers.getFolder);
router
.route('/:serverId/url')
.post(
authenticateAdmin,
validateRequest(validation.servers.createUrl),
controller.servers.createServerUrl
);
router.post('/:id/scan', authenticateAdmin, controller.servers.scanServer);
router.param('urlId', async (_req, _res, next, urlId) => {
await service.servers.findUrlById({ id: urlId });
next();
});
router
.route('/:serverId/url/:urlId')
.delete(
authenticateAdmin,
validateRequest(validation.servers.deleteUrl),
controller.servers.deleteServerUrl
);
router
.route('/:serverId/url/:urlId/enable')
.post(
validateRequest(validation.servers.enableUrl),
controller.servers.enableServerUrl
);
router
.route('/:serverId/url/:urlId/disable')
.post(
validateRequest(validation.servers.disableUrl),
controller.servers.disableServerUrl
);