QR_code_generator/app/Transformers/QrCodes/QrCodeTransformer.php

36 lines
1.0 KiB
PHP

<?php
namespace App\Transformers\QrCodes;
use App\Models\QrCodes\QrCode;
use App\Transformers\Assets\AssetTransformer;
use League\Fractal\Resource\Item;
use League\Fractal\TransformerAbstract;
class QrCodeTransformer extends TransformerAbstract{
protected array $defaultIncludes = [];
protected array $availableIncludes = [
'image', 'document'
];
public function transform(QrCode $model): array {
return [
'id' => $model->uuid,
'format' => $model->parsedFormat,
'text' => $model->text,
'size' => $model->size,
'color' => $model->color,
'bg_color' => $model->bg_color,
'margin' => $model->phone
];
}
public function includeImage(QrCode $model): ?Item {
return $model->image ? $this->item($model->image, new AssetTransformer()) : null;
}
public function includeDocument(QrCode $model): ?Item {
return $model->document ? $this->item($model->document, new AssetTransformer()) : null;
}
}