From 3cc3fc27a172d472adc3ed5eaba7eba7df0ddc24 Mon Sep 17 00:00:00 2001 From: Taha Yassine Kraiem Date: Mon, 25 Oct 2021 14:57:41 +0200 Subject: [PATCH] feat(api): count recorded sessions endpoint feat(nginx): block public access to count recorded sessions endpoint --- api/chalicelib/blueprints/bp_core.py | 5 +++++ api/chalicelib/core/sessions.py | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/api/chalicelib/blueprints/bp_core.py b/api/chalicelib/blueprints/bp_core.py index 18773f68c..e99d6e297 100644 --- a/api/chalicelib/blueprints/bp_core.py +++ b/api/chalicelib/blueprints/bp_core.py @@ -897,3 +897,8 @@ def sessions_live_search(projectId, context): def get_heatmaps_by_url(projectId, context): data = app.current_request.json_body return {"data": heatmaps.get_by_url(project_id=projectId, data=data)} + + +@app.route('/general_stats', methods=['GET'], authorizer=None) +def get_general_stats(): + return {"data": {"sessions:": sessions.count_all()}} diff --git a/api/chalicelib/core/sessions.py b/api/chalicelib/core/sessions.py index 884e69c57..31d88ebf2 100644 --- a/api/chalicelib/core/sessions.py +++ b/api/chalicelib/core/sessions.py @@ -765,3 +765,9 @@ def delete_sessions_by_user_ids(project_id, user_ids): cur.execute(query=query) return True + + +def count_all(): + with pg_client.PostgresClient() as cur: + row = cur.execute(query="SELECT COUNT(session_id) AS count FROM public.sessions") + return row.get("count", 0)