Refactor: merge dto, mapper and routes
This commit is contained in:
@@ -2,14 +2,17 @@ package routes
|
||||
|
||||
import (
|
||||
"git.artlef.fr/PersonalLibraryManager/internal/appcontext"
|
||||
"git.artlef.fr/PersonalLibraryManager/internal/dto"
|
||||
"git.artlef.fr/PersonalLibraryManager/internal/mapper"
|
||||
"git.artlef.fr/PersonalLibraryManager/internal/model"
|
||||
"git.artlef.fr/PersonalLibraryManager/internal/myvalidator"
|
||||
)
|
||||
|
||||
type bookPostCreate struct {
|
||||
Title string `json:"title" binding:"required,max=300"`
|
||||
Author string `json:"author" binding:"max=100"`
|
||||
}
|
||||
|
||||
func PostBookHandler(ac appcontext.AppContext) {
|
||||
var book dto.BookPostCreate
|
||||
var book bookPostCreate
|
||||
err := ac.C.ShouldBindJSON(&book)
|
||||
if err != nil {
|
||||
myvalidator.ReturnErrorsAsJsonResponse(&ac, err)
|
||||
@@ -20,7 +23,7 @@ func PostBookHandler(ac appcontext.AppContext) {
|
||||
myvalidator.ReturnErrorsAsJsonResponse(&ac, err)
|
||||
return
|
||||
}
|
||||
bookDb := mapper.BookWsToDb(book, &user)
|
||||
bookDb := bookWsToDb(book, &user)
|
||||
err = ac.Db.Model(&model.Book{}).Save(&bookDb).Error
|
||||
if err != nil {
|
||||
myvalidator.ReturnErrorsAsJsonResponse(&ac, err)
|
||||
@@ -28,3 +31,11 @@ func PostBookHandler(ac appcontext.AppContext) {
|
||||
}
|
||||
ac.C.String(200, "Success")
|
||||
}
|
||||
|
||||
func bookWsToDb(b bookPostCreate, user *model.User) model.Book {
|
||||
return model.Book{
|
||||
Title: b.Title,
|
||||
Author: b.Author,
|
||||
AddedBy: *user,
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user