Skip to content

Commit

Permalink
Add message parameter with exception if not Symfony Bridge ^7.1 used (#…
Browse files Browse the repository at this point in the history
…853)

Co-authored-by: Oleksii Romanchenko <ol.romanchenko@foodtech.team>
  • Loading branch information
Avariya and Oleksii Romanchenko authored Jan 5, 2025
1 parent 0952d9a commit 08b29d4
Showing 1 changed file with 18 additions and 1 deletion.
19 changes: 18 additions & 1 deletion src/Attribute/MapDocument.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,12 @@

use Attribute;
use Doctrine\Bundle\MongoDBBundle\ArgumentResolver\DocumentValueResolver;
use RuntimeException;
use Symfony\Bridge\Doctrine\Attribute\MapEntity;

use function is_string;
use function property_exists;

#[Attribute(Attribute::TARGET_PARAMETER)]
class MapDocument extends MapEntity
{
Expand All @@ -21,7 +25,20 @@ public function __construct(
public array|string|null $id = null,
bool $disabled = false,
string $resolver = DocumentValueResolver::class,
public ?string $message = null,
) {
parent::__construct($class, $objectManager, $expr, $mapping, $exclude, $stripNull, $id, null, $disabled, $resolver);
if (! is_string($this->message)) {
parent::__construct($class, $objectManager, $expr, $mapping, $exclude, $stripNull, $id, null, $disabled, $resolver);

return;
}

if (! property_exists(MapEntity::class, 'message')) {
throw new RuntimeException(
'The "message" options is not supported at "MapDocument". Please upgrade "symfony/doctrine-bridge" to "^7.1".',
);
}

parent::__construct($class, $objectManager, $expr, $mapping, $exclude, $stripNull, $id, null, $disabled, $resolver, $message);
}
}

0 comments on commit 08b29d4

Please sign in to comment.