mirror of
https://github.com/JetSprow/J-Board-Lite.git
synced 2026-05-01 01:14:10 +05:30
Initial commit
This commit is contained in:
14
src/services/node-panel/factory.ts
Normal file
14
src/services/node-panel/factory.ts
Normal file
@@ -0,0 +1,14 @@
|
||||
import type { NodeServer } from "@prisma/client";
|
||||
import type { NodePanelAdapter } from "./adapter";
|
||||
import { ThreeXUIAdapter } from "./three-x-ui";
|
||||
|
||||
export function createPanelAdapter(server: NodeServer): NodePanelAdapter {
|
||||
const panelType = server.panelType ?? "3x-ui";
|
||||
if (panelType !== "3x-ui") {
|
||||
throw new Error(`Unsupported panel type: ${panelType}`);
|
||||
}
|
||||
if (!server.panelUrl || !server.panelUsername || !server.panelPassword) {
|
||||
throw new Error(`节点 ${server.name} 未配置 3x-ui 面板信息`);
|
||||
}
|
||||
return new ThreeXUIAdapter(server.panelUrl, server.panelUsername, server.panelPassword);
|
||||
}
|
||||
Reference in New Issue
Block a user