Implement snip hiding
This commit is contained in:
@ -2,10 +2,12 @@
|
||||
|
||||
namespace App\Repository;
|
||||
|
||||
use App\Dto\SnipFilterRequest;
|
||||
use App\Entity\Snip;
|
||||
use App\Entity\User;
|
||||
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
|
||||
use Doctrine\Persistence\ManagerRegistry;
|
||||
use Symfony\Component\Security\Core\User\UserInterface;
|
||||
|
||||
/**
|
||||
* @extends ServiceEntityRepository<Snip>
|
||||
@ -40,12 +42,17 @@ class SnipRepository extends ServiceEntityRepository
|
||||
}
|
||||
}
|
||||
|
||||
public function findByUser(User $user): array
|
||||
public function findByRequest(UserInterface $user, SnipFilterRequest $request): array
|
||||
{
|
||||
$qb = $this->createQueryBuilder('s');
|
||||
$qb->where('s.createdBy = :user')
|
||||
->setParameter('user', $user)
|
||||
->orderBy('s.createdAt', 'DESC')
|
||||
$qb = $this
|
||||
->createQueryBuilder('s')
|
||||
->where('s.createdBy = :user')
|
||||
->setParameter('user', $user)
|
||||
->orderBy('s.createdAt', 'DESC')
|
||||
;
|
||||
|
||||
$qb->andWhere('s.visible = :visible')
|
||||
->setParameter('visible', $request->onlyVisible)
|
||||
;
|
||||
|
||||
return $qb->getQuery()->getResult();
|
||||
@ -53,10 +60,11 @@ class SnipRepository extends ServiceEntityRepository
|
||||
|
||||
public function findPublic(?User $user = null): array
|
||||
{
|
||||
$qb = $this->createQueryBuilder('s')
|
||||
->where('s.public = :public')
|
||||
->setParameter('public', true)
|
||||
->orderBy('s.createdAt', 'DESC')
|
||||
$qb = $this
|
||||
->createQueryBuilder('s')
|
||||
->where('s.public = true')
|
||||
->andWhere('s.visible = true')
|
||||
->orderBy('s.createdAt', 'DESC')
|
||||
;
|
||||
|
||||
if ($user) {
|
||||
|
Reference in New Issue
Block a user