Files
Phraseanet/lib/Alchemy/Phrasea/Model/Repositories/ApiApplicationRepository.php
Aina Sitraka ab1ef68af2 PHRAS-3223 Admin - user details - display AuthFailure and Authprovider info (#4002)
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
2022-04-06 10:45:49 +02:00

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();
}
}