package api import ( "net/http" "strconv" "gitea.tecamino.com/paadi/memberDB/models" "github.com/gin-gonic/gin" ) func (a *APIHandler) AddNewResponsible(c *gin.Context) { if !a.DBHandlerIsInitialized() { a.logger.Error("AddNewResponsible", "database handler is not initialized") c.JSON(http.StatusInternalServerError, nil) return } var responsibles []models.Responsible err := c.BindJSON(&responsibles) if err != nil { a.logger.Error("AddNewResponsible", err) c.JSON(http.StatusInternalServerError, nil) return } err = a.DbHandler.AddNewResponsible(responsibles...) if err != nil { c.JSON(http.StatusBadRequest, gin.H{ "message": err.Error(), }) return } c.JSON(http.StatusOK, gin.H{ "message": "responsible(s) added", }) } func (a *APIHandler) GetResponsible(c *gin.Context) { if !a.DBHandlerIsInitialized() { a.logger.Error("GetResponsible", "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("GetResponsible", err) c.JSON(http.StatusInternalServerError, nil) return } } members, err := a.DbHandler.GetResponsible(uint(i)) if err != nil { a.logger.Error("GetResponsible", err) c.JSON(http.StatusBadRequest, gin.H{ "message": err.Error(), }) return } c.JSON(http.StatusOK, members) } func (a *APIHandler) DeleteResponsible(c *gin.Context) { if !a.DBHandlerIsInitialized() { a.logger.Error("DeleteResponsible", "database handler is not initialized") c.JSON(http.StatusInternalServerError, nil) return } var err error var request struct { Ids []uint `json:"ids"` } err = c.BindJSON(&request) if err != nil { a.logger.Error("DeleteResponsible", err) c.JSON(http.StatusBadRequest, nil) return } err = a.DbHandler.DeleteResponsible(request.Ids...) if err != nil { a.logger.Error("DeleteResponsible", err) c.JSON(http.StatusBadRequest, gin.H{ "message": err.Error(), }) return } c.JSON(http.StatusOK, gin.H{ "message": "responsible(s) deleted", }) }