0, 'arcadia_id' => 0, 'libelle' => '', 'uid' => '', 'version' => '', 'created_at' => '', 'updated_at' => '', ]; /** * Create a new resource instance. * * @param \App\Models\Media $resource * @param boolean $addThumb * @return void */ public function __construct(Media $resource, bool $addThumb = false) { $this->addThumb = $addThumb; $this->resource = $resource; } /** * Transform the resource into an array. * * @param \Illuminate\Http\Request $request * @return array * + id integer * + arcadia_id integer * + libelle string * + uid string * + version integer * + created_at datetime * + updated_at datetime */ //phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.FoundInExtendedClass, Squiz.Commenting.FunctionComment.Missing public function toArray($request) { $data = array_intersect_key( array_merge([ 'id' => $this->id, 'arcadia_id' => $this->arcadia_id, 'libelle' => $this->libelle, 'uid' => $this->uid, 'version' => $this->version, 'created_at' => $this->created_at, 'updated_at' => $this->updated_at, ]), $this->getSkeleton() ); if ($this->addThumb) { /** @var \Illuminate\Filesystem\FilesystemAdapter */ $storage = Storage::disk('media'); $data['base64_thumb_bin'] = \base64_encode($storage->get($this->thumb_relative_path)); } return $data; } /** * Returns the resource skeletton * * @return array */ public static function getSkeleton(): array { return self::$skeleton; } }