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

View File

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

View File

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

View File

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

View File

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