package api import ( "errors" "net/http" "git.artlef.fr/PersonalLibraryManager/internal/model" "github.com/gin-gonic/gin" "github.com/go-playground/validator/v10" "gorm.io/gorm" ) func GetBooksHanderl(c *gin.Context, db *gorm.DB) { var books []model.Book db.Model(&model.Book{}).Find(&books) c.JSON(http.StatusOK, books) } func PostBookHandler(c *gin.Context, db *gorm.DB) { var book bookPostCreate err := c.ShouldBindJSON(&book) if err != nil { var ve validator.ValidationErrors if errors.As(err, &ve) { c.JSON(http.StatusBadRequest, getValidationErrors(&ve)) } else { c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) } return } bookDb := book.toBook() db.Model(&model.Book{}).Save(&bookDb) c.String(200, "Success") }