38 lines
959 B
PHP
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);
|
|
}
|
|
}
|