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\User;
  3. use App\Entity\Newsletter\Newsletter;
  4. use Lc\SovBundle\Repository\RepositoryQueryInterface;
  5. interface UserStoreInterface
  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 getByNewsletter(Newsletter $newsletter, $query = null): array;
  23. public function getByRole(string $role, $query = null): array;
  24. public function getByTicketTypesNotification(string $ticketType, $query = null): array;
  25. public function getOneByEmail(string $email, $query = null);
  26. }