mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-06-05 20:54:14 +00:00
32 lines
1,010 B
TypeScript
32 lines
1,010 B
TypeScript
|
|
import { z } from 'zod';
|
||
|
|
|
||
|
|
export const NodeRecordSchema = z.object({
|
||
|
|
id: z.number(),
|
||
|
|
name: z.string().optional(),
|
||
|
|
remark: z.string().optional(),
|
||
|
|
scheme: z.string().optional(),
|
||
|
|
address: z.string().optional(),
|
||
|
|
port: z.number().optional(),
|
||
|
|
basePath: z.string().optional(),
|
||
|
|
apiToken: z.string().optional(),
|
||
|
|
enable: z.boolean().optional(),
|
||
|
|
status: z.string().optional(),
|
||
|
|
latencyMs: z.number().optional(),
|
||
|
|
cpuPct: z.number().optional(),
|
||
|
|
memPct: z.number().optional(),
|
||
|
|
xrayVersion: z.string().optional(),
|
||
|
|
panelVersion: z.string().optional(),
|
||
|
|
uptimeSecs: z.number().optional(),
|
||
|
|
inboundCount: z.number().optional(),
|
||
|
|
clientCount: z.number().optional(),
|
||
|
|
onlineCount: z.number().optional(),
|
||
|
|
depletedCount: z.number().optional(),
|
||
|
|
lastHeartbeat: z.number().optional(),
|
||
|
|
lastError: z.string().optional(),
|
||
|
|
allowPrivateAddress: z.boolean().optional(),
|
||
|
|
}).loose();
|
||
|
|
|
||
|
|
export const NodeListSchema = z.array(NodeRecordSchema);
|
||
|
|
|
||
|
|
export type NodeRecord = z.infer<typeof NodeRecordSchema>;
|