Refactor api code: split between packages

This commit is contained in:
2025-10-15 22:52:43 +02:00
parent ae790b4b39
commit 7dcca84b7d
20 changed files with 284 additions and 214 deletions

View File

@@ -0,0 +1,14 @@
package mapper
import (
"git.artlef.fr/PersonalLibraryManager/internal/dto"
"git.artlef.fr/PersonalLibraryManager/internal/model"
)
func BookWsToDb(b dto.BookPostCreate, user *model.User) model.Book {
return model.Book{
Title: b.Title,
Author: b.Author,
AddedBy: *user,
}
}

View File

@@ -0,0 +1,13 @@
package mapper
import (
"git.artlef.fr/PersonalLibraryManager/internal/dto"
"git.artlef.fr/PersonalLibraryManager/internal/model"
)
func BookDbToWs(b *model.Book) dto.BookSearchGet {
return dto.BookSearchGet{
Title: b.Title,
Author: b.Author,
}
}

View File

@@ -0,0 +1,14 @@
package mapper
import (
"git.artlef.fr/PersonalLibraryManager/internal/dto"
"git.artlef.fr/PersonalLibraryManager/internal/model"
)
func UserBookDbToWs(b *model.UserBook) dto.BookUserGet {
return dto.BookUserGet{
Title: b.Book.Title,
Author: b.Book.Author,
Rating: b.Rating,
}
}

View File

@@ -0,0 +1,20 @@
package mapper
import (
"git.artlef.fr/PersonalLibraryManager/internal/dto"
"git.artlef.fr/PersonalLibraryManager/internal/model"
"golang.org/x/crypto/bcrypt"
)
func UserWsToDb(u dto.UserSignup) (model.User, error) {
user := model.User{
Name: u.Username,
Password: "",
}
hashedPassword, err := bcrypt.GenerateFromPassword([]byte(u.Password), bcrypt.DefaultCost)
if err != nil {
return user, err
}
user.Password = string(hashedPassword)
return user, nil
}