mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-12 04:23:19 +00:00
Add some application repository function
This commit is contained in:
@@ -2,7 +2,10 @@
|
||||
|
||||
namespace Alchemy\Phrasea\Model\Repositories;
|
||||
|
||||
use Alchemy\Phrasea\Model\Entities\User;
|
||||
use Doctrine\Common\Collections\ArrayCollection;
|
||||
use Doctrine\ORM\EntityRepository;
|
||||
use Doctrine\ORM\Query\Expr;
|
||||
|
||||
/**
|
||||
* ApiApplicationRepository
|
||||
@@ -12,4 +15,40 @@ use Doctrine\ORM\EntityRepository;
|
||||
*/
|
||||
class ApiApplicationRepository extends EntityRepository
|
||||
{
|
||||
public function findByClientId($clientId)
|
||||
{
|
||||
$qb = $this->createQueryBuilder('app');
|
||||
$qb->where($qb->expr()->eq('app.clientId', ':clientId'));
|
||||
$qb->setParameter(':clientId', $clientId);
|
||||
|
||||
return $qb->getQuery()->getSingleResult();
|
||||
}
|
||||
|
||||
public function findByCreator(User $user)
|
||||
{
|
||||
$qb = $this->createQueryBuilder('app');
|
||||
$qb->where($qb->expr()->eq('app.creator', ':creator'));
|
||||
$qb->setParameter(':creator', $user);
|
||||
|
||||
return $qb->getQuery()->getResult();
|
||||
}
|
||||
|
||||
public function findByUser(User $user)
|
||||
{
|
||||
$qb = $this->createQueryBuilder('app');
|
||||
$qb->innerJoin('app.accounts', 'acc', Expr\Join::WITH, $qb->expr()->eq('acc.user', ':user'));
|
||||
$qb->setParameter(':user', $user);
|
||||
|
||||
return $qb->getQuery()->getResult();
|
||||
}
|
||||
|
||||
public function findAuthorizedAppsByUser(User $user)
|
||||
{
|
||||
$qb = $this->createQueryBuilder('app');
|
||||
$qb->innerJoin('app.accounts', 'acc', Expr\Join::WITH, $qb->expr()->eq('acc.user', ':user'));
|
||||
$qb->andWhere($qb->expr()->eq('acc.revoked', $qb->expr()->literal(false)));
|
||||
$qb->setParameter(':user', $user);
|
||||
|
||||
return $qb->getQuery()->getResult();
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user