zod.ts 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389
  1. // Code generated by tools/openapigen. DO NOT EDIT.
  2. import { z } from 'zod';
  3. export const ProtocolSchema = z.string();
  4. export type Protocol = z.infer<typeof ProtocolSchema>;
  5. export const AllSettingSchema = z.object({
  6. datepicker: z.string(),
  7. expireDiff: z.number().int().min(0),
  8. externalTrafficInformEnable: z.boolean(),
  9. externalTrafficInformURI: z.string(),
  10. ldapAutoCreate: z.boolean(),
  11. ldapAutoDelete: z.boolean(),
  12. ldapBaseDN: z.string(),
  13. ldapBindDN: z.string(),
  14. ldapDefaultExpiryDays: z.number().int().min(0),
  15. ldapDefaultLimitIP: z.number().int().min(0),
  16. ldapDefaultTotalGB: z.number().int().min(0),
  17. ldapEnable: z.boolean(),
  18. ldapFlagField: z.string(),
  19. ldapHost: z.string(),
  20. ldapInboundTags: z.string(),
  21. ldapInvertFlag: z.boolean(),
  22. ldapPassword: z.string(),
  23. ldapPort: z.number().int().min(0).max(65535),
  24. ldapSyncCron: z.string(),
  25. ldapTruthyValues: z.string(),
  26. ldapUseTLS: z.boolean(),
  27. ldapUserAttr: z.string(),
  28. ldapUserFilter: z.string(),
  29. ldapVlessField: z.string(),
  30. pageSize: z.number().int().min(0).max(1000),
  31. panelProxy: z.string(),
  32. remarkModel: z.string(),
  33. restartXrayOnClientDisable: z.boolean(),
  34. sessionMaxAge: z.number().int().min(1).max(525600),
  35. subAnnounce: z.string(),
  36. subCertFile: z.string(),
  37. subClashEnable: z.boolean(),
  38. subClashEnableRouting: z.boolean(),
  39. subClashPath: z.string(),
  40. subClashRules: z.string(),
  41. subClashURI: z.string(),
  42. subDomain: z.string(),
  43. subEmailInRemark: z.boolean(),
  44. subEnable: z.boolean(),
  45. subEnableRouting: z.boolean(),
  46. subEncrypt: z.boolean(),
  47. subJsonEnable: z.boolean(),
  48. subJsonFinalMask: z.string(),
  49. subJsonMux: z.string(),
  50. subJsonPath: z.string(),
  51. subJsonRules: z.string(),
  52. subJsonURI: z.string(),
  53. subKeyFile: z.string(),
  54. subListen: z.string(),
  55. subPath: z.string(),
  56. subPort: z.number().int().min(1).max(65535),
  57. subProfileUrl: z.string(),
  58. subRoutingRules: z.string(),
  59. subShowInfo: z.boolean(),
  60. subSupportUrl: z.string(),
  61. subTitle: z.string(),
  62. subURI: z.string(),
  63. subUpdates: z.number().int().min(0).max(525600),
  64. tgBotAPIServer: z.string(),
  65. tgBotBackup: z.boolean(),
  66. tgBotChatId: z.string(),
  67. tgBotEnable: z.boolean(),
  68. tgBotLoginNotify: z.boolean(),
  69. tgBotProxy: z.string(),
  70. tgBotToken: z.string(),
  71. tgCpu: z.number().int().min(0).max(100),
  72. tgLang: z.string(),
  73. tgRunTime: z.string(),
  74. timeLocation: z.string(),
  75. trafficDiff: z.number().int().min(0).max(100),
  76. trustedProxyCIDRs: z.string(),
  77. twoFactorEnable: z.boolean(),
  78. twoFactorToken: z.string(),
  79. webBasePath: z.string(),
  80. webCertFile: z.string(),
  81. webDomain: z.string(),
  82. webKeyFile: z.string(),
  83. webListen: z.string(),
  84. webPort: z.number().int().min(1).max(65535),
  85. });
  86. export type AllSetting = z.infer<typeof AllSettingSchema>;
  87. export const AllSettingViewSchema = z.object({
  88. datepicker: z.string(),
  89. expireDiff: z.number().int().min(0),
  90. externalTrafficInformEnable: z.boolean(),
  91. externalTrafficInformURI: z.string(),
  92. hasApiToken: z.boolean(),
  93. hasLdapPassword: z.boolean(),
  94. hasNordSecret: z.boolean(),
  95. hasTgBotToken: z.boolean(),
  96. hasTwoFactorToken: z.boolean(),
  97. hasWarpSecret: z.boolean(),
  98. ldapAutoCreate: z.boolean(),
  99. ldapAutoDelete: z.boolean(),
  100. ldapBaseDN: z.string(),
  101. ldapBindDN: z.string(),
  102. ldapDefaultExpiryDays: z.number().int().min(0),
  103. ldapDefaultLimitIP: z.number().int().min(0),
  104. ldapDefaultTotalGB: z.number().int().min(0),
  105. ldapEnable: z.boolean(),
  106. ldapFlagField: z.string(),
  107. ldapHost: z.string(),
  108. ldapInboundTags: z.string(),
  109. ldapInvertFlag: z.boolean(),
  110. ldapPassword: z.string(),
  111. ldapPort: z.number().int().min(0).max(65535),
  112. ldapSyncCron: z.string(),
  113. ldapTruthyValues: z.string(),
  114. ldapUseTLS: z.boolean(),
  115. ldapUserAttr: z.string(),
  116. ldapUserFilter: z.string(),
  117. ldapVlessField: z.string(),
  118. pageSize: z.number().int().min(0).max(1000),
  119. panelProxy: z.string(),
  120. remarkModel: z.string(),
  121. restartXrayOnClientDisable: z.boolean(),
  122. sessionMaxAge: z.number().int().min(1).max(525600),
  123. subAnnounce: z.string(),
  124. subCertFile: z.string(),
  125. subClashEnable: z.boolean(),
  126. subClashEnableRouting: z.boolean(),
  127. subClashPath: z.string(),
  128. subClashRules: z.string(),
  129. subClashURI: z.string(),
  130. subDomain: z.string(),
  131. subEmailInRemark: z.boolean(),
  132. subEnable: z.boolean(),
  133. subEnableRouting: z.boolean(),
  134. subEncrypt: z.boolean(),
  135. subJsonEnable: z.boolean(),
  136. subJsonFinalMask: z.string(),
  137. subJsonMux: z.string(),
  138. subJsonPath: z.string(),
  139. subJsonRules: z.string(),
  140. subJsonURI: z.string(),
  141. subKeyFile: z.string(),
  142. subListen: z.string(),
  143. subPath: z.string(),
  144. subPort: z.number().int().min(1).max(65535),
  145. subProfileUrl: z.string(),
  146. subRoutingRules: z.string(),
  147. subShowInfo: z.boolean(),
  148. subSupportUrl: z.string(),
  149. subTitle: z.string(),
  150. subURI: z.string(),
  151. subUpdates: z.number().int().min(0).max(525600),
  152. tgBotAPIServer: z.string(),
  153. tgBotBackup: z.boolean(),
  154. tgBotChatId: z.string(),
  155. tgBotEnable: z.boolean(),
  156. tgBotLoginNotify: z.boolean(),
  157. tgBotProxy: z.string(),
  158. tgBotToken: z.string(),
  159. tgCpu: z.number().int().min(0).max(100),
  160. tgLang: z.string(),
  161. tgRunTime: z.string(),
  162. timeLocation: z.string(),
  163. trafficDiff: z.number().int().min(0).max(100),
  164. trustedProxyCIDRs: z.string(),
  165. twoFactorEnable: z.boolean(),
  166. twoFactorToken: z.string(),
  167. webBasePath: z.string(),
  168. webCertFile: z.string(),
  169. webDomain: z.string(),
  170. webKeyFile: z.string(),
  171. webListen: z.string(),
  172. webPort: z.number().int().min(1).max(65535),
  173. });
  174. export type AllSettingView = z.infer<typeof AllSettingViewSchema>;
  175. export const ApiTokenSchema = z.object({
  176. createdAt: z.number().int(),
  177. enabled: z.boolean(),
  178. id: z.number().int(),
  179. name: z.string(),
  180. token: z.string(),
  181. });
  182. export type ApiToken = z.infer<typeof ApiTokenSchema>;
  183. export const ClientSchema = z.object({
  184. auth: z.string().optional(),
  185. comment: z.string(),
  186. created_at: z.number().int().optional(),
  187. email: z.string(),
  188. enable: z.boolean(),
  189. expiryTime: z.number().int(),
  190. flow: z.string().optional(),
  191. group: z.string().optional(),
  192. id: z.string().optional(),
  193. limitIp: z.number().int(),
  194. password: z.string().optional(),
  195. reset: z.number().int(),
  196. reverse: z.lazy(() => ClientReverseSchema).nullable().optional(),
  197. security: z.string(),
  198. subId: z.string(),
  199. tgId: z.number().int(),
  200. totalGB: z.number().int(),
  201. updated_at: z.number().int().optional(),
  202. });
  203. export type Client = z.infer<typeof ClientSchema>;
  204. export const ClientInboundSchema = z.object({
  205. clientId: z.number().int(),
  206. createdAt: z.number().int(),
  207. flowOverride: z.string(),
  208. inboundId: z.number().int(),
  209. });
  210. export type ClientInbound = z.infer<typeof ClientInboundSchema>;
  211. export const ClientRecordSchema = z.object({
  212. auth: z.string(),
  213. comment: z.string(),
  214. createdAt: z.number().int(),
  215. email: z.string(),
  216. enable: z.boolean(),
  217. expiryTime: z.number().int(),
  218. flow: z.string(),
  219. group: z.string(),
  220. id: z.number().int(),
  221. limitIp: z.number().int(),
  222. password: z.string(),
  223. reset: z.number().int(),
  224. reverse: z.unknown(),
  225. security: z.string(),
  226. subId: z.string(),
  227. tgId: z.number().int(),
  228. totalGB: z.number().int(),
  229. updatedAt: z.number().int(),
  230. uuid: z.string(),
  231. });
  232. export type ClientRecord = z.infer<typeof ClientRecordSchema>;
  233. export const ClientReverseSchema = z.object({
  234. tag: z.string(),
  235. });
  236. export type ClientReverse = z.infer<typeof ClientReverseSchema>;
  237. export const ClientTrafficSchema = z.object({
  238. down: z.number().int(),
  239. email: z.string(),
  240. enable: z.boolean(),
  241. expiryTime: z.number().int(),
  242. id: z.number().int(),
  243. inboundId: z.number().int(),
  244. lastOnline: z.number().int(),
  245. reset: z.number().int(),
  246. subId: z.string(),
  247. total: z.number().int(),
  248. up: z.number().int(),
  249. uuid: z.string(),
  250. });
  251. export type ClientTraffic = z.infer<typeof ClientTrafficSchema>;
  252. export const CustomGeoResourceSchema = z.object({
  253. alias: z.string(),
  254. createdAt: z.number().int(),
  255. id: z.number().int(),
  256. lastModified: z.string(),
  257. lastUpdatedAt: z.number().int(),
  258. localPath: z.string(),
  259. type: z.string(),
  260. updatedAt: z.number().int(),
  261. url: z.string(),
  262. });
  263. export type CustomGeoResource = z.infer<typeof CustomGeoResourceSchema>;
  264. export const FallbackParentInfoSchema = z.object({
  265. masterId: z.number().int(),
  266. path: z.string().optional(),
  267. });
  268. export type FallbackParentInfo = z.infer<typeof FallbackParentInfoSchema>;
  269. export const HistoryOfSeedersSchema = z.object({
  270. id: z.number().int(),
  271. seederName: z.string(),
  272. });
  273. export type HistoryOfSeeders = z.infer<typeof HistoryOfSeedersSchema>;
  274. export const InboundSchema = z.object({
  275. clientStats: z.array(z.lazy(() => ClientTrafficSchema)),
  276. down: z.number().int(),
  277. enable: z.boolean(),
  278. expiryTime: z.number().int(),
  279. fallbackParent: z.lazy(() => FallbackParentInfoSchema).nullable().optional(),
  280. id: z.number().int(),
  281. lastTrafficResetTime: z.number().int(),
  282. listen: z.string(),
  283. nodeId: z.number().int().nullable().optional(),
  284. port: z.number().int().min(0).max(65535),
  285. protocol: z.enum(['vmess', 'vless', 'trojan', 'shadowsocks', 'wireguard', 'hysteria', 'http', 'mixed', 'tunnel', 'tun']),
  286. remark: z.string(),
  287. settings: z.unknown(),
  288. sniffing: z.unknown(),
  289. streamSettings: z.unknown(),
  290. tag: z.string(),
  291. total: z.number().int(),
  292. trafficReset: z.enum(['never', 'hourly', 'daily', 'weekly', 'monthly']),
  293. up: z.number().int(),
  294. });
  295. export type Inbound = z.infer<typeof InboundSchema>;
  296. export const InboundClientIpsSchema = z.object({
  297. clientEmail: z.string(),
  298. id: z.number().int(),
  299. ips: z.unknown(),
  300. });
  301. export type InboundClientIps = z.infer<typeof InboundClientIpsSchema>;
  302. export const InboundFallbackSchema = z.object({
  303. alpn: z.string(),
  304. childId: z.number().int(),
  305. dest: z.string(),
  306. id: z.number().int(),
  307. masterId: z.number().int(),
  308. name: z.string(),
  309. path: z.string(),
  310. sortOrder: z.number().int(),
  311. xver: z.number().int(),
  312. });
  313. export type InboundFallback = z.infer<typeof InboundFallbackSchema>;
  314. export const MsgSchema = z.object({
  315. msg: z.string(),
  316. obj: z.unknown(),
  317. success: z.boolean(),
  318. });
  319. export type Msg = z.infer<typeof MsgSchema>;
  320. export const NodeSchema = z.object({
  321. address: z.string(),
  322. allowPrivateAddress: z.boolean(),
  323. apiToken: z.string(),
  324. basePath: z.string(),
  325. clientCount: z.number().int(),
  326. cpuPct: z.number(),
  327. createdAt: z.number().int(),
  328. depletedCount: z.number().int(),
  329. enable: z.boolean(),
  330. id: z.number().int(),
  331. inboundCount: z.number().int(),
  332. lastError: z.string(),
  333. lastHeartbeat: z.number().int(),
  334. latencyMs: z.number().int(),
  335. memPct: z.number(),
  336. name: z.string(),
  337. onlineCount: z.number().int(),
  338. panelVersion: z.string(),
  339. pinnedCertSha256: z.string(),
  340. port: z.number().int().min(1).max(65535),
  341. remark: z.string(),
  342. scheme: z.enum(['http', 'https']),
  343. status: z.string(),
  344. tlsVerifyMode: z.enum(['verify', 'skip', 'pin']),
  345. updatedAt: z.number().int(),
  346. uptimeSecs: z.number().int(),
  347. xrayVersion: z.string(),
  348. });
  349. export type Node = z.infer<typeof NodeSchema>;
  350. export const OutboundTrafficsSchema = z.object({
  351. down: z.number().int(),
  352. id: z.number().int(),
  353. tag: z.string(),
  354. total: z.number().int(),
  355. up: z.number().int(),
  356. });
  357. export type OutboundTraffics = z.infer<typeof OutboundTrafficsSchema>;
  358. export const SettingSchema = z.object({
  359. id: z.number().int(),
  360. key: z.string(),
  361. value: z.string(),
  362. });
  363. export type Setting = z.infer<typeof SettingSchema>;
  364. export const UserSchema = z.object({
  365. id: z.number().int(),
  366. password: z.string(),
  367. username: z.string(),
  368. });
  369. export type User = z.infer<typeof UserSchema>;