mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-06-06 05:04:22 +00:00
91 lines
3.4 KiB
TypeScript
91 lines
3.4 KiB
TypeScript
|
|
import { z } from 'zod';
|
||
|
|
|
||
|
|
export const AllSettingSchema = z.object({
|
||
|
|
webListen: z.string().optional(),
|
||
|
|
webDomain: z.string().optional(),
|
||
|
|
webPort: z.number().optional(),
|
||
|
|
webCertFile: z.string().optional(),
|
||
|
|
webKeyFile: z.string().optional(),
|
||
|
|
webBasePath: z.string().optional(),
|
||
|
|
sessionMaxAge: z.number().optional(),
|
||
|
|
trustedProxyCIDRs: z.string().optional(),
|
||
|
|
pageSize: z.number().optional(),
|
||
|
|
expireDiff: z.number().optional(),
|
||
|
|
trafficDiff: z.number().optional(),
|
||
|
|
remarkModel: z.string().optional(),
|
||
|
|
datepicker: z.enum(['gregorian', 'jalalian']).optional(),
|
||
|
|
tgBotEnable: z.boolean().optional(),
|
||
|
|
tgBotToken: z.string().optional(),
|
||
|
|
tgBotProxy: z.string().optional(),
|
||
|
|
tgBotAPIServer: z.string().optional(),
|
||
|
|
tgBotChatId: z.string().optional(),
|
||
|
|
tgRunTime: z.string().optional(),
|
||
|
|
tgBotBackup: z.boolean().optional(),
|
||
|
|
tgBotLoginNotify: z.boolean().optional(),
|
||
|
|
tgCpu: z.number().optional(),
|
||
|
|
tgLang: z.string().optional(),
|
||
|
|
twoFactorEnable: z.boolean().optional(),
|
||
|
|
twoFactorToken: z.string().optional(),
|
||
|
|
xrayTemplateConfig: z.string().optional(),
|
||
|
|
subEnable: z.boolean().optional(),
|
||
|
|
subJsonEnable: z.boolean().optional(),
|
||
|
|
subTitle: z.string().optional(),
|
||
|
|
subSupportUrl: z.string().optional(),
|
||
|
|
subProfileUrl: z.string().optional(),
|
||
|
|
subAnnounce: z.string().optional(),
|
||
|
|
subEnableRouting: z.boolean().optional(),
|
||
|
|
subRoutingRules: z.string().optional(),
|
||
|
|
subListen: z.string().optional(),
|
||
|
|
subPort: z.number().optional(),
|
||
|
|
subPath: z.string().optional(),
|
||
|
|
subJsonPath: z.string().optional(),
|
||
|
|
subClashEnable: z.boolean().optional(),
|
||
|
|
subClashPath: z.string().optional(),
|
||
|
|
subDomain: z.string().optional(),
|
||
|
|
externalTrafficInformEnable: z.boolean().optional(),
|
||
|
|
externalTrafficInformURI: z.string().optional(),
|
||
|
|
restartXrayOnClientDisable: z.boolean().optional(),
|
||
|
|
subCertFile: z.string().optional(),
|
||
|
|
subKeyFile: z.string().optional(),
|
||
|
|
subUpdates: z.number().optional(),
|
||
|
|
subEncrypt: z.boolean().optional(),
|
||
|
|
subShowInfo: z.boolean().optional(),
|
||
|
|
subEmailInRemark: z.boolean().optional(),
|
||
|
|
subURI: z.string().optional(),
|
||
|
|
subJsonURI: z.string().optional(),
|
||
|
|
subClashURI: z.string().optional(),
|
||
|
|
subJsonFragment: z.string().optional(),
|
||
|
|
subJsonNoises: z.string().optional(),
|
||
|
|
subJsonMux: z.string().optional(),
|
||
|
|
subJsonRules: z.string().optional(),
|
||
|
|
timeLocation: z.string().optional(),
|
||
|
|
ldapEnable: z.boolean().optional(),
|
||
|
|
ldapHost: z.string().optional(),
|
||
|
|
ldapPort: z.number().optional(),
|
||
|
|
ldapUseTLS: z.boolean().optional(),
|
||
|
|
ldapBindDN: z.string().optional(),
|
||
|
|
ldapPassword: z.string().optional(),
|
||
|
|
ldapBaseDN: z.string().optional(),
|
||
|
|
ldapUserFilter: z.string().optional(),
|
||
|
|
ldapUserAttr: z.string().optional(),
|
||
|
|
ldapVlessField: z.string().optional(),
|
||
|
|
ldapSyncCron: z.string().optional(),
|
||
|
|
ldapFlagField: z.string().optional(),
|
||
|
|
ldapTruthyValues: z.string().optional(),
|
||
|
|
ldapInvertFlag: z.boolean().optional(),
|
||
|
|
ldapInboundTags: z.string().optional(),
|
||
|
|
ldapAutoCreate: z.boolean().optional(),
|
||
|
|
ldapAutoDelete: z.boolean().optional(),
|
||
|
|
ldapDefaultTotalGB: z.number().optional(),
|
||
|
|
ldapDefaultExpiryDays: z.number().optional(),
|
||
|
|
ldapDefaultLimitIP: z.number().optional(),
|
||
|
|
hasTgBotToken: z.boolean().optional(),
|
||
|
|
hasTwoFactorToken: z.boolean().optional(),
|
||
|
|
hasLdapPassword: z.boolean().optional(),
|
||
|
|
hasApiToken: z.boolean().optional(),
|
||
|
|
hasWarpSecret: z.boolean().optional(),
|
||
|
|
hasNordSecret: z.boolean().optional(),
|
||
|
|
}).loose();
|
||
|
|
|
||
|
|
export type AllSettingInput = z.infer<typeof AllSettingSchema>;
|