mirror of
https://github.com/jeffvli/feishin.git
synced 2026-06-10 06:12:43 +02:00
Add server map route
This commit is contained in:
@@ -1,10 +1,16 @@
|
||||
import { ServerType } from '@prisma/client';
|
||||
import { Response } from 'express';
|
||||
import { Request, Response } from 'express';
|
||||
import { ApiError, ApiSuccess, getSuccessResponse } from '@/utils';
|
||||
import { toApiModel } from '@helpers/api-model';
|
||||
import { service } from '@services/index';
|
||||
import { TypedRequest, validation } from '@validations/index';
|
||||
|
||||
const getServerListMap = async (req: Request, res: Response) => {
|
||||
const data = await service.servers.getServerListMap();
|
||||
const success = ApiSuccess.ok({ data });
|
||||
return res.status(success.statusCode).json(getSuccessResponse(success));
|
||||
};
|
||||
|
||||
const getServerDetail = async (
|
||||
req: TypedRequest<typeof validation.servers.detail>,
|
||||
res: Response
|
||||
@@ -351,6 +357,7 @@ export const serversController = {
|
||||
fullScanServer,
|
||||
getServerDetail,
|
||||
getServerList,
|
||||
getServerListMap,
|
||||
quickScanServer,
|
||||
refreshServer,
|
||||
updateServer,
|
||||
|
||||
@@ -21,6 +21,8 @@ router
|
||||
controller.servers.createServer
|
||||
);
|
||||
|
||||
router.route('/map').get(controller.servers.getServerListMap);
|
||||
|
||||
router
|
||||
.route('/:serverId')
|
||||
.get(
|
||||
|
||||
@@ -76,6 +76,18 @@ const remoteServerLogin = async (options: {
|
||||
throw ApiError.badRequest('Server type invalid.');
|
||||
};
|
||||
|
||||
const getServerListMap = async () => {
|
||||
const servers = await prisma.server.findMany({});
|
||||
|
||||
return servers.reduce((acc, server) => {
|
||||
acc[server.id] = {
|
||||
name: server.name,
|
||||
type: server.type,
|
||||
};
|
||||
return acc;
|
||||
}, {} as Record<string, { name: string; type: string }>);
|
||||
};
|
||||
|
||||
const findById = async (user: AuthUser, options: { id: string }) => {
|
||||
const { id } = options;
|
||||
|
||||
@@ -626,6 +638,7 @@ export const serversService = {
|
||||
findServerUrlById,
|
||||
findUrlById,
|
||||
fullScan,
|
||||
getServerListMap,
|
||||
refresh,
|
||||
remoteServerLogin,
|
||||
update,
|
||||
|
||||
Reference in New Issue
Block a user