Fix daily limits for API key holders

This commit is contained in:
Piero Toffanin 2021-06-03 10:36:25 -04:00
parent 29c1f2cd2e
commit df78ec93ef

View file

@ -21,18 +21,14 @@ def get_remote_address():
return ip return ip
def get_routes_limits(default_req_limit, daily_req_limit, api_keys_db):
if default_req_limit == -1:
# TODO: better way?
default_req_limit = 9999999999999
def limits(): def get_req_limits(default_limit, api_keys_db, multiplier = 1):
req_limit = default_req_limit req_limit = default_limit
if api_keys_db: if api_keys_db:
if request.is_json: if request.is_json:
json = get_json_dict(request) json = get_json_dict(request)
api_key = json.get('api_key') api_key = json.get("api_key")
else: else:
api_key = request.values.get("api_key") api_key = request.values.get("api_key")
@ -41,12 +37,24 @@ def get_routes_limits(default_req_limit, daily_req_limit, api_keys_db):
if db_req_limit is not None: if db_req_limit is not None:
req_limit = db_req_limit req_limit = db_req_limit
return "%s per minute" % req_limit return req_limit
res = [limits]
def get_routes_limits(default_req_limit, daily_req_limit, api_keys_db):
if default_req_limit == -1:
# TODO: better way?
default_req_limit = 9999999999999
def minute_limits():
return "%s per minute" % get_req_limits(default_req_limit, api_keys_db)
def daily_limits():
return "%s per day" % get_req_limits(daily_req_limit, api_keys_db, 1440)
res = [minute_limits]
if daily_req_limit > 0: if daily_req_limit > 0:
res.append("%s per day" % daily_req_limit) res.append(daily_limits)
return res return res