feat: allow filter events by timestamp

This commit is contained in:
2024-09-01 15:07:54 +03:00
parent 242f3d4d34
commit ddd3c3f06f
11 changed files with 93 additions and 10 deletions

View File

@@ -158,7 +158,7 @@ class BaseView(View, CorsViewMixin):
value = extractor(key)
if not value:
raise KeyError(key)
except Exception:
except (KeyError, ValueError):
raise KeyError(f"Key {key} is missing or empty") from None
return value
@@ -194,7 +194,7 @@ class BaseView(View, CorsViewMixin):
try:
limit = int(self.request.query.get("limit", default=-1))
offset = int(self.request.query.get("offset", default=0))
except Exception as ex:
except ValueError as ex:
raise HTTPBadRequest(reason=str(ex))
# some checks

View File

@@ -64,8 +64,16 @@ class EventsView(BaseView):
limit, offset = self.page()
event = self.request.query.get("event") or None
object_id = self.request.query.get("object_id") or None
try:
from_date = to_date = None
if (value := self.request.query.get("from_date")) is not None:
from_date = int(value)
if (value := self.request.query.get("to_date")) is not None:
to_date = int(value)
except ValueError as ex:
raise HTTPBadRequest(reason=str(ex))
events = self.service().event_get(event, object_id, limit, offset)
events = self.service().event_get(event, object_id, from_date, to_date, limit, offset)
response = [event.view() for event in events]
return json_response(response)