Remove records property from story search results

This commit is contained in:
Thibaud Fabre
2016-06-27 17:17:50 +02:00
parent 9e891d4ae9
commit 5648f3219c
5 changed files with 35 additions and 11 deletions

View File

@@ -1117,6 +1117,7 @@ class V1Controller extends Controller
'results.records.status' => new CallbackTransformer(),
'results.records.caption' => new CallbackTransformer(),
]);
$includeResolver = new IncludeResolver($transformerResolver);
$fractal = new \League\Fractal\Manager();
@@ -1406,20 +1407,27 @@ class V1Controller extends Controller
*/
private function resolveSearchIncludes(Request $request)
{
if ($request->attributes->get('_extended', false)) {
return [
$includes = [];
if ($request->get('search_type') != SearchEngineOptions::RECORD_STORY) {
$includes += [
'results.stories.records.subdefs',
'results.stories.records.metadata',
'results.stories.records.caption',
'results.stories.records.status',
'results.records.subdefs',
'results.records.metadata',
'results.records.caption',
'results.records.status',
'results.stories.records.status'
];
}
return [];
if ($request->attributes->get('_extended', false)) {
$includes += [
'results.records.subdefs',
'results.records.metadata',
'results.records.caption',
'results.records.status'
];
}
return $includes;
}
/**
@@ -1435,7 +1443,7 @@ class V1Controller extends Controller
'results.subdefs',
'results.metadata',
'results.caption',
'results.status',
'results.status'
];
}

View File

@@ -54,7 +54,6 @@ class IncludeResolver
private function figureOutWhichIncludes(ResourceTransformerAccessibleScope $scope)
{
$transformer = $scope->getResourceTransformer();
$includes = $transformer->getDefaultIncludes();
foreach ($transformer->getAvailableIncludes() as $include) {

View File

@@ -15,8 +15,15 @@ use League\Fractal\TransformerAbstract;
class StoryTransformer extends TransformerAbstract
{
/**
* @var array
*/
protected $availableIncludes = ['thumbnail', 'metadatas', 'records'];
protected $defaultIncludes = ['thumbnail', 'metadatas', 'records'];
/**
* @var array
*/
protected $defaultIncludes = ['thumbnail', 'metadatas'];
/**
* @var SubdefTransformer

View File

@@ -14,13 +14,21 @@ use League\Fractal\TransformerAbstract;
class V1SearchCompositeResultTransformer extends TransformerAbstract
{
/**
* @var string[]
*/
protected $availableIncludes = ['stories', 'records'];
/**
* @var string[]
*/
protected $defaultIncludes = ['stories', 'records'];
/**
* @var RecordTransformer
*/
private $recordTransformer;
/**
* @var StoryTransformer
*/

View File

@@ -24,6 +24,7 @@ class SearchEngineOptions
{
const RECORD_RECORD = 0;
const RECORD_GROUPING = 1;
const RECORD_STORY = 2;
const TYPE_IMAGE = 'image';
const TYPE_VIDEO = 'video';
const TYPE_AUDIO = 'audio';
@@ -296,6 +297,7 @@ class SearchEngineOptions
$this->search_type = self::RECORD_RECORD;
break;
case self::RECORD_GROUPING:
case self::RECORD_STORY:
$this->search_type = self::RECORD_GROUPING;
break;
}