Add import edition from inventaire

This commit is contained in:
2026-02-01 21:49:11 +01:00
parent 27a9faf704
commit 464405f5c9
13 changed files with 266 additions and 162 deletions

View File

@@ -0,0 +1,62 @@
package inventaire
import (
"fmt"
)
type InventaireEditionDetailedSingleResult struct {
Id string
Title string
Description string
Author *InventaireAuthorResult
ISBN string
Publisher string
ReleaseDate string
Image string
Lang string
}
func CallInventaireEdition(inventaireId string, lang string) (InventaireEditionDetailedSingleResult, error) {
var result InventaireEditionDetailedSingleResult
editionQueryResults, err := callInventaireEditionEntities([]string{inventaireId})
if err != nil {
return result, err
}
var editionQueryResult inventaireEditionQueryEntity
if len(editionQueryResults.Entities) < 1 {
return result, fmt.Errorf("No edition found on inventaire for id %s", inventaireId)
}
editionQueryResult = editionQueryResults.Entities[0]
var publisher string
if editionQueryResult.EditionId != "" {
publisher, err = callInventairePublisherGetName(editionQueryResult.EditionId, lang)
if err != nil {
return result, err
}
}
var author *InventaireAuthorResult
var description string
if editionQueryResult.WorkId != "" {
workQueryResult, err := callInventaireBook(editionQueryResult.WorkId, lang)
if err != nil {
return result, err
}
author = workQueryResult.Author
description = workQueryResult.Description
}
result = InventaireEditionDetailedSingleResult{
Id: editionQueryResult.Uri,
Title: editionQueryResult.Title,
Author: author,
Description: description,
ISBN: editionQueryResult.ISBN,
Publisher: publisher,
ReleaseDate: editionQueryResult.ReleaseDate,
Image: editionQueryResult.Image,
Lang: editionQueryResult.Lang,
}
return result, err
}