mirror of
https://github.com/shlinkio/shlink.git
synced 2024-11-24 09:50:17 -06:00
Rename ShortUrlWithVisitsSummary to ShortUrlWithDeps
This commit is contained in:
parent
d7ecef94f2
commit
eae001a34a
@ -13,7 +13,7 @@ use Shlinkio\Shlink\Common\Paginator\Util\PagerfantaUtils;
|
|||||||
use Shlinkio\Shlink\Core\Domain\Entity\Domain;
|
use Shlinkio\Shlink\Core\Domain\Entity\Domain;
|
||||||
use Shlinkio\Shlink\Core\ShortUrl\Entity\ShortUrl;
|
use Shlinkio\Shlink\Core\ShortUrl\Entity\ShortUrl;
|
||||||
use Shlinkio\Shlink\Core\ShortUrl\Model\ShortUrlsParams;
|
use Shlinkio\Shlink\Core\ShortUrl\Model\ShortUrlsParams;
|
||||||
use Shlinkio\Shlink\Core\ShortUrl\Model\ShortUrlWithVisitsSummary;
|
use Shlinkio\Shlink\Core\ShortUrl\Model\ShortUrlWithDeps;
|
||||||
use Shlinkio\Shlink\Core\ShortUrl\Model\TagsMode;
|
use Shlinkio\Shlink\Core\ShortUrl\Model\TagsMode;
|
||||||
use Shlinkio\Shlink\Core\ShortUrl\Model\Validation\ShortUrlsParamsInputFilter;
|
use Shlinkio\Shlink\Core\ShortUrl\Model\Validation\ShortUrlsParamsInputFilter;
|
||||||
use Shlinkio\Shlink\Core\ShortUrl\ShortUrlListServiceInterface;
|
use Shlinkio\Shlink\Core\ShortUrl\ShortUrlListServiceInterface;
|
||||||
@ -186,7 +186,7 @@ class ListShortUrlsCommand extends Command
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @param array<string, callable(array $serializedShortUrl, ShortUrl $shortUrl): ?string> $columnsMap
|
* @param array<string, callable(array $serializedShortUrl, ShortUrl $shortUrl): ?string> $columnsMap
|
||||||
* @return Paginator<ShortUrlWithVisitsSummary>
|
* @return Paginator<ShortUrlWithDeps>
|
||||||
*/
|
*/
|
||||||
private function renderPage(
|
private function renderPage(
|
||||||
OutputInterface $output,
|
OutputInterface $output,
|
||||||
@ -196,7 +196,7 @@ class ListShortUrlsCommand extends Command
|
|||||||
): Paginator {
|
): Paginator {
|
||||||
$shortUrls = $this->shortUrlService->listShortUrls($params);
|
$shortUrls = $this->shortUrlService->listShortUrls($params);
|
||||||
|
|
||||||
$rows = map([...$shortUrls], function (ShortUrlWithVisitsSummary $shortUrl) use ($columnsMap) {
|
$rows = map([...$shortUrls], function (ShortUrlWithDeps $shortUrl) use ($columnsMap) {
|
||||||
$serializedShortUrl = $this->transformer->transform($shortUrl);
|
$serializedShortUrl = $this->transformer->transform($shortUrl);
|
||||||
return map($columnsMap, fn (callable $call) => $call($serializedShortUrl, $shortUrl->shortUrl));
|
return map($columnsMap, fn (callable $call) => $call($serializedShortUrl, $shortUrl->shortUrl));
|
||||||
});
|
});
|
||||||
|
@ -16,7 +16,7 @@ use Shlinkio\Shlink\Core\ShortUrl\Entity\ShortUrl;
|
|||||||
use Shlinkio\Shlink\Core\ShortUrl\Helper\ShortUrlStringifier;
|
use Shlinkio\Shlink\Core\ShortUrl\Helper\ShortUrlStringifier;
|
||||||
use Shlinkio\Shlink\Core\ShortUrl\Model\ShortUrlCreation;
|
use Shlinkio\Shlink\Core\ShortUrl\Model\ShortUrlCreation;
|
||||||
use Shlinkio\Shlink\Core\ShortUrl\Model\ShortUrlsParams;
|
use Shlinkio\Shlink\Core\ShortUrl\Model\ShortUrlsParams;
|
||||||
use Shlinkio\Shlink\Core\ShortUrl\Model\ShortUrlWithVisitsSummary;
|
use Shlinkio\Shlink\Core\ShortUrl\Model\ShortUrlWithDeps;
|
||||||
use Shlinkio\Shlink\Core\ShortUrl\Model\TagsMode;
|
use Shlinkio\Shlink\Core\ShortUrl\Model\TagsMode;
|
||||||
use Shlinkio\Shlink\Core\ShortUrl\ShortUrlListServiceInterface;
|
use Shlinkio\Shlink\Core\ShortUrl\ShortUrlListServiceInterface;
|
||||||
use Shlinkio\Shlink\Core\ShortUrl\Transformer\ShortUrlDataTransformer;
|
use Shlinkio\Shlink\Core\ShortUrl\Transformer\ShortUrlDataTransformer;
|
||||||
@ -48,7 +48,7 @@ class ListShortUrlsCommandTest extends TestCase
|
|||||||
// The paginator will return more than one page
|
// The paginator will return more than one page
|
||||||
$data = [];
|
$data = [];
|
||||||
for ($i = 0; $i < 50; $i++) {
|
for ($i = 0; $i < 50; $i++) {
|
||||||
$data[] = ShortUrlWithVisitsSummary::fromShortUrl(ShortUrl::withLongUrl('https://url_' . $i));
|
$data[] = ShortUrlWithDeps::fromShortUrl(ShortUrl::withLongUrl('https://url_' . $i));
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->shortUrlService->expects($this->exactly(3))->method('listShortUrls')->withAnyParameters()
|
$this->shortUrlService->expects($this->exactly(3))->method('listShortUrls')->withAnyParameters()
|
||||||
@ -70,7 +70,7 @@ class ListShortUrlsCommandTest extends TestCase
|
|||||||
// The paginator will return more than one page
|
// The paginator will return more than one page
|
||||||
$data = [];
|
$data = [];
|
||||||
for ($i = 0; $i < 30; $i++) {
|
for ($i = 0; $i < 30; $i++) {
|
||||||
$data[] = ShortUrlWithVisitsSummary::fromShortUrl(ShortUrl::withLongUrl('https://url_' . $i));
|
$data[] = ShortUrlWithDeps::fromShortUrl(ShortUrl::withLongUrl('https://url_' . $i));
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->shortUrlService->expects($this->once())->method('listShortUrls')->with(
|
$this->shortUrlService->expects($this->once())->method('listShortUrls')->with(
|
||||||
@ -112,7 +112,7 @@ class ListShortUrlsCommandTest extends TestCase
|
|||||||
$this->shortUrlService->expects($this->once())->method('listShortUrls')->with(
|
$this->shortUrlService->expects($this->once())->method('listShortUrls')->with(
|
||||||
ShortUrlsParams::empty(),
|
ShortUrlsParams::empty(),
|
||||||
)->willReturn(new Paginator(new ArrayAdapter([
|
)->willReturn(new Paginator(new ArrayAdapter([
|
||||||
ShortUrlWithVisitsSummary::fromShortUrl(
|
ShortUrlWithDeps::fromShortUrl(
|
||||||
ShortUrl::create(ShortUrlCreation::fromRawData([
|
ShortUrl::create(ShortUrlCreation::fromRawData([
|
||||||
'longUrl' => 'https://foo.com',
|
'longUrl' => 'https://foo.com',
|
||||||
'tags' => ['foo', 'bar', 'baz'],
|
'tags' => ['foo', 'bar', 'baz'],
|
||||||
|
@ -7,7 +7,7 @@ namespace Shlinkio\Shlink\Core\ShortUrl\Model;
|
|||||||
use Shlinkio\Shlink\Core\ShortUrl\Entity\ShortUrl;
|
use Shlinkio\Shlink\Core\ShortUrl\Entity\ShortUrl;
|
||||||
use Shlinkio\Shlink\Core\Visit\Model\VisitsSummary;
|
use Shlinkio\Shlink\Core\Visit\Model\VisitsSummary;
|
||||||
|
|
||||||
final readonly class ShortUrlWithVisitsSummary
|
final readonly class ShortUrlWithDeps
|
||||||
{
|
{
|
||||||
private function __construct(
|
private function __construct(
|
||||||
public ShortUrl $shortUrl,
|
public ShortUrl $shortUrl,
|
@ -6,13 +6,13 @@ namespace Shlinkio\Shlink\Core\ShortUrl\Paginator\Adapter;
|
|||||||
|
|
||||||
use Pagerfanta\Adapter\AdapterInterface;
|
use Pagerfanta\Adapter\AdapterInterface;
|
||||||
use Shlinkio\Shlink\Core\ShortUrl\Model\ShortUrlsParams;
|
use Shlinkio\Shlink\Core\ShortUrl\Model\ShortUrlsParams;
|
||||||
use Shlinkio\Shlink\Core\ShortUrl\Model\ShortUrlWithVisitsSummary;
|
use Shlinkio\Shlink\Core\ShortUrl\Model\ShortUrlWithDeps;
|
||||||
use Shlinkio\Shlink\Core\ShortUrl\Persistence\ShortUrlsCountFiltering;
|
use Shlinkio\Shlink\Core\ShortUrl\Persistence\ShortUrlsCountFiltering;
|
||||||
use Shlinkio\Shlink\Core\ShortUrl\Persistence\ShortUrlsListFiltering;
|
use Shlinkio\Shlink\Core\ShortUrl\Persistence\ShortUrlsListFiltering;
|
||||||
use Shlinkio\Shlink\Core\ShortUrl\Repository\ShortUrlListRepositoryInterface;
|
use Shlinkio\Shlink\Core\ShortUrl\Repository\ShortUrlListRepositoryInterface;
|
||||||
use Shlinkio\Shlink\Rest\Entity\ApiKey;
|
use Shlinkio\Shlink\Rest\Entity\ApiKey;
|
||||||
|
|
||||||
/** @implements AdapterInterface<ShortUrlWithVisitsSummary> */
|
/** @implements AdapterInterface<ShortUrlWithDeps> */
|
||||||
readonly class ShortUrlRepositoryAdapter implements AdapterInterface
|
readonly class ShortUrlRepositoryAdapter implements AdapterInterface
|
||||||
{
|
{
|
||||||
public function __construct(
|
public function __construct(
|
||||||
|
@ -12,7 +12,7 @@ use Shlinkio\Shlink\Common\Doctrine\Type\ChronosDateTimeType;
|
|||||||
use Shlinkio\Shlink\Core\Domain\Entity\Domain;
|
use Shlinkio\Shlink\Core\Domain\Entity\Domain;
|
||||||
use Shlinkio\Shlink\Core\ShortUrl\Entity\ShortUrl;
|
use Shlinkio\Shlink\Core\ShortUrl\Entity\ShortUrl;
|
||||||
use Shlinkio\Shlink\Core\ShortUrl\Model\OrderableField;
|
use Shlinkio\Shlink\Core\ShortUrl\Model\OrderableField;
|
||||||
use Shlinkio\Shlink\Core\ShortUrl\Model\ShortUrlWithVisitsSummary;
|
use Shlinkio\Shlink\Core\ShortUrl\Model\ShortUrlWithDeps;
|
||||||
use Shlinkio\Shlink\Core\ShortUrl\Model\TagsMode;
|
use Shlinkio\Shlink\Core\ShortUrl\Model\TagsMode;
|
||||||
use Shlinkio\Shlink\Core\ShortUrl\Persistence\ShortUrlsCountFiltering;
|
use Shlinkio\Shlink\Core\ShortUrl\Persistence\ShortUrlsCountFiltering;
|
||||||
use Shlinkio\Shlink\Core\ShortUrl\Persistence\ShortUrlsListFiltering;
|
use Shlinkio\Shlink\Core\ShortUrl\Persistence\ShortUrlsListFiltering;
|
||||||
@ -25,7 +25,7 @@ use function sprintf;
|
|||||||
class ShortUrlListRepository extends EntitySpecificationRepository implements ShortUrlListRepositoryInterface
|
class ShortUrlListRepository extends EntitySpecificationRepository implements ShortUrlListRepositoryInterface
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @return ShortUrlWithVisitsSummary[]
|
* @return ShortUrlWithDeps[]
|
||||||
*/
|
*/
|
||||||
public function findList(ShortUrlsListFiltering $filtering): array
|
public function findList(ShortUrlsListFiltering $filtering): array
|
||||||
{
|
{
|
||||||
@ -59,7 +59,7 @@ class ShortUrlListRepository extends EntitySpecificationRepository implements Sh
|
|||||||
|
|
||||||
/** @var array{shortUrl: ShortUrl, visits: string, nonBotVisits: string, authority: string|null}[] $result */
|
/** @var array{shortUrl: ShortUrl, visits: string, nonBotVisits: string, authority: string|null}[] $result */
|
||||||
$result = $qb->getQuery()->getResult();
|
$result = $qb->getQuery()->getResult();
|
||||||
return map($result, static fn (array $s) => ShortUrlWithVisitsSummary::fromArray($s));
|
return map($result, static fn (array $s) => ShortUrlWithDeps::fromArray($s));
|
||||||
}
|
}
|
||||||
|
|
||||||
private function processOrderByForList(QueryBuilder $qb, ShortUrlsListFiltering $filtering): void
|
private function processOrderByForList(QueryBuilder $qb, ShortUrlsListFiltering $filtering): void
|
||||||
|
@ -4,14 +4,14 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace Shlinkio\Shlink\Core\ShortUrl\Repository;
|
namespace Shlinkio\Shlink\Core\ShortUrl\Repository;
|
||||||
|
|
||||||
use Shlinkio\Shlink\Core\ShortUrl\Model\ShortUrlWithVisitsSummary;
|
use Shlinkio\Shlink\Core\ShortUrl\Model\ShortUrlWithDeps;
|
||||||
use Shlinkio\Shlink\Core\ShortUrl\Persistence\ShortUrlsCountFiltering;
|
use Shlinkio\Shlink\Core\ShortUrl\Persistence\ShortUrlsCountFiltering;
|
||||||
use Shlinkio\Shlink\Core\ShortUrl\Persistence\ShortUrlsListFiltering;
|
use Shlinkio\Shlink\Core\ShortUrl\Persistence\ShortUrlsListFiltering;
|
||||||
|
|
||||||
interface ShortUrlListRepositoryInterface
|
interface ShortUrlListRepositoryInterface
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @return ShortUrlWithVisitsSummary[]
|
* @return ShortUrlWithDeps[]
|
||||||
*/
|
*/
|
||||||
public function findList(ShortUrlsListFiltering $filtering): array;
|
public function findList(ShortUrlsListFiltering $filtering): array;
|
||||||
|
|
||||||
|
@ -6,13 +6,13 @@ namespace Shlinkio\Shlink\Core\ShortUrl;
|
|||||||
|
|
||||||
use Shlinkio\Shlink\Common\Paginator\Paginator;
|
use Shlinkio\Shlink\Common\Paginator\Paginator;
|
||||||
use Shlinkio\Shlink\Core\ShortUrl\Model\ShortUrlsParams;
|
use Shlinkio\Shlink\Core\ShortUrl\Model\ShortUrlsParams;
|
||||||
use Shlinkio\Shlink\Core\ShortUrl\Model\ShortUrlWithVisitsSummary;
|
use Shlinkio\Shlink\Core\ShortUrl\Model\ShortUrlWithDeps;
|
||||||
use Shlinkio\Shlink\Rest\Entity\ApiKey;
|
use Shlinkio\Shlink\Rest\Entity\ApiKey;
|
||||||
|
|
||||||
interface ShortUrlListServiceInterface
|
interface ShortUrlListServiceInterface
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @return Paginator<ShortUrlWithVisitsSummary>
|
* @return Paginator<ShortUrlWithDeps>
|
||||||
*/
|
*/
|
||||||
public function listShortUrls(ShortUrlsParams $params, ApiKey|null $apiKey = null): Paginator;
|
public function listShortUrls(ShortUrlsParams $params, ApiKey|null $apiKey = null): Paginator;
|
||||||
}
|
}
|
||||||
|
@ -7,7 +7,7 @@ namespace Shlinkio\Shlink\Core\ShortUrl\Transformer;
|
|||||||
use Shlinkio\Shlink\Core\ShortUrl\Entity\ShortUrl;
|
use Shlinkio\Shlink\Core\ShortUrl\Entity\ShortUrl;
|
||||||
use Shlinkio\Shlink\Core\ShortUrl\Helper\ShortUrlStringifierInterface;
|
use Shlinkio\Shlink\Core\ShortUrl\Helper\ShortUrlStringifierInterface;
|
||||||
use Shlinkio\Shlink\Core\ShortUrl\Model\ShortUrlIdentifier;
|
use Shlinkio\Shlink\Core\ShortUrl\Model\ShortUrlIdentifier;
|
||||||
use Shlinkio\Shlink\Core\ShortUrl\Model\ShortUrlWithVisitsSummary;
|
use Shlinkio\Shlink\Core\ShortUrl\Model\ShortUrlWithDeps;
|
||||||
|
|
||||||
readonly class ShortUrlDataTransformer implements ShortUrlDataTransformerInterface
|
readonly class ShortUrlDataTransformer implements ShortUrlDataTransformerInterface
|
||||||
{
|
{
|
||||||
@ -15,7 +15,7 @@ readonly class ShortUrlDataTransformer implements ShortUrlDataTransformerInterfa
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public function transform(ShortUrlWithVisitsSummary|ShortUrl $shortUrl): array
|
public function transform(ShortUrlWithDeps|ShortUrl $shortUrl): array
|
||||||
{
|
{
|
||||||
$shortUrlIdentifier = $shortUrl instanceof ShortUrl
|
$shortUrlIdentifier = $shortUrl instanceof ShortUrl
|
||||||
? ShortUrlIdentifier::fromShortUrl($shortUrl)
|
? ShortUrlIdentifier::fromShortUrl($shortUrl)
|
||||||
|
@ -5,9 +5,9 @@ declare(strict_types=1);
|
|||||||
namespace Shlinkio\Shlink\Core\ShortUrl\Transformer;
|
namespace Shlinkio\Shlink\Core\ShortUrl\Transformer;
|
||||||
|
|
||||||
use Shlinkio\Shlink\Core\ShortUrl\Entity\ShortUrl;
|
use Shlinkio\Shlink\Core\ShortUrl\Entity\ShortUrl;
|
||||||
use Shlinkio\Shlink\Core\ShortUrl\Model\ShortUrlWithVisitsSummary;
|
use Shlinkio\Shlink\Core\ShortUrl\Model\ShortUrlWithDeps;
|
||||||
|
|
||||||
interface ShortUrlDataTransformerInterface
|
interface ShortUrlDataTransformerInterface
|
||||||
{
|
{
|
||||||
public function transform(ShortUrlWithVisitsSummary|ShortUrl $shortUrl): array;
|
public function transform(ShortUrlWithDeps|ShortUrl $shortUrl): array;
|
||||||
}
|
}
|
||||||
|
@ -14,7 +14,7 @@ use Shlinkio\Shlink\Core\Model\Ordering;
|
|||||||
use Shlinkio\Shlink\Core\ShortUrl\Entity\ShortUrl;
|
use Shlinkio\Shlink\Core\ShortUrl\Entity\ShortUrl;
|
||||||
use Shlinkio\Shlink\Core\ShortUrl\Model\OrderableField;
|
use Shlinkio\Shlink\Core\ShortUrl\Model\OrderableField;
|
||||||
use Shlinkio\Shlink\Core\ShortUrl\Model\ShortUrlCreation;
|
use Shlinkio\Shlink\Core\ShortUrl\Model\ShortUrlCreation;
|
||||||
use Shlinkio\Shlink\Core\ShortUrl\Model\ShortUrlWithVisitsSummary;
|
use Shlinkio\Shlink\Core\ShortUrl\Model\ShortUrlWithDeps;
|
||||||
use Shlinkio\Shlink\Core\ShortUrl\Model\TagsMode;
|
use Shlinkio\Shlink\Core\ShortUrl\Model\TagsMode;
|
||||||
use Shlinkio\Shlink\Core\ShortUrl\Persistence\ShortUrlsCountFiltering;
|
use Shlinkio\Shlink\Core\ShortUrl\Persistence\ShortUrlsCountFiltering;
|
||||||
use Shlinkio\Shlink\Core\ShortUrl\Persistence\ShortUrlsListFiltering;
|
use Shlinkio\Shlink\Core\ShortUrl\Persistence\ShortUrlsListFiltering;
|
||||||
@ -97,7 +97,7 @@ class ShortUrlListRepositoryTest extends DatabaseTestCase
|
|||||||
$result = $this->repo->findList(new ShortUrlsListFiltering(searchTerm: 'bar'));
|
$result = $this->repo->findList(new ShortUrlsListFiltering(searchTerm: 'bar'));
|
||||||
self::assertCount(2, $result);
|
self::assertCount(2, $result);
|
||||||
self::assertEquals(2, $this->repo->countList(new ShortUrlsCountFiltering('bar')));
|
self::assertEquals(2, $this->repo->countList(new ShortUrlsCountFiltering('bar')));
|
||||||
self::assertContains($foo, map($result, fn (ShortUrlWithVisitsSummary $s) => $s->shortUrl));
|
self::assertContains($foo, map($result, fn (ShortUrlWithDeps $s) => $s->shortUrl));
|
||||||
|
|
||||||
$result = $this->repo->findList(new ShortUrlsListFiltering());
|
$result = $this->repo->findList(new ShortUrlsListFiltering());
|
||||||
self::assertCount(3, $result);
|
self::assertCount(3, $result);
|
||||||
|
Loading…
Reference in New Issue
Block a user