Skip to content

Commit

Permalink
do not filter media attributes if there is no default conversion in q…
Browse files Browse the repository at this point in the history
…uery params
  • Loading branch information
repl6669 committed May 15, 2024
1 parent a96253f commit be17abb
Showing 1 changed file with 4 additions and 23 deletions.
27 changes: 4 additions & 23 deletions src/Domain/Media/JsonApi/V1/MediaResource.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
use Illuminate\Http\Request;
use Illuminate\Support\Arr;
use Illuminate\Support\Facades\Config;
use LaravelJsonApi\Contracts\Schema\Attribute;
use Spatie\MediaLibrary\MediaCollections\Models\Media;

class MediaResource extends JsonApiResource
Expand Down Expand Up @@ -41,9 +40,9 @@ protected function allAttributes($request): iterable
/** @var Media $model */
$model = $this->resource;

$conversionsInParams = array_filter(
$conversions = array_filter(
explode(',', $request->get('media_conversions', '')),
fn ($conversion) => $model->hasGeneratedConversion($conversion) || in_array($conversion, ['default']),
fn ($conversion) => $model->hasGeneratedConversion($conversion),
);

/** @var array<int, MediaConversionContract> $registeredConversions */
Expand All @@ -59,34 +58,16 @@ protected function allAttributes($request): iterable
fn (ConversionOptions $options) => $options->key,
array_filter(
$conversionOptions,
fn (ConversionOptions $options) => in_array($options->key, $conversionsInParams),
fn (ConversionOptions $options) => in_array($options->key, $conversions),
),
)));

if (empty($conversions) || empty($registeredConversions)) {
return parent::allAttributes($request);
}

$allAttributes = array_filter(
parent::allAttributes($request),
function (Attribute $value, mixed $key) use ($conversionsInParams) {

if (! in_array('default', $conversionsInParams)) {
return ! in_array($key, [
'path',
'url',
'srcset',
'file_name',
'mime_type',
]);
}

return true;

}, ARRAY_FILTER_USE_BOTH);

return [
...$allAttributes,
...parent::allAttributes($request),
...$this->conversions($conversions),
];
}
Expand Down

0 comments on commit be17abb

Please sign in to comment.