File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1515from kayman .schemas .event import (
1616 Event ,
1717 EventBase ,
18+ EventClear ,
1819 EventCreate ,
1920 EventRead ,
2021 EventUpdate ,
@@ -67,6 +68,18 @@ def update(
6768 raise HTTPException (status_code = 404 , detail = err .args [0 ]) from err
6869
6970
71+ @event_router .post ("/{event_id}/cleared" , name = "Clear Event" , response_model = EventRead )
72+ def clear (
73+ * , session : Session = Depends (get_session ), event_id : int , data : EventClear
74+ ) -> EventBase :
75+ # TODO: validate event details before clearing
76+ update = EventUpdate (** data .model_dump (exclude_unset = True ))
77+ try :
78+ return update_events (session , [event_id ], [update ])[0 ]
79+ except ValueError as err :
80+ raise HTTPException (status_code = 404 , detail = err .args [0 ]) from err
81+
82+
7083@event_router .delete ("/{id}" , name = "Delete Event" )
7184def delete (* , session : Session = Depends (get_session ), id : int ) -> None :
7285 event = session .get (Event , id )
Original file line number Diff line number Diff line change @@ -52,6 +52,10 @@ class EventRead(EventBase):
5252 id : int
5353
5454
55+ class EventClear (SQLModel ):
56+ cleared_at : datetime
57+
58+
5559class EventUpdate (SQLModel ):
5660 type : EventType | None = None
5761 timestamp : datetime | None = None
You can’t perform that action at this time.
0 commit comments