ldc-dam/app/Http/Resources/Api/MediaListResource.php
2022-08-01 17:38:13 +02:00

43 lines
1.1 KiB
PHP

<?php
namespace App\Http\Resources\Api;
use App\Models\Media;
use Illuminate\Http\Resources\Json\ResourceCollection as JsonResourceCollection;
class MediaListResource extends JsonResourceCollection
{
/**
* Add media thumbs into collection
*
* @var boolean
*/
private $addThumb = false;
/**
* Create a new resource instance.
*
* @param mixed $resource
* @param boolean $addThumb
* @return void
*/
public function __construct(mixed $resource, bool $addThumb = false)
{
$this->addThumb = $addThumb;
parent::__construct($resource);
}
/**
* Transform the resource into an array.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
// phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.FoundInExtendedClass, Squiz.Commenting.FunctionComment.Missing
public function toArray($request)
{
return $this->collection->map(function (Media $media) use ($request) {
return collect((new MediaResource($media, $this->addThumb))->toArray($request));
});
}
}