File: D:/HostingSpaces/sdo/sdoschoonmaak.nl/app/KommaApp/JsonApi/TranslationResource.php
<?php
namespace App\KommaApp\JsonApi;
use App\KommaApp\Kms\Core\AbstractTranslationModel;
use App\KommaApp\Kms\Core\KmsInterface;
use Illuminate\Http\Resources\Json\Resource;
class TranslationResource extends Resource
{
/** @var $kms KmsInterface */
private $kms;
public function __construct($resource)
{
if(!is_a($resource,AbstractTranslationModel::class)) throw new \InvalidArgumentException('The resource must be an instance of '.AbstractTranslationModel::class);
$this->kms = \App::make(KmsInterface::class);
parent::__construct($resource);
}
/**
* Transform the resource into an array.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function toArray($request)
{
$attributes = $this->resource->toArray();
foreach ($attributes as $index => $attribute) {
if(is_array($attribute)) array_splice($attributes, $index, 1);
}
$data = [
'id' => (string) $this->id,
'type' => $this->kms->getShortNameFromClass($this->resource, true),
'attributes' => $attributes,
];
return $data;
}
}