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.

76 lines
2.0KB

  1. <?php
  2. namespace Lc\SovBundle\Repository\Ticket;
  3. use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
  4. use Doctrine\ORM\QueryBuilder;
  5. use Lc\SovBundle\Doctrine\EntityInterface;
  6. use Lc\SovBundle\Model\User\UserInterface;
  7. use Lc\SovBundle\Repository\AbstractRepositoryQuery;
  8. interface TicketRepositoryQueryInterface
  9. {
  10. public function create();
  11. public function call(callable $fn);
  12. public function count();
  13. public function findOne();
  14. public function find(): array;
  15. public function limit(int $maxResults);
  16. public function paginate(int $page = 1, int $limit = 20);
  17. public function getRepository(): ServiceEntityRepository;
  18. public function getQueryBuilder(): QueryBuilder;
  19. public function groupBy(string $field);
  20. public function orderBy(string $field, string $sort = 'ASC');
  21. public function filterById(int $id);
  22. public function andWhereEqual($field, $value);
  23. public function filterByOldUrl(string $oldUrl);
  24. public function resetRelationsJoin(): void;
  25. public function filterByDevAlias(string $devAlias);
  26. public function filterBySlug(string $slug);
  27. public function filterIsParent();
  28. public function filterIsChildren();
  29. public function filterByParent(EntityInterface $parent = null);
  30. public function filterIsOffline();
  31. public function filterIsOnline();
  32. public function filterIsDeleted();
  33. public function filterIsOnlineAndOffline();
  34. public function filterByUser(UserInterface $user): TicketRepositoryQueryInterface;
  35. public function joinUser(): TicketRepositoryQueryInterface;
  36. public function filterByStatus($statusArray): TicketRepositoryQueryInterface;
  37. public function filterByFirstname(string $firstname);
  38. public function filterByLastname(string $lastname);
  39. public function filterByEmail(string $email);
  40. public function selectCount(): TicketRepositoryQueryInterface;
  41. public function filterByVisitorToken(string $visitorToken): TicketRepositoryQueryInterface;
  42. }