Skip to content

Commit c85856c

Browse files
committed
fix-usecase
1 parent 68431af commit c85856c

1 file changed

Lines changed: 33 additions & 2 deletions

File tree

src/app/Packages/Features/QueryUseCases/UseCase/CreateWorldManyHeritagesUseCase.php

Lines changed: 33 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,13 @@
22

33
namespace App\Packages\Features\QueryUseCases\UseCase;
44

5+
use App\Packages\Domains\WorldHeritageEntityCollection;
56
use App\Packages\Domains\WorldHeritageRepositoryInterface;
67
use App\Packages\Features\QueryUseCases\Dto\WorldHeritageDtoCollection;
78
use App\Packages\Features\QueryUseCases\Factory\WorldHeritageListQueryCollectionFactory;
89
use App\Packages\Features\QueryUseCases\Dto\WorldHeritageDto;
10+
use App\Packages\Domains\WorldHeritageEntity;
11+
use App\Packages\Features\QueryUseCases\ListQuery\WorldHeritageListQuery;
912

1013
class CreateWorldManyHeritagesUseCase
1114
{
@@ -17,10 +20,38 @@ public function handle(
1720
array $request
1821
): WorldHeritageDtoCollection
1922
{
20-
$listQuery = WorldHeritageListQueryCollectionFactory::build($request);
23+
$listQueries = WorldHeritageListQueryCollectionFactory::build($request);
24+
25+
$entityArray = array_map(
26+
function (WorldHeritageListQuery $q) {
27+
return new WorldHeritageEntity(
28+
id: $q->getId() ?? null,
29+
unescoId: (int)$q->getUnescoId(),
30+
officialName: $q->getOfficialName(),
31+
name: $q->getName(),
32+
country: $q->getCountry(),
33+
region: $q->getRegion(),
34+
category: $q->getCategory(),
35+
yearInscribed: (int)$q->getYearInscribed(),
36+
latitude: $q->getLatitude() !== null ? (float)$q->getLatitude() : null,
37+
longitude: $q->getLongitude() !== null ? (float)$q->getLongitude() : null,
38+
isEndangered: (bool)$q->isEndangered(),
39+
nameJp: $q->getNameJp(),
40+
stateParty: $q->getStateParty(),
41+
criteria: $q->getCriteria() ?? [],
42+
areaHectares: $q->getAreaHectares(),
43+
bufferZoneHectares: $q->getBufferZoneHectares(),
44+
shortDescription: $q->getShortDescription(),
45+
imageUrl: $q->getImageUrl(),
46+
unescoSiteUrl: $q->getUnescoSiteUrl()
47+
);
48+
}, $listQueries->getAllHeritages()
49+
);
50+
51+
$entities = new WorldHeritageEntityCollection($entityArray);
2152

2253
$result = $this->repository->insertHeritages(
23-
$listQuery
54+
$entities
2455
);
2556

2657
return new WorldHeritageDtoCollection(

0 commit comments

Comments
 (0)