Skip to content
Snippets Groups Projects
Commit 1b7bc49d authored by Groß-Vogt, Tobias's avatar Groß-Vogt, Tobias
Browse files

new custom expression language function 'isNullOrEmpty'

parent 8ffd7ca0
Branches
Tags v0.1.78
No related merge requests found
Pipeline #232358 passed
...@@ -213,6 +213,7 @@ abstract class AbstractAuthorizationService implements ContextAwareNormalizerInt ...@@ -213,6 +213,7 @@ abstract class AbstractAuthorizationService implements ContextAwareNormalizerInt
{ {
$roleExpressions = []; $roleExpressions = [];
foreach ($entitiesConfigNode as $entityShortName => $entityNode) { foreach ($entitiesConfigNode as $entityShortName => $entityNode) {
dump($entityNode);
$entityClassName = $entityNode[AuthorizationConfigDefinition::ENTITY_CLASS_NAME_CONFIG_NODE]; $entityClassName = $entityNode[AuthorizationConfigDefinition::ENTITY_CLASS_NAME_CONFIG_NODE];
$attributeNames = []; $attributeNames = [];
......
<?php
declare(strict_types=1);
namespace Dbp\Relay\CoreBundle\ExpressionLanguage\ExpressionFunctionProviders;
use Dbp\Relay\CoreBundle\Helpers\Tools;
use Symfony\Component\ExpressionLanguage\ExpressionFunction;
use Symfony\Component\ExpressionLanguage\ExpressionFunctionProviderInterface;
class StringExpressionFunctionProvider implements ExpressionFunctionProviderInterface
{
public function getFunctions(): array
{
return [
new ExpressionFunction('isNullOrEmpty',
function (string $varName): string {
return sprintf('isNullOrEmpty(%s)', $varName);
},
function ($arguments, $varName): bool {
return Tools::isNullOrEmpty($varName);
}),
];
}
}
...@@ -10,6 +10,7 @@ use Dbp\Relay\CoreBundle\ExpressionLanguage\ExpressionFunctionProviders\MapExpre ...@@ -10,6 +10,7 @@ use Dbp\Relay\CoreBundle\ExpressionLanguage\ExpressionFunctionProviders\MapExpre
use Dbp\Relay\CoreBundle\ExpressionLanguage\ExpressionFunctionProviders\PhpArrayExpressionFunctionProvider; use Dbp\Relay\CoreBundle\ExpressionLanguage\ExpressionFunctionProviders\PhpArrayExpressionFunctionProvider;
use Dbp\Relay\CoreBundle\ExpressionLanguage\ExpressionFunctionProviders\PhpNumericExpressionFunctionProvider; use Dbp\Relay\CoreBundle\ExpressionLanguage\ExpressionFunctionProviders\PhpNumericExpressionFunctionProvider;
use Dbp\Relay\CoreBundle\ExpressionLanguage\ExpressionFunctionProviders\PhpStringExpressionFunctionProvider; use Dbp\Relay\CoreBundle\ExpressionLanguage\ExpressionFunctionProviders\PhpStringExpressionFunctionProvider;
use Dbp\Relay\CoreBundle\ExpressionLanguage\ExpressionFunctionProviders\StringExpressionFunctionProvider;
use Psr\Cache\CacheItemPoolInterface; use Psr\Cache\CacheItemPoolInterface;
use Symfony\Component\ExpressionLanguage\ExpressionLanguage as SymfonyExpressionLanguage; use Symfony\Component\ExpressionLanguage\ExpressionLanguage as SymfonyExpressionLanguage;
...@@ -24,6 +25,7 @@ class ExpressionLanguage extends SymfonyExpressionLanguage ...@@ -24,6 +25,7 @@ class ExpressionLanguage extends SymfonyExpressionLanguage
new PhpNumericExpressionFunctionProvider(), new PhpNumericExpressionFunctionProvider(),
new PhpStringExpressionFunctionProvider(), new PhpStringExpressionFunctionProvider(),
new ArrayExpressionFunctionProvider(), new ArrayExpressionFunctionProvider(),
new StringExpressionFunctionProvider(),
], $providers); ], $providers);
parent::__construct($cache, $providers); parent::__construct($cache, $providers);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment