feat: adjust data returned by api calls for myep
This commit is contained in:
@@ -53,26 +53,21 @@ class ProductApiMiddleware implements MiddlewareInterface
|
|||||||
$queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)
|
$queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)
|
||||||
->getQueryBuilderForTable('tx_epproducts_domain_model_product');
|
->getQueryBuilderForTable('tx_epproducts_domain_model_product');
|
||||||
|
|
||||||
$product = $queryBuilder
|
$data = $queryBuilder
|
||||||
->select(
|
->select(
|
||||||
'uid',
|
'product.name as productName',
|
||||||
'name',
|
'product.code as productCode',
|
||||||
'code',
|
'country.name as countryName',
|
||||||
'headline',
|
'region.name as regionName',
|
||||||
'teaser',
|
'city.name as cityName',
|
||||||
'teaser_long',
|
|
||||||
'concept_description',
|
|
||||||
'board_description',
|
|
||||||
'programme_description',
|
|
||||||
'included_services',
|
|
||||||
'additional_services',
|
|
||||||
'ski_pass_alt_title',
|
|
||||||
'ski_pass_description'
|
|
||||||
)
|
)
|
||||||
->from('tx_epproducts_domain_model_product')
|
->from('tx_epproducts_domain_model_product', 'product')
|
||||||
|
->leftJoin('product', 'tx_epproducts_domain_model_country', 'country', 'product.country = country.uid')
|
||||||
|
->leftJoin('product', 'tx_epproducts_domain_model_region', 'region', 'product.region = region.uid')
|
||||||
|
->leftJoin('product', 'tx_epproducts_domain_model_city', 'city', 'product.city = city.uid')
|
||||||
->where(
|
->where(
|
||||||
$queryBuilder->expr()->eq(
|
$queryBuilder->expr()->eq(
|
||||||
'code',
|
'product.code',
|
||||||
$queryBuilder->createNamedParameter($productCode)
|
$queryBuilder->createNamedParameter($productCode)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
@@ -81,27 +76,28 @@ class ProductApiMiddleware implements MiddlewareInterface
|
|||||||
->fetchAssociative()
|
->fetchAssociative()
|
||||||
;
|
;
|
||||||
|
|
||||||
if (false === $product) {
|
if (false === $data) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
$images = GeneralUtility::makeInstance(ProductImageService::class)
|
$images = GeneralUtility::makeInstance(ProductImageService::class)
|
||||||
->getImages((int) $product['uid']);
|
->getImages((int) $data['uid']);
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'name' => $product['name'],
|
'product' => [
|
||||||
'code' => $product['code'],
|
'name' => $data['productName'],
|
||||||
'headline' => $product['headline'],
|
'code' => $data['productCode'],
|
||||||
'teaser' => $product['teaser'],
|
'images' => $images,
|
||||||
'teaserLong' => $product['teaser_long'],
|
],
|
||||||
'conceptDescription' => $product['concept_description'],
|
'country' => [
|
||||||
'boardDescription' => $product['board_description'],
|
'name' => $data['countryName'],
|
||||||
'programmeDescription' => $product['programme_description'],
|
],
|
||||||
'includedServices' => $product['included_services'],
|
'region' => [
|
||||||
'additionalServices' => $product['additional_services'],
|
'name' => $data['regionName'],
|
||||||
'skiPassAltTitle' => $product['ski_pass_alt_title'],
|
],
|
||||||
'skiPassDescription' => $product['ski_pass_description'],
|
'city' => [
|
||||||
'images' => $images,
|
'name' => $data['cityName'],
|
||||||
|
],
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user