mirror of
https://github.com/jeffvli/feishin.git
synced 2026-05-07 04:20:12 +02:00
Adjust route structure
- Items now accessed through servers/:serverId - Auth middleware blanketly applied on routes - Merge params on routes
This commit is contained in:
@@ -1,17 +1,8 @@
|
||||
import express, { Router } from 'express';
|
||||
import { albumArtistsController } from '../controllers';
|
||||
import { authenticateLocal } from '../middleware';
|
||||
import { controller } from '../controllers';
|
||||
|
||||
export const albumArtistsRouter: Router = express.Router();
|
||||
export const router: Router = express.Router({ mergeParams: true });
|
||||
|
||||
albumArtistsRouter.get(
|
||||
'/',
|
||||
authenticateLocal,
|
||||
albumArtistsController.getAlbumArtists
|
||||
);
|
||||
router.get('/', controller.albumArtists.getAlbumArtists);
|
||||
|
||||
albumArtistsRouter.get(
|
||||
'/:id',
|
||||
authenticateLocal,
|
||||
albumArtistsController.getAlbumArtistById
|
||||
);
|
||||
router.get('/:id', controller.albumArtists.getAlbumArtistById);
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
import express, { Router } from 'express';
|
||||
import { albumsController } from '../controllers';
|
||||
import { authenticateLocal } from '../middleware';
|
||||
import { controller } from '../controllers';
|
||||
|
||||
export const albumsRouter: Router = express.Router();
|
||||
export const router: Router = express.Router({ mergeParams: true });
|
||||
|
||||
albumsRouter.get('/', authenticateLocal, albumsController.getAlbums);
|
||||
router.get('/', controller.albums.getAlbumList);
|
||||
|
||||
albumsRouter.get('/:id', authenticateLocal, albumsController.getAlbumById);
|
||||
router.get('/:id', controller.albums.getAlbumDetail);
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
import express, { Router } from 'express';
|
||||
import { artistsController } from '../controllers';
|
||||
import { authenticateLocal } from '../middleware';
|
||||
import { controller } from '../controllers';
|
||||
|
||||
export const artistsRouter: Router = express.Router();
|
||||
export const router: Router = express.Router({ mergeParams: true });
|
||||
|
||||
artistsRouter.get('/', authenticateLocal, artistsController.getArtists);
|
||||
router.get('/', controller.artists.getArtists);
|
||||
|
||||
artistsRouter.get('/:id', authenticateLocal, artistsController.getArtistById);
|
||||
router.get('/:id', controller.artists.getArtistById);
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
import express, { Router } from 'express';
|
||||
import passport from 'passport';
|
||||
import { authController } from '../controllers';
|
||||
import { authenticateLocal } from '../middleware';
|
||||
import { controller } from '../controllers';
|
||||
import { authenticate } from '../middleware';
|
||||
|
||||
export const authRouter: Router = express.Router();
|
||||
export const router: Router = express.Router({ mergeParams: true });
|
||||
|
||||
authRouter.post('/login', passport.authenticate('local'), authController.login);
|
||||
router.post('/login', passport.authenticate('local'), controller.auth.login);
|
||||
|
||||
authRouter.post('/register', authController.register);
|
||||
router.post('/register', controller.auth.register);
|
||||
|
||||
authRouter.post('/logout', authenticateLocal, authController.logout);
|
||||
router.post('/logout', authenticate, controller.auth.logout);
|
||||
|
||||
authRouter.post('/refresh', authController.refresh);
|
||||
router.post('/refresh', controller.auth.refresh);
|
||||
|
||||
authRouter.get('/ping', authController.ping);
|
||||
router.get('/ping', controller.auth.ping);
|
||||
|
||||
+27
-14
@@ -1,20 +1,33 @@
|
||||
import { Router } from 'express';
|
||||
import { albumArtistsRouter } from './album-artists.route';
|
||||
import { albumsRouter } from './albums.route';
|
||||
import { artistsRouter } from './artists.route';
|
||||
import { authRouter } from './auth.route';
|
||||
import { serversRouter } from './servers.route';
|
||||
import { songsRouter } from './songs.route';
|
||||
import { tasksRouter } from './tasks.route';
|
||||
import { usersRouter } from './users.route';
|
||||
import { helpers } from '../helpers';
|
||||
import { authenticate } from '../middleware';
|
||||
import { router as albumArtistsRouter } from './album-artists.route';
|
||||
import { router as albumsRouter } from './albums.route';
|
||||
import { router as artistsRouter } from './artists.route';
|
||||
import { router as authRouter } from './auth.route';
|
||||
import { router as serversRouter } from './servers.route';
|
||||
import { router as songsRouter } from './songs.route';
|
||||
import { router as tasksRouter } from './tasks.route';
|
||||
import { router as usersRouter } from './users.route';
|
||||
|
||||
export const routes = Router();
|
||||
export const routes = Router({ mergeParams: true });
|
||||
|
||||
routes.use('/api/auth', authRouter);
|
||||
routes.use('/api/servers', serversRouter);
|
||||
|
||||
routes.use(authenticate, (_req, _res, next) => {
|
||||
next();
|
||||
});
|
||||
|
||||
routes.use('/api/tasks', tasksRouter);
|
||||
routes.use('/api/users', usersRouter);
|
||||
routes.use('/api/album-artists', albumArtistsRouter);
|
||||
routes.use('/api/artists', artistsRouter);
|
||||
routes.use('/api/albums', albumsRouter);
|
||||
routes.use('/api/songs', songsRouter);
|
||||
routes.use('/api/servers', serversRouter);
|
||||
|
||||
routes.param('serverId', (req, _res, next, serverId) => {
|
||||
helpers.shared.checkServerPermissions(req.auth, { serverId });
|
||||
next();
|
||||
});
|
||||
|
||||
routes.use('/api/servers/:serverId/album-artists', albumArtistsRouter);
|
||||
routes.use('/api/servers/:serverId/artists', artistsRouter);
|
||||
routes.use('/api/servers/:serverId/albums', albumsRouter);
|
||||
routes.use('/api/servers/:serverId/songs', songsRouter);
|
||||
|
||||
@@ -1,29 +1,17 @@
|
||||
import express, { Router } from 'express';
|
||||
import { serversController } from '../controllers';
|
||||
import { authenticateAdmin, authenticateLocal } from '../middleware';
|
||||
import { controller } from '../controllers';
|
||||
import { authenticateAdmin } from '../middleware';
|
||||
|
||||
export const serversRouter: Router = express.Router();
|
||||
export const router: Router = express.Router({ mergeParams: true });
|
||||
|
||||
serversRouter.get('/', authenticateLocal, serversController.getServers);
|
||||
router.get('/', controller.servers.getServerList);
|
||||
|
||||
serversRouter.get('/:id', authenticateLocal, serversController.getServerById);
|
||||
router.post('/', authenticateAdmin, controller.servers.createServer);
|
||||
|
||||
serversRouter.get(
|
||||
'/:id/refresh',
|
||||
authenticateAdmin,
|
||||
serversController.refreshServer
|
||||
);
|
||||
router.get('/:id', controller.servers.getServerDetail);
|
||||
|
||||
serversRouter.get(
|
||||
'/:id/folder',
|
||||
authenticateAdmin,
|
||||
serversController.getFolder
|
||||
);
|
||||
router.get('/:id/refresh', authenticateAdmin, controller.servers.refreshServer);
|
||||
|
||||
serversRouter.post('/', authenticateAdmin, serversController.createServer);
|
||||
router.get('/:id/folder', authenticateAdmin, controller.servers.getFolder);
|
||||
|
||||
serversRouter.post(
|
||||
'/:id/scan',
|
||||
authenticateAdmin,
|
||||
serversController.scanServer
|
||||
);
|
||||
router.post('/:id/scan', authenticateAdmin, controller.servers.scanServer);
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import express, { Router } from 'express';
|
||||
import { songsController } from '../controllers/songs.controller';
|
||||
import { authenticateLocal } from '../middleware';
|
||||
import { controller } from '../controllers';
|
||||
|
||||
export const songsRouter: Router = express.Router();
|
||||
export const router: Router = express.Router({ mergeParams: true });
|
||||
|
||||
songsRouter.get('/', authenticateLocal, songsController.getSongs);
|
||||
router.get('/', controller.songs.getSongs);
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import express, { Router } from 'express';
|
||||
|
||||
export const tasksRouter: Router = express.Router();
|
||||
export const router: Router = express.Router({ mergeParams: true });
|
||||
|
||||
tasksRouter.post('/scan', async (_req, res) => {
|
||||
router.post('/scan', async (_req, res) => {
|
||||
return res.status(200);
|
||||
});
|
||||
|
||||
tasksRouter.post('/', async (_req, res) => {
|
||||
router.post('/', async (_req, res) => {
|
||||
return res.status(200).json({});
|
||||
});
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
import express, { Router } from 'express';
|
||||
import { usersController } from '../controllers';
|
||||
import { authenticateLocal } from '../middleware';
|
||||
import { controller } from '../controllers';
|
||||
|
||||
export const usersRouter: Router = express.Router();
|
||||
export const router: Router = express.Router({ mergeParams: true });
|
||||
|
||||
usersRouter.get('/', authenticateLocal, usersController.getUsers);
|
||||
router.get('/', controller.users.getUsers);
|
||||
|
||||
usersRouter.get('/:id', authenticateLocal, usersController.getUser);
|
||||
router.get('/:id', controller.users.getUser);
|
||||
|
||||
Reference in New Issue
Block a user