Created specs for API key roles

This commit is contained in:
Alejandro Celaya
2021-01-02 20:08:49 +01:00
parent 7e6882960e
commit df53e6c6f2
5 changed files with 93 additions and 1 deletions

View File

@@ -0,0 +1,28 @@
<?php
declare(strict_types=1);
namespace Shlinkio\Shlink\Core\ShortUrl\Spec;
use Happyr\DoctrineSpecification\BaseSpecification;
use Happyr\DoctrineSpecification\Filter\Filter;
use Happyr\DoctrineSpecification\Spec;
use Shlinkio\Shlink\Rest\Entity\ApiKey;
class BelongsToApiKey extends BaseSpecification
{
private ApiKey $apiKey;
private string $dqlAlias;
public function __construct(ApiKey $apiKey, ?string $dqlAlias = null)
{
$this->dqlAlias = $dqlAlias ?? 's';
$this->apiKey = $apiKey;
parent::__construct($this->dqlAlias);
}
protected function getSpec(): Filter
{
return Spec::eq('authorApiKey', $this->apiKey, $this->dqlAlias);
}
}

View File

@@ -0,0 +1,27 @@
<?php
declare(strict_types=1);
namespace Shlinkio\Shlink\Core\ShortUrl\Spec;
use Happyr\DoctrineSpecification\BaseSpecification;
use Happyr\DoctrineSpecification\Filter\Filter;
use Happyr\DoctrineSpecification\Spec;
class BelongsToDomain extends BaseSpecification
{
private int $domainId;
private string $dqlAlias;
public function __construct(int $domainId, ?string $dqlAlias = null)
{
$this->domainId = $domainId;
$this->dqlAlias = $dqlAlias ?? 's';
parent::__construct($this->dqlAlias);
}
protected function getSpec(): Filter
{
return Spec::eq('domain', $this->domainId, $this->dqlAlias);
}
}