Inventaire API: remove duplicated entries when searching for edition

This commit is contained in:
2026-03-15 15:51:27 +01:00
parent 97198efb1c
commit 7fdadf4b0b

View File

@@ -2,6 +2,7 @@ package inventaire
import ( import (
"math" "math"
"slices"
"sort" "sort"
"git.artlef.fr/bibliomane/internal/callapiutils" "git.artlef.fr/bibliomane/internal/callapiutils"
@@ -32,14 +33,15 @@ func CallInventaireEditionFromWork(inventaireUrl string, workId string, lang str
if err != nil { if err != nil {
return queryResult, err return queryResult, err
} }
queryResult.Count = int64(len(uris.Uris))
sort.Strings(uris.Uris) sort.Strings(uris.Uris)
limitedUris := uris.Uris listUris := slices.Compact(uris.Uris)
queryResult.Count = int64(len(listUris))
limitedUris := listUris
if limit != 0 { if limit != 0 {
l := len(uris.Uris) l := len(listUris)
startIndex := int(math.Min(float64(offset), float64(l))) startIndex := int(math.Min(float64(offset), float64(l)))
endIndex := int(math.Min(float64(limit+offset), float64(l))) endIndex := int(math.Min(float64(limit+offset), float64(l)))
limitedUris = uris.Uris[startIndex:endIndex] limitedUris = listUris[startIndex:endIndex]
} }
editionEntities, err := callInventaireEditionEntities(inventaireUrl, limitedUris) editionEntities, err := callInventaireEditionEntities(inventaireUrl, limitedUris)