You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

47 lines
1.5KB

  1. <?php
  2. namespace Lc\SovBundle\Repository\Ticket;
  3. use Lc\SovBundle\Model\User\UserInterface;
  4. use Lc\SovBundle\Repository\RepositoryQueryInterface;
  5. interface TicketStoreInterface
  6. {
  7. public function createDefaultQuery(RepositoryQueryInterface $query = null): RepositoryQueryInterface;
  8. public function createQuery(RepositoryQueryInterface $query = null): RepositoryQueryInterface;
  9. public function getRepositoryQuery();
  10. public function getOneById(int $id);
  11. public function getOneBySlug(string $slug, bool $isOnline = true, $query = null);
  12. public function getOneByDevAlias(string $devAlias, $query = null);
  13. public function getOneOnlineByDevAlias(string $devAlias, $query = null);
  14. public function getOneByOldUrl(string $oldUrl, $query = null);
  15. public function get($query = null);
  16. public function getAll($query = null);
  17. public function getOnline($query = null);
  18. public function getParent(bool $isOnline = true, $query = null);
  19. public function orderByDefault(RepositoryQueryInterface $query): RepositoryQueryInterface;
  20. public function filtersDefault(RepositoryQueryInterface $query): RepositoryQueryInterface;
  21. public function relationsDefault(RepositoryQueryInterface $query): RepositoryQueryInterface;
  22. public function getByUser(UserInterface $user, $query = null): array;
  23. public function getOpen(int $limit = 0, $query = null): array;
  24. public function countOpen($query = null): string;
  25. public function getOneByIdAndVisitorToken(int $id, string $token, $query = null);
  26. }