Inventaire import: manage case where author does not exist
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user