"""
Rate limiting middleware for WFIS Platform
"""

from flask_limiter import Limiter
from flask_limiter.util import get_remote_address

limiter = Limiter(
    key_func=get_remote_address,
    default_limits=["100 per hour", "10 per minute"]
)

# Decorators for specific rate limits
rate_limit_api = limiter.shared_limit("50 per minute", scope="api")
rate_limit_auth = limiter.shared_limit("5 per minute", scope="auth")
rate_limit_reports = limiter.shared_limit("10 per hour", scope="reports")