Files
mareike/app/Models/DocumentAsset.php
T

38 lines
959 B
PHP

<?php
namespace App\Models;
use App\Scopes\CommonModel;
/**
* Ein Bild für die Dokumentvorlagen, referenziert als `{asset:name}`.
*
* Liegt in der Datenbank und nicht im Dateisystem, damit ein Release es nicht überschreibt und es mit
* jedem Dump mitwandert. `data` hält den base64-Payload, der für das PDF ohnehin als Data-URI gebraucht
* wird.
*
* Die Namen vergibt die verwaltende Person selbst -- es gibt keine fachlich vorbelegten Slots.
*
* @property string $name
* @property string|null $label
* @property string $mime
* @property string $data
*/
class DocumentAsset extends CommonModel
{
protected $table = 'document_assets';
protected $fillable = [
'name',
'label',
'mime',
'data',
];
/** Fertige Data-URI zum direkten Einsetzen in ein `src`-Attribut. */
public function toDataUri(): string
{
return sprintf('data:%s;base64,%s', $this->mime, $this->data);
}
}