. * * The interactive user interfaces in modified source and object code versions * of this program must display Appropriate Legal Notices, as required under * Section 5 of the GNU Affero General Public License version 3. * * In accordance with Section 7(b) of the GNU Affero General Public License version 3, * these Appropriate Legal Notices must retain the display of the "EspoCRM" word. ************************************************************************/ namespace Espo\Core\FileStorage; use Espo\Entities\Attachment as AttachmentEntity; use RuntimeException; class AttachmentEntityWrapper implements Attachment { private AttachmentEntity $attachment; public function __construct(AttachmentEntity $attachment) { if (!$attachment->getSourceId()) { throw new RuntimeException("Attachment w/o a source ID."); } $this->attachment = $attachment; } public function getSourceId(): string { $sourceId = $this->attachment->getSourceId(); if (!$sourceId) { throw new RuntimeException("Attachment w/o a source ID."); } return $sourceId; } }