Inventaire API: remove duplicated entries when searching for edition
This commit is contained in:
@@ -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)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user