From f5d5f453fe9fccdeeb77724281b6f180a871e509 Mon Sep 17 00:00:00 2001
From: Konrad Mohrfeldt <konrad.mohrfeldt@farbdev.org>
Date: Fri, 26 Jan 2024 20:50:09 +0100
Subject: [PATCH] feat: add new startsBefore and endsAfter filters for
 timeslots API

---
 program/filters.py | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/program/filters.py b/program/filters.py
index 41c3a4a5..f4abfc6e 100644
--- a/program/filters.py
+++ b/program/filters.py
@@ -184,6 +184,11 @@ class TimeSlotFilterSet(filters.FilterSet):
             "If specified without a datetime value the current date and time is assumed."
         ),
     )
+    starts_before = filters.DateTimeFilter(
+        field_name="start",
+        lookup_expr="lt",
+        help_text="Only returns timeslots that start before the specified datetime.",
+    )
     starts_after = filters.DateTimeFilter(
         field_name="start",
         lookup_expr="gte",
@@ -194,6 +199,11 @@ class TimeSlotFilterSet(filters.FilterSet):
         lookup_expr="lt",
         help_text="Only returns timeslots that end before the specified datetime.",
     )
+    ends_after = filters.DateTimeFilter(
+        field_name="end",
+        lookup_expr="gte",
+        help_text="Only returns timeslots that end at or after the specified datetime.",
+    )
     schedule_ids = IntegerInFilter(
         field_name="schedule",
         help_text="Return only timeslots that belong to the specified schedule(s).",
-- 
GitLab