mirror of
https://github.com/shlinkio/shlink.git
synced 2026-03-09 16:53:11 +08:00
Documented tagsMode param for short URLs list
This commit is contained in:
@@ -16,7 +16,6 @@ use Shlinkio\Shlink\Core\Entity\ShortUrl;
|
||||
use Shlinkio\Shlink\Core\Model\ShortUrlIdentifier;
|
||||
use Shlinkio\Shlink\Core\Model\ShortUrlMeta;
|
||||
use Shlinkio\Shlink\Core\Model\ShortUrlsOrdering;
|
||||
use Shlinkio\Shlink\Core\Model\ShortUrlsParams;
|
||||
use Shlinkio\Shlink\Importer\Model\ImportedShlinkUrl;
|
||||
|
||||
use function array_column;
|
||||
@@ -34,7 +33,7 @@ class ShortUrlRepository extends EntitySpecificationRepository implements ShortU
|
||||
?int $offset = null,
|
||||
?string $searchTerm = null,
|
||||
array $tags = [],
|
||||
string $tagsMode = ShortUrlsParams::TAGS_MODE_ANY,
|
||||
?string $tagsMode = null,
|
||||
?ShortUrlsOrdering $orderBy = null,
|
||||
?DateRange $dateRange = null,
|
||||
?Specification $spec = null,
|
||||
@@ -80,7 +79,7 @@ class ShortUrlRepository extends EntitySpecificationRepository implements ShortU
|
||||
public function countList(
|
||||
?string $searchTerm = null,
|
||||
array $tags = [],
|
||||
string $tagsMode = ShortUrlsParams::TAGS_MODE_ANY,
|
||||
?string $tagsMode = null,
|
||||
?DateRange $dateRange = null,
|
||||
?Specification $spec = null,
|
||||
): int {
|
||||
@@ -93,7 +92,7 @@ class ShortUrlRepository extends EntitySpecificationRepository implements ShortU
|
||||
private function createListQueryBuilder(
|
||||
?string $searchTerm,
|
||||
array $tags,
|
||||
string $tagsMode,
|
||||
?string $tagsMode,
|
||||
?DateRange $dateRange,
|
||||
?Specification $spec,
|
||||
): QueryBuilder {
|
||||
|
||||
@@ -12,7 +12,6 @@ use Shlinkio\Shlink\Core\Entity\ShortUrl;
|
||||
use Shlinkio\Shlink\Core\Model\ShortUrlIdentifier;
|
||||
use Shlinkio\Shlink\Core\Model\ShortUrlMeta;
|
||||
use Shlinkio\Shlink\Core\Model\ShortUrlsOrdering;
|
||||
use Shlinkio\Shlink\Core\Model\ShortUrlsParams;
|
||||
use Shlinkio\Shlink\Importer\Model\ImportedShlinkUrl;
|
||||
|
||||
interface ShortUrlRepositoryInterface extends ObjectRepository, EntitySpecificationRepositoryInterface
|
||||
@@ -22,7 +21,7 @@ interface ShortUrlRepositoryInterface extends ObjectRepository, EntitySpecificat
|
||||
?int $offset = null,
|
||||
?string $searchTerm = null,
|
||||
array $tags = [],
|
||||
string $tagsMode = ShortUrlsParams::TAGS_MODE_ANY,
|
||||
?string $tagsMode = null,
|
||||
?ShortUrlsOrdering $orderBy = null,
|
||||
?DateRange $dateRange = null,
|
||||
?Specification $spec = null,
|
||||
@@ -31,7 +30,7 @@ interface ShortUrlRepositoryInterface extends ObjectRepository, EntitySpecificat
|
||||
public function countList(
|
||||
?string $searchTerm = null,
|
||||
array $tags = [],
|
||||
string $tagsMode = ShortUrlsParams::TAGS_MODE_ANY,
|
||||
?string $tagsMode = null,
|
||||
?DateRange $dateRange = null,
|
||||
?Specification $spec = null,
|
||||
): int;
|
||||
|
||||
@@ -14,7 +14,6 @@ use Shlinkio\Shlink\Core\Entity\Visit;
|
||||
use Shlinkio\Shlink\Core\Model\ShortUrlIdentifier;
|
||||
use Shlinkio\Shlink\Core\Model\ShortUrlMeta;
|
||||
use Shlinkio\Shlink\Core\Model\ShortUrlsOrdering;
|
||||
use Shlinkio\Shlink\Core\Model\ShortUrlsParams;
|
||||
use Shlinkio\Shlink\Core\Model\Visitor;
|
||||
use Shlinkio\Shlink\Core\Repository\ShortUrlRepository;
|
||||
use Shlinkio\Shlink\Core\ShortUrl\Resolver\PersistenceShortUrlRelationResolver;
|
||||
@@ -128,29 +127,28 @@ class ShortUrlRepositoryTest extends DatabaseTestCase
|
||||
|
||||
self::assertCount(1, $this->repo->findList(2, 2));
|
||||
|
||||
$tagsModeAll = ShortUrlsParams::TAGS_MODE_ANY;
|
||||
$result = $this->repo->findList(null, null, null, [], $tagsModeAll, ShortUrlsOrdering::fromRawData([
|
||||
$result = $this->repo->findList(null, null, null, [], null, ShortUrlsOrdering::fromRawData([
|
||||
'orderBy' => 'visits-DESC',
|
||||
]));
|
||||
self::assertCount(3, $result);
|
||||
self::assertSame($bar, $result[0]);
|
||||
|
||||
$result = $this->repo->findList(null, null, null, [], $tagsModeAll, null, DateRange::withEndDate(
|
||||
$result = $this->repo->findList(null, null, null, [], null, null, DateRange::withEndDate(
|
||||
Chronos::now()->subDays(2),
|
||||
));
|
||||
self::assertCount(1, $result);
|
||||
self::assertEquals(1, $this->repo->countList(null, [], $tagsModeAll, DateRange::withEndDate(
|
||||
self::assertEquals(1, $this->repo->countList(null, [], null, DateRange::withEndDate(
|
||||
Chronos::now()->subDays(2),
|
||||
)));
|
||||
self::assertSame($foo2, $result[0]);
|
||||
|
||||
self::assertCount(
|
||||
2,
|
||||
$this->repo->findList(null, null, null, [], $tagsModeAll, null, DateRange::withStartDate(
|
||||
$this->repo->findList(null, null, null, [], null, null, DateRange::withStartDate(
|
||||
Chronos::now()->subDays(2),
|
||||
)),
|
||||
);
|
||||
self::assertEquals(2, $this->repo->countList(null, [], $tagsModeAll, DateRange::withStartDate(
|
||||
self::assertEquals(2, $this->repo->countList(null, [], null, DateRange::withStartDate(
|
||||
Chronos::now()->subDays(2),
|
||||
)));
|
||||
}
|
||||
@@ -165,14 +163,9 @@ class ShortUrlRepositoryTest extends DatabaseTestCase
|
||||
|
||||
$this->getEntityManager()->flush();
|
||||
|
||||
$result = $this->repo->findList(
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
[],
|
||||
ShortUrlsParams::TAGS_MODE_ANY,
|
||||
ShortUrlsOrdering::fromRawData(['orderBy' => 'longUrl-ASC']),
|
||||
);
|
||||
$result = $this->repo->findList(null, null, null, [], null, ShortUrlsOrdering::fromRawData([
|
||||
'orderBy' => 'longUrl-ASC',
|
||||
]));
|
||||
|
||||
self::assertCount(count($urls), $result);
|
||||
self::assertEquals('a', $result[0]->getLongUrl());
|
||||
|
||||
Reference in New Issue
Block a user