From f4991b46f8ef65520bf39ed3b40d9f2c0fb1af8f Mon Sep 17 00:00:00 2001 From: spacebares <57186372+spacebares@users.noreply.github.com> Date: Sat, 31 Dec 2022 06:56:30 -0800 Subject: [PATCH] [API] filter for favorite events (#4737) * [API] filter for favorite events * Added /api/events filter for favorite (retain_indefinitely) events * New Star button to filter for favorite events on the Events page * fix python formatting * keep Events favorite button to right side --- frigate/http.py | 4 ++++ web/src/routes/Events.jsx | 10 +++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/frigate/http.py b/frigate/http.py index 1df1d5fcd..99b981b2f 100644 --- a/frigate/http.py +++ b/frigate/http.py @@ -565,6 +565,7 @@ def events(): has_clip = request.args.get("has_clip", type=int) has_snapshot = request.args.get("has_snapshot", type=int) include_thumbnails = request.args.get("include_thumbnails", default=1, type=int) + favorites = request.args.get("favorites", type=int) clauses = [] excluded_fields = [] @@ -635,6 +636,9 @@ def events(): else: selected_columns.append(Event.thumbnail) + if favorites: + clauses.append((Event.retain_indefinitely == favorites)) + if len(clauses) == 0: clauses.append((True)) diff --git a/web/src/routes/Events.jsx b/web/src/routes/Events.jsx index e8807411e..c37a1b2f5 100644 --- a/web/src/routes/Events.jsx +++ b/web/src/routes/Events.jsx @@ -58,6 +58,7 @@ export default function Events({ path, ...props }) { labels: props.labels ?? 'all', zones: props.zones ?? 'all', sub_labels: props.sub_labels ?? 'all', + favorites: props.favorites ?? 0, }); const [state, setState] = useState({ showDownloadMenu: false, @@ -334,7 +335,14 @@ export default function Events({ path, ...props }) { onSelectSingle={(item) => onFilter("sub_labels", item)} /> )} -