accounts/utils/throttles.py
2025-07-08 17:48:15 +03:30

24 lines
528 B
Python

from rest_framework.throttling import SimpleRateThrottle
class RequestOTPDayRateThrottle(SimpleRateThrottle):
scope = 'otp_day'
def get_cache_key(self, request, view):
if request.user and request.user.is_authenticated:
ident = request.user.pk
else:
ident = self.get_ident(request)
return self.cache_format % {
'scope': self.scope,
'ident': ident
}
class RequestOTPMinRateThrottle(RequestOTPDayRateThrottle):
scope = 'otp_min'