2019-10-18 16:43:52 +01:00
|
|
|
from collections import defaultdict
|
|
|
|
|
|
2019-10-18 09:18:51 +01:00
|
|
|
from flask import render_template
|
|
|
|
|
|
2019-10-18 16:43:52 +01:00
|
|
|
from app import current_service, format_date_numeric
|
2019-10-18 09:18:51 +01:00
|
|
|
from app.main import main
|
2019-10-21 12:14:41 +01:00
|
|
|
from app.models.event import APIKeyEvents, ServiceEvents
|
2019-10-18 09:18:51 +01:00
|
|
|
from app.utils import user_has_permissions
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@main.route("/services/<service_id>/history")
|
|
|
|
|
@user_has_permissions('manage_service')
|
|
|
|
|
def history(service_id):
|
2019-10-18 16:43:52 +01:00
|
|
|
return render_template(
|
|
|
|
|
'views/temp-history.html',
|
2019-10-21 12:14:41 +01:00
|
|
|
days=_chunk_events_by_day(
|
|
|
|
|
_get_events(current_service.id)
|
|
|
|
|
)
|
2019-10-18 16:43:52 +01:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
2019-10-21 12:14:41 +01:00
|
|
|
def _get_events(service_id):
|
|
|
|
|
return APIKeyEvents(service_id) + ServiceEvents(service_id)
|
|
|
|
|
|
|
|
|
|
|
2019-10-18 16:43:52 +01:00
|
|
|
def _chunk_events_by_day(events):
|
|
|
|
|
|
|
|
|
|
days = defaultdict(list)
|
|
|
|
|
|
|
|
|
|
for event in reversed(events):
|
|
|
|
|
days[format_date_numeric(event.time)].append(event)
|
|
|
|
|
|
|
|
|
|
return sorted(days.items(), reverse=True)
|