mirror of
https://github.com/JetSprow/J-Board-Lite.git
synced 2026-05-01 01:14:10 +05:30
feat: add country-level subscription risk controls
This commit is contained in:
@@ -33,6 +33,8 @@ const settingsSchema = z.object({
|
||||
subscriptionRiskCitySuspend: z.coerce.number().int().min(2).max(100).optional(),
|
||||
subscriptionRiskRegionWarning: z.coerce.number().int().min(2).max(100).optional(),
|
||||
subscriptionRiskRegionSuspend: z.coerce.number().int().min(2).max(100).optional(),
|
||||
subscriptionRiskCountryWarning: z.coerce.number().int().min(2).max(100).optional(),
|
||||
subscriptionRiskCountrySuspend: z.coerce.number().int().min(2).max(100).optional(),
|
||||
subscriptionRiskIpLimitPerHour: z.coerce.number().int().min(1).max(100000).optional(),
|
||||
subscriptionRiskTokenLimitPerHour: z.coerce.number().int().min(1).max(100000).optional(),
|
||||
inviteRewardEnabled: z.string().optional(),
|
||||
@@ -119,6 +121,10 @@ function buildSettingsUpdate(parsed: z.infer<typeof settingsSchema>, current: Aw
|
||||
parsed.subscriptionRiskRegionWarning ?? current.subscriptionRiskRegionWarning,
|
||||
subscriptionRiskRegionSuspend:
|
||||
parsed.subscriptionRiskRegionSuspend ?? current.subscriptionRiskRegionSuspend,
|
||||
subscriptionRiskCountryWarning:
|
||||
parsed.subscriptionRiskCountryWarning ?? current.subscriptionRiskCountryWarning,
|
||||
subscriptionRiskCountrySuspend:
|
||||
parsed.subscriptionRiskCountrySuspend ?? current.subscriptionRiskCountrySuspend,
|
||||
subscriptionRiskIpLimitPerHour:
|
||||
parsed.subscriptionRiskIpLimitPerHour ?? current.subscriptionRiskIpLimitPerHour,
|
||||
subscriptionRiskTokenLimitPerHour:
|
||||
@@ -144,6 +150,9 @@ function buildSettingsUpdate(parsed: z.infer<typeof settingsSchema>, current: Aw
|
||||
if (next.subscriptionRiskRegionSuspend < next.subscriptionRiskRegionWarning) {
|
||||
throw new Error("省/地区暂停阈值不能小于省/地区警告阈值");
|
||||
}
|
||||
if (next.subscriptionRiskCountrySuspend < next.subscriptionRiskCountryWarning) {
|
||||
throw new Error("国家暂停阈值不能小于国家警告阈值");
|
||||
}
|
||||
|
||||
if (next.smtpEnabled || next.emailVerificationRequired) {
|
||||
if (!next.smtpHost || !next.smtpPort || !next.smtpFromEmail) {
|
||||
|
||||
Reference in New Issue
Block a user