From 731db8fb8fafb7258de2c487219674a5a6df39b5 Mon Sep 17 00:00:00 2001 From: sergeknystautas Date: Wed, 11 Jan 2023 15:22:39 -0800 Subject: [PATCH] Add in_progress parameter to /api/events to filter the results. (#5013) * Add in_progress parameter to /api/events to filter the results. * Change in_progress to default to no filtering, 0 means no in progress, 1 means only in progress. * Fix code format with black. * Clear blank line. --- docs/docs/integrations/api.md | 1 + frigate/http.py | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/docs/docs/integrations/api.md b/docs/docs/integrations/api.md index 8cedb34d4..138c9b156 100644 --- a/docs/docs/integrations/api.md +++ b/docs/docs/integrations/api.md @@ -166,6 +166,7 @@ Events from the database. Accepts the following query string parameters: | `has_snapshot` | int | Filter to events that have snapshots (0 or 1) | | `has_clip` | int | Filter to events that have clips (0 or 1) | | `include_thumbnails` | int | Include thumbnails in the response (0 or 1) | +| `in_progress` | int | Limit to events in progress (0 or 1) | ### `GET /api/events/summary` diff --git a/frigate/http.py b/frigate/http.py index 401dc8d8c..c1638ebce 100644 --- a/frigate/http.py +++ b/frigate/http.py @@ -565,6 +565,7 @@ def events(): before = request.args.get("before", type=float) has_clip = request.args.get("has_clip", type=int) has_snapshot = request.args.get("has_snapshot", type=int) + in_progress = request.args.get("in_progress", type=int) include_thumbnails = request.args.get("include_thumbnails", default=1, type=int) favorites = request.args.get("favorites", type=int) @@ -642,6 +643,9 @@ def events(): if not has_snapshot is None: clauses.append((Event.has_snapshot == has_snapshot)) + if not in_progress is None: + clauses.append((Event.end_time.is_null(in_progress))) + if not include_thumbnails: excluded_fields.append(Event.thumbnail) else: