VisitsTrackerInterface.php 712 B

123456789101112131415161718192021222324252627
  1. <?php
  2. declare(strict_types=1);
  3. namespace Shlinkio\Shlink\Core\Service;
  4. use Laminas\Paginator\Paginator;
  5. use Shlinkio\Shlink\Core\Entity\Visit;
  6. use Shlinkio\Shlink\Core\Exception\ShortUrlNotFoundException;
  7. use Shlinkio\Shlink\Core\Model\Visitor;
  8. use Shlinkio\Shlink\Core\Model\VisitsParams;
  9. interface VisitsTrackerInterface
  10. {
  11. /**
  12. * Tracks a new visit to provided short code from provided visitor
  13. */
  14. public function track(string $shortCode, Visitor $visitor): void;
  15. /**
  16. * Returns the visits on certain short code
  17. *
  18. * @return Visit[]|Paginator
  19. * @throws ShortUrlNotFoundException
  20. */
  21. public function info(string $shortCode, VisitsParams $params): Paginator;
  22. }