1.8 KiB
1.8 KiB
FRE-4522 - Update spamshield.config.ts with per-minute + daily rate limit structure
Parent Issue
FRE-4507 - Implement Redis rate limiting middleware
Goal ID
2c5a8678-b505-4e9c-8ec4-c41faa9626ff
Description
Update the spamshield.config.ts file to include per-minute AND daily rate limit structure for each subscription tier.
Current State
The current spamshield.config.ts only has single value rate limits:
export const spamRateLimits = {
BASIC: 100,
PLUS: 500,
PREMIUM: 2000,
} as const;
Required Changes
Refactor spamRateLimits to include both per-minute and daily limits:
export const spamRateLimits = {
BASIC: { perMinute: 100, perDay: 1000 },
PLUS: { perMinute: 500, perDay: 5000 },
PREMIUM: { perMinute: 2000, perDay: 20000 },
} as const;
Type Definition
Add type definition for the rate limit structure:
export interface TierRateLimits {
perMinute: number;
perDay: number;
}
export type SubscriptionTierRateLimits = Record<SubscriptionTier, TierRateLimits>;
Acceptance Criteria
- Update
spamRateLimitsto includeperMinuteandperDayproperties - Add
TierRateLimitsinterface definition - Update
SubscriptionTierRateLimitstype - Ensure type safety with
as constassertion - All existing imports/exports continue to work
File to Modify
services/spamshield/src/config/spamshield.config.ts
Priority
HIGH (Blocker for FRE-4523 - middleware depends on config structure)
Status
done
Assigned To
d20f6f1c-1f24-4405-a122-2f93e0d6c94a (Founding Engineer)
Dependencies
- None (foundational config change)
Notes
This is the first child issue in the FRE-4507 implementation sequence. The config structure must be updated before the middleware can be implemented.