mirror of
https://github.com/jeffvli/feishin.git
synced 2026-05-15 04:51:06 +02:00
Move server directory outside of frontend src
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
import express, { Router } from 'express';
|
||||
import { controller } from '@controllers/index';
|
||||
import { validateRequest, validation } from '@validations/index';
|
||||
|
||||
export const router: Router = express.Router({
|
||||
mergeParams: true,
|
||||
strict: true,
|
||||
});
|
||||
|
||||
router.get('/', controller.albumArtists.getList);
|
||||
|
||||
router.get(
|
||||
':serverId',
|
||||
validateRequest(validation.albumArtists.detail),
|
||||
controller.albumArtists.getDetail
|
||||
);
|
||||
@@ -0,0 +1,23 @@
|
||||
import express, { Router } from 'express';
|
||||
import { controller } from '@controllers/index';
|
||||
import { validateRequest, validation } from '@validations/index';
|
||||
|
||||
export const router: Router = express.Router({ mergeParams: true });
|
||||
|
||||
router.get(
|
||||
'/',
|
||||
validateRequest(validation.albums.list),
|
||||
controller.albums.getList
|
||||
);
|
||||
|
||||
router.get(
|
||||
'/:albumId',
|
||||
validateRequest(validation.albums.detail),
|
||||
controller.albums.getDetail
|
||||
);
|
||||
|
||||
router.get(
|
||||
'/:albumId/songs',
|
||||
validateRequest(validation.albums.detail),
|
||||
controller.albums.getDetailSongList
|
||||
);
|
||||
@@ -0,0 +1,8 @@
|
||||
import express, { Router } from 'express';
|
||||
import { controller } from '@controllers/index';
|
||||
|
||||
export const router: Router = express.Router({ mergeParams: true });
|
||||
|
||||
router.get('/', controller.artists.getList);
|
||||
|
||||
router.get(':serverId', controller.artists.getDetail);
|
||||
@@ -0,0 +1,30 @@
|
||||
import express, { Router } from 'express';
|
||||
import passport from 'passport';
|
||||
import { controller } from '@controllers/index';
|
||||
import { authenticate } from '@middleware/authenticate';
|
||||
import { validation, validateRequest } from '@validations/index';
|
||||
|
||||
export const router: Router = express.Router({ mergeParams: true });
|
||||
|
||||
router.post(
|
||||
'/login',
|
||||
validateRequest(validation.auth.login),
|
||||
passport.authenticate('local'),
|
||||
controller.auth.login
|
||||
);
|
||||
|
||||
router.post(
|
||||
'/register',
|
||||
validateRequest(validation.auth.register),
|
||||
controller.auth.register
|
||||
);
|
||||
|
||||
router.post('/logout', authenticate, controller.auth.logout);
|
||||
|
||||
router.post(
|
||||
'/refresh',
|
||||
validateRequest(validation.auth.refresh),
|
||||
controller.auth.refresh
|
||||
);
|
||||
|
||||
router.get('/ping', controller.auth.ping);
|
||||
@@ -0,0 +1,47 @@
|
||||
import { Router } from 'express';
|
||||
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({ mergeParams: true });
|
||||
|
||||
routes.use('/api/auth', authRouter);
|
||||
|
||||
routes.use(authenticate, (_req, _res, next) => {
|
||||
next();
|
||||
});
|
||||
|
||||
routes.use('/api/tasks', tasksRouter);
|
||||
routes.use('/api/users', usersRouter);
|
||||
routes.use('/api/servers', serversRouter);
|
||||
|
||||
routes.param('serverId', (req, _res, next, serverId) => {
|
||||
const { serverFolderId } = req.query as {
|
||||
serverFolderId?: string[] | string;
|
||||
};
|
||||
|
||||
req.authUser.serverId = serverId;
|
||||
|
||||
helpers.shared.checkServerPermissions(req.authUser, { serverId });
|
||||
helpers.shared.checkServerFolderPermissions(req.authUser, {
|
||||
serverFolderId,
|
||||
});
|
||||
|
||||
if (typeof req.query.serverFolderId === 'string') {
|
||||
req.query.serverFolderId = [req.query.serverFolderId];
|
||||
}
|
||||
|
||||
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);
|
||||
@@ -0,0 +1,87 @@
|
||||
import express, { Router } from 'express';
|
||||
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
|
||||
.route('/')
|
||||
.get(
|
||||
validateRequest(validation.servers.list),
|
||||
controller.servers.getServerList
|
||||
)
|
||||
.post(
|
||||
authenticateAdmin,
|
||||
validateRequest(validation.servers.create),
|
||||
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
|
||||
.route('/:serverId/refresh')
|
||||
.get(
|
||||
authenticateAdmin,
|
||||
validateRequest(validation.servers.refresh),
|
||||
controller.servers.refreshServer
|
||||
);
|
||||
|
||||
router
|
||||
.route('/:serverId/scan')
|
||||
.post(
|
||||
validateRequest(validation.servers.scan),
|
||||
authenticateAdmin,
|
||||
controller.servers.scanServer
|
||||
);
|
||||
|
||||
router
|
||||
.route('/:serverId/url')
|
||||
.post(
|
||||
authenticateAdmin,
|
||||
validateRequest(validation.servers.createUrl),
|
||||
controller.servers.createServerUrl
|
||||
);
|
||||
|
||||
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
|
||||
);
|
||||
@@ -0,0 +1,11 @@
|
||||
import express, { Router } from 'express';
|
||||
import { validation, validateRequest } from '@validations/index';
|
||||
|
||||
export const router: Router = express.Router({ mergeParams: true });
|
||||
|
||||
router.get('/', validateRequest(validation.songs.list), async (req, res) => {
|
||||
// const data = await controller.songs.getSongList(req.authUser, req.query);
|
||||
|
||||
return res.status(200).json({});
|
||||
// return res.status(success.statusCode).json(getSuccessResponse(success));
|
||||
});
|
||||
@@ -0,0 +1,11 @@
|
||||
import express, { Router } from 'express';
|
||||
|
||||
export const router: Router = express.Router({ mergeParams: true });
|
||||
|
||||
router.post('/scan', async (_req, res) => {
|
||||
return res.status(200);
|
||||
});
|
||||
|
||||
router.post('/', async (_req, res) => {
|
||||
return res.status(200).json({});
|
||||
});
|
||||
@@ -0,0 +1,14 @@
|
||||
import express, { Router } from 'express';
|
||||
import { controller } from '@controllers/index';
|
||||
import { validateRequest, validation } from '@validations/index';
|
||||
import { authenticateAdmin } from '../middleware/authenticate-admin';
|
||||
|
||||
export const router: Router = express.Router({ mergeParams: true });
|
||||
|
||||
router.get('/', authenticateAdmin, controller.users.getUserList);
|
||||
|
||||
router.get(
|
||||
':serverId',
|
||||
validateRequest(validation.users.detail),
|
||||
controller.users.getUserDetail
|
||||
);
|
||||
Reference in New Issue
Block a user