mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-09 19:13:26 +00:00

PHRAS-3223 * add auth failure tab * auth provider list * api oauth code list * fix limit * delete modificaiton date * add mail locked only filter * add badge on api list
83 lines
2.3 KiB
PHP
83 lines
2.3 KiB
PHP
<?php
|
|
|
|
namespace Alchemy\Phrasea\Model\Repositories;
|
|
|
|
use Alchemy\Phrasea\Model\Entities\ApiApplication;
|
|
use Alchemy\Phrasea\Model\Entities\User;
|
|
use Doctrine\ORM\EntityRepository;
|
|
use Doctrine\ORM\Query\Expr;
|
|
|
|
/**
|
|
* ApiApplicationRepository
|
|
*
|
|
* This class was generated by the Doctrine ORM. Add your own custom
|
|
* repository methods below.
|
|
*/
|
|
class ApiApplicationRepository extends EntityRepository
|
|
{
|
|
/**
|
|
* @param $clientId
|
|
* @return ApiApplication
|
|
* @throws \Doctrine\ORM\NonUniqueResultException
|
|
*/
|
|
public function findByClientId($clientId)
|
|
{
|
|
$qb = $this->createQueryBuilder('app');
|
|
$qb->where($qb->expr()->eq('app.clientId', ':clientId'));
|
|
$qb->setParameter(':clientId', $clientId);
|
|
|
|
return $qb->getQuery()->getOneOrNullResult();
|
|
}
|
|
|
|
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();
|
|
}
|
|
|
|
/**
|
|
* @param User $user
|
|
* @param boolean $sorted
|
|
* @return ApiApplication[]
|
|
*/
|
|
public function findByUser(User $user, $sorted = false)
|
|
{
|
|
$qb = $this->createQueryBuilder('app');
|
|
$qb->innerJoin('app.accounts', 'acc', Expr\Join::WITH, $qb->expr()->eq('acc.user', ':user'));
|
|
if ($sorted) {
|
|
$qb
|
|
->orderBy('app.creator', 'ASC')
|
|
->addOrderBy('app.id', 'DESC')
|
|
;
|
|
}
|
|
$qb->setParameter(':user', $user);
|
|
|
|
return $qb->getQuery()->getResult();
|
|
}
|
|
|
|
/**
|
|
* @param User $user
|
|
* @return ApiApplication[]
|
|
*/
|
|
public function findAuthorizedAppsByUser(User $user)
|
|
{
|
|
$qb = $this->createQueryBuilder('app');
|
|
$qb->innerJoin('app.accounts', 'acc', Expr\Join::WITH, $qb->expr()->eq('acc.user', ':user'));
|
|
$qb->where($qb->expr()->eq('acc.revoked', $qb->expr()->literal(false)));
|
|
$qb->setParameter(':user', $user);
|
|
|
|
return $qb->getQuery()->getResult();
|
|
}
|
|
|
|
public function findWithDefinedWebhookCallback()
|
|
{
|
|
$qb = $this->createQueryBuilder('app');
|
|
$qb->where($qb->expr()->isNotNull('app.webhookUrl'));
|
|
|
|
return $qb->getQuery()->getResult();
|
|
}
|
|
}
|