From a938f41e94314c909f8b1989feddc26b1e1c7a3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Z=C3=BCrcher?= Date: Wed, 5 Nov 2025 11:18:30 +0100 Subject: [PATCH] add new function update event --- api/eventHandler.go | 30 ++++++++++++++++++++++++++++++ handlers/events.go | 7 +++++++ member_test.go | 3 ++- 3 files changed, 39 insertions(+), 1 deletion(-) diff --git a/api/eventHandler.go b/api/eventHandler.go index 70cc3cb..2d7c3ad 100644 --- a/api/eventHandler.go +++ b/api/eventHandler.go @@ -65,6 +65,36 @@ func (a *APIHandler) GetEvent(c *gin.Context) { c.JSON(http.StatusOK, events) } +func (a *APIHandler) UpdateEvent(c *gin.Context) { + if !a.DBHandlerIsInitialized() { + a.logger.Error("UpdateEvent", "database handler is not initialized") + c.JSON(http.StatusInternalServerError, nil) + return + } + + var events []models.Event + err := c.BindJSON(&events) + if err != nil { + a.logger.Error("UpdateEvent", err) + c.JSON(http.StatusInternalServerError, nil) + return + } + + for _, event := range events { + err = a.DbHandler.UpdateEvent(event.Id, event) + if err != nil { + a.logger.Error("UpdateEvent", err) + c.JSON(http.StatusBadRequest, gin.H{ + "message": err.Error(), + }) + return + } + } + c.JSON(http.StatusOK, gin.H{ + "message": "event(s) updated", + }) +} + func (a *APIHandler) DeleteEvent(c *gin.Context) { if !a.DBHandlerIsInitialized() { a.logger.Error("DeleteEvent", "database handler is not initialized") diff --git a/handlers/events.go b/handlers/events.go index 0a96512..322ad75 100644 --- a/handlers/events.go +++ b/handlers/events.go @@ -39,6 +39,13 @@ func (dh *DatabaseHandler) GetEvent(id uint) (event []models.Event, err error) { return } +func (dh *DatabaseHandler) UpdateEvent(id int, event models.Event) (err error) { + if !dh.DatabaseOpened() { + return errors.New("database not opened") + } + return dh.database.UpdateValuesById(&event, uint(event.Id)) +} + func (dh *DatabaseHandler) DeleteEvent(ids ...uint) error { if !dh.DatabaseOpened() { return errors.New("database not opened") diff --git a/member_test.go b/member_test.go index 14035ce..2b1e9ec 100644 --- a/member_test.go +++ b/member_test.go @@ -130,7 +130,6 @@ func TestMemberDB(t *testing.T) { v1 := r.Group("v1") v1.GET("/events", apiHandler.GetEvent) v1.GET("/events/new", apiHandler.StartNewEvent) - v1.GET("/events/delete", apiHandler.DeleteEvent) v1.GET("/members", apiHandler.GetMember) v1.GET("/responsible", apiHandler.GetResponsible) @@ -142,6 +141,8 @@ func TestMemberDB(t *testing.T) { v1.POST("/events/attendees/add", apiHandler.AddNewAttendees) v1.POST("/events/attendees/delete", apiHandler.DeleteAttendee) + v1.POST("/events/edit", apiHandler.UpdateEvent) + v1.POST("/events/delete", apiHandler.DeleteEvent) v1.POST("/responsible/add", apiHandler.AddNewResponsible) v1.POST("/responsible/delete", apiHandler.DeleteResponsible)