Inventaire import: manage case where author does not exist

This commit is contained in:
2026-03-15 15:57:34 +01:00
parent be5be81cbd
commit 67c475f14c
2 changed files with 30 additions and 6 deletions

View File

@@ -40,18 +40,21 @@ func PostImportBookHandler(ac appcontext.AppContext) {
}
func saveInventaireBookToDb(ac appcontext.AppContext, inventaireEdition inventaire.InventaireEditionDetailedSingleResult, user *model.User) (*model.Book, error) {
author, err := fetchOrCreateInventaireAuthor(ac, inventaireEdition.Author)
if err != nil {
return nil, err
}
book := model.Book{
Title: inventaireEdition.Title,
SmallDescription: inventaireEdition.Description,
InventaireID: inventaireEdition.Id,
Author: *author,
AddedBy: *user,
}
if inventaireEdition.Author != nil {
author, err := fetchOrCreateInventaireAuthor(ac, inventaireEdition.Author)
if err != nil {
return nil, err
}
book.Author = *author
}
if inventaireEdition.Image != "" {
cover, err := fileutils.DownloadFile(ac, inventaireEdition.Image)
if err != nil {
@@ -59,7 +62,7 @@ func saveInventaireBookToDb(ac appcontext.AppContext, inventaireEdition inventai
}
book.Cover = cover
}
err = ac.Db.Save(&book).Error
err := ac.Db.Save(&book).Error
return &book, err
}