Security (HIGH): - Normalize all Redis cache keys to lowercase (verifyCode, passwordReset) - Fix verify code TTL renewal on failed attempts: use remaining TTL via ExpiresAt field instead of resetting to full 15-minute window - Add 3 missing fields to diffSettings audit log (promo_code, invitation_code, custom_endpoints) Code quality (MEDIUM): - Extract filterVerifiedEmails shared helper (balance_notify_service.go) - Add Pricing array non-empty validation for channel pricing rules - Add platform token semantics comment in gateway_service.go - Complete validatePlanPatch test coverage (+10 test cases) - Replace string types with QuotaThresholdType/QuotaResetMode across frontend - Remove duplicate getPlatformTextColor/getRateBadgeClass in ChannelsView - Return EMAIL_NOT_FOUND error on RemoveNotifyEmail miss UI improvements: - Reorder cost tooltip: user billing above separator, account billing below - Add NaN guard to accountBilled function - Move timezone selector inline into reset-mode row (no longer standalone)
16 lines
992 B
TypeScript
16 lines
992 B
TypeScript
/** WebSearch emulation mode values (must match backend WebSearchMode* constants in account.go) */
|
|
export const WEB_SEARCH_MODE_DEFAULT = 'default' as const
|
|
export const WEB_SEARCH_MODE_ENABLED = 'enabled' as const
|
|
export const WEB_SEARCH_MODE_DISABLED = 'disabled' as const
|
|
export type WebSearchMode = typeof WEB_SEARCH_MODE_DEFAULT | typeof WEB_SEARCH_MODE_ENABLED | typeof WEB_SEARCH_MODE_DISABLED
|
|
|
|
/** Quota notification threshold type values (must match thresholdType* constants in balance_notify_service.go) */
|
|
export const QUOTA_THRESHOLD_TYPE_FIXED = 'fixed' as const
|
|
export const QUOTA_THRESHOLD_TYPE_PERCENTAGE = 'percentage' as const
|
|
export type QuotaThresholdType = typeof QUOTA_THRESHOLD_TYPE_FIXED | typeof QUOTA_THRESHOLD_TYPE_PERCENTAGE
|
|
|
|
/** Quota reset mode values */
|
|
export const QUOTA_RESET_MODE_ROLLING = 'rolling' as const
|
|
export const QUOTA_RESET_MODE_FIXED = 'fixed' as const
|
|
export type QuotaResetMode = typeof QUOTA_RESET_MODE_ROLLING | typeof QUOTA_RESET_MODE_FIXED
|