| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- import { z } from 'zod';
- const port = z.number().int().min(1).max(65535);
- const nonNegativeInt = z.number().int().min(0);
- const absolutePath = z.string().regex(/^\//, 'pages.settings.validation.pathLeadingSlash');
- export const AllSettingSchema = z.object({
- webListen: z.string().optional(),
- webDomain: z.string().optional(),
- webPort: port.optional(),
- webCertFile: z.string().optional(),
- webKeyFile: z.string().optional(),
- webBasePath: absolutePath.optional(),
- sessionMaxAge: z.number().int().min(1).max(525600).optional(),
- trustedProxyCIDRs: z.string().optional(),
- panelProxy: z.string().optional(),
- pageSize: z.number().int().min(1).max(1000).optional(),
- expireDiff: nonNegativeInt.optional(),
- trafficDiff: nonNegativeInt.max(100).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().int().min(0).max(100).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: port.optional(),
- subPath: absolutePath.optional(),
- subJsonPath: absolutePath.optional(),
- subClashEnable: z.boolean().optional(),
- subClashPath: absolutePath.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().int().min(1).max(168).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: port.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: nonNegativeInt.optional(),
- ldapDefaultExpiryDays: nonNegativeInt.optional(),
- ldapDefaultLimitIP: nonNegativeInt.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>;
|