recator: range construction

Signed-off-by: Sebastian Krupinski <krupinski01@gmail.com>
This commit is contained in:
2026-07-03 21:40:42 -04:00
parent db748efffd
commit 17602f077a
+2 -29
View File
@@ -20,7 +20,6 @@ use KTXF\Resource\Filter\IFilter;
use KTXF\Resource\Identifier\CollectionIdentifier; use KTXF\Resource\Identifier\CollectionIdentifier;
use KTXF\Resource\Identifier\EntityIdentifier; use KTXF\Resource\Identifier\EntityIdentifier;
use KTXF\Resource\Identifier\ResourceIdentifiers; use KTXF\Resource\Identifier\ResourceIdentifiers;
use KTXF\Resource\Range\RangeAnchorType;
use KTXF\Resource\Range\RangeType; use KTXF\Resource\Range\RangeType;
use KTXF\Resource\Sort\ISort; use KTXF\Resource\Sort\ISort;
use Psr\Log\LoggerInterface; use Psr\Log\LoggerInterface;
@@ -572,20 +571,7 @@ class Manager {
// construct range for entities // construct range for entities
$entityRange = null; $entityRange = null;
if ($range !== null && $range !== [] && isset($range['type'])) { if ($range !== null && $range !== [] && isset($range['type'])) {
$entityRange = $service->entityListRange(RangeType::from($range['type'])); $entityRange = $service->entityListRange(RangeType::from($range['type']))->jsonDeserialize($range);
// Cast to IRangeTally if the range type is TALLY
if ($entityRange->type() === RangeType::TALLY) {
/** @var \KTXF\Resource\Range\IRangeTally $entityRange */
if (isset($range['anchor'])) {
$entityRange->setAnchor(RangeAnchorType::from($range['anchor']));
}
if (isset($range['position'])) {
$entityRange->setPosition($range['position']);
}
if (isset($range['tally'])) {
$entityRange->setTally($range['tally']);
}
}
} }
// retrieve entities for each collection // retrieve entities for each collection
foreach ($collectionSelected as $collectionId) { foreach ($collectionSelected as $collectionId) {
@@ -661,19 +647,7 @@ class Manager {
// construct range for entities // construct range for entities
$entityRange = null; $entityRange = null;
if ($range !== null && $range !== [] && isset($range['type'])) { if ($range !== null && $range !== [] && isset($range['type'])) {
$entityRange = $service->entityListRange(RangeType::from($range['type'])); $entityRange = $service->entityListRange(RangeType::from($range['type']))->jsonDeserialize($range);
if ($entityRange->type() === RangeType::TALLY) {
/** @var \KTXF\Resource\Range\IRangeTally $entityRange */
if (isset($range['anchor'])) {
$entityRange->setAnchor(RangeAnchorType::from($range['anchor']));
}
if (isset($range['position'])) {
$entityRange->setPosition($range['position']);
}
if (isset($range['tally'])) {
$entityRange->setTally($range['tally']);
}
}
} }
// yield entities for each collection individually // yield entities for each collection individually
foreach ($collectionSelected as $collectionId) { foreach ($collectionSelected as $collectionId) {
@@ -1105,4 +1079,3 @@ class Manager {
} }
} }