36 lines
1.0 KiB
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->margin
|
|
];
|
|
}
|
|
|
|
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;
|
|
}
|
|
} |