Expose the fact that a short URL has redirect rules attached to it

This commit is contained in:
Alejandro Celaya
2024-10-10 09:33:55 +02:00
parent 228bf093d3
commit 3149adebdb
4 changed files with 26 additions and 2 deletions

View File

@@ -12,6 +12,7 @@ use Doctrine\Common\Collections\Selectable;
use Shlinkio\Shlink\Common\Entity\AbstractEntity;
use Shlinkio\Shlink\Core\Domain\Entity\Domain;
use Shlinkio\Shlink\Core\Exception\ShortCodeCannotBeRegeneratedException;
use Shlinkio\Shlink\Core\RedirectRule\Entity\ShortUrlRedirectRule;
use Shlinkio\Shlink\Core\ShortUrl\Model\ShortUrlCreation;
use Shlinkio\Shlink\Core\ShortUrl\Model\ShortUrlEdition;
use Shlinkio\Shlink\Core\ShortUrl\Model\ShortUrlMode;
@@ -39,6 +40,7 @@ class ShortUrl extends AbstractEntity
* @param Collection<int, Tag> $tags
* @param Collection<int, Visit> & Selectable<int, Visit> $visits
* @param Collection<int, ShortUrlVisitsCount> & Selectable<int, ShortUrlVisitsCount> $visitsCounts
* @param Collection<int, ShortUrlRedirectRule> $redirectRules
*/
private function __construct(
private string $longUrl,
@@ -60,6 +62,7 @@ class ShortUrl extends AbstractEntity
private bool $forwardQuery = true,
private ?string $importSource = null,
private ?string $importOriginalShortCode = null,
private Collection $redirectRules = new ArrayCollection(),
) {
}
@@ -283,6 +286,7 @@ class ShortUrl extends AbstractEntity
Criteria::create()->where(Criteria::expr()->eq('potentialBot', false)),
)),
),
'hasRedirectRules' => count($this->redirectRules) > 0,
];
}
}