Spaces:
No application file
No application file
namespace Mautic\ApiBundle\Entity\oAuth2; | |
use Doctrine\ORM\Tools\Pagination\Paginator; | |
use Mautic\CoreBundle\Entity\CommonRepository; | |
use Mautic\UserBundle\Entity\User; | |
/** | |
* @extends CommonRepository<Client> | |
*/ | |
class ClientRepository extends CommonRepository | |
{ | |
/** | |
* @return array | |
*/ | |
public function getUserClients(User $user) | |
{ | |
$query = $this->createQueryBuilder($this->getTableAlias()); | |
$query->join('c.users', 'u') | |
->where($query->expr()->eq('u.id', ':userId')) | |
->setParameter('userId', $user->getId()); | |
return $query->getQuery()->getResult(); | |
} | |
/** | |
* @return Paginator<Client> | |
*/ | |
public function getEntities(array $args = []): Paginator | |
{ | |
$q = $this | |
->createQueryBuilder('c'); | |
$query = $q->getQuery(); | |
return new Paginator($query); | |
} | |
protected function addCatchAllWhereClause($q, $filter): array | |
{ | |
return $this->addStandardCatchAllWhereClause($q, $filter, [ | |
'c.name', | |
'c.redirectUris', | |
]); | |
} | |
protected function getDefaultOrder(): array | |
{ | |
return [ | |
['c.name', 'ASC'], | |
]; | |
} | |
public function getTableAlias(): string | |
{ | |
return 'c'; | |
} | |
} | |