Refactor: merge dto, mapper and routes

This commit is contained in:
2025-10-20 18:06:42 +02:00
parent e5347e3583
commit c4ca073b4a
17 changed files with 87 additions and 134 deletions

View File

@@ -4,12 +4,16 @@ import (
"net/http"
"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 bookUserGet struct {
Title string `json:"title" binding:"required,max=300"`
Author string `json:"author" binding:"max=100"`
Rating int `json:"rating" binding:"min=0,max=10"`
}
func GetMyBooksHanderl(ac appcontext.AppContext) {
var userbooks []model.UserBook
user, err := ac.GetAuthenticatedUser()
@@ -18,9 +22,17 @@ func GetMyBooksHanderl(ac appcontext.AppContext) {
return
}
ac.Db.Preload("Book").Where("user_id = ?", user.ID).Find(&userbooks)
booksDto := make([]dto.BookUserGet, 0)
booksDto := make([]bookUserGet, 0)
for _, userbook := range userbooks {
booksDto = append(booksDto, mapper.UserBookDbToWs(&userbook))
booksDto = append(booksDto, userBookDbToWs(&userbook))
}
ac.C.JSON(http.StatusOK, booksDto)
}
func userBookDbToWs(b *model.UserBook) bookUserGet {
return bookUserGet{
Title: b.Book.Title,
Author: b.Book.Author,
Rating: b.Rating,
}
}