update member from one to several ids

This commit is contained in:
Adrian Zürcher
2025-11-04 09:35:52 +01:00
parent e3870de7d5
commit ad44a65087
2 changed files with 14 additions and 31 deletions

View File

@@ -93,50 +93,33 @@ func (a *APIHandler) GetMember(c *gin.Context) {
c.JSON(http.StatusOK, members)
}
func (a *APIHandler) EditMember(c *gin.Context) {
func (a *APIHandler) UpdateMember(c *gin.Context) {
if !a.DBHandlerIsInitialized() {
a.logger.Error("EditMember", "database handler is not initialized")
c.JSON(http.StatusInternalServerError, nil)
return
}
var i int
var err error
id := c.Query("id")
if id != "" {
i, err = strconv.Atoi(id)
if err != nil {
a.logger.Error("EditMember", err)
c.JSON(http.StatusInternalServerError, nil)
return
}
} else {
a.logger.Error("EditMember", err)
c.JSON(http.StatusBadRequest, gin.H{
"message": "query parameter 'id' missing",
})
return
}
var member models.Member
err = c.BindJSON(&member)
var members []models.Member
err := c.BindJSON(&members)
if err != nil {
a.logger.Error("EditMember", err)
c.JSON(http.StatusInternalServerError, nil)
return
}
err = a.DbHandler.UpdateMember(i, member)
if err != nil {
a.logger.Error("EditMember", err)
c.JSON(http.StatusBadRequest, gin.H{
"message": err.Error(),
})
return
for _, member := range members {
err = a.DbHandler.UpdateMember(member.Id, member)
if err != nil {
a.logger.Error("EditMember", err)
c.JSON(http.StatusBadRequest, gin.H{
"message": err.Error(),
})
return
}
}
c.JSON(http.StatusOK, gin.H{
"message": "member updated",
"message": "member(s) updated",
})
}

View File

@@ -44,7 +44,7 @@ func TestErrors(t *testing.T) {
v1.POST("/database/open", apiHandler.OpenDatabase)
v1.POST("/members/add", apiHandler.AddNewMember)
v1.POST("/members/edit", apiHandler.EditMember)
v1.POST("/members/edit", apiHandler.UpdateMember)
v1.POST("/members/delete", apiHandler.DeleteMember)
v1.POST("/members/import/csv", apiHandler.ImportCSV)