Make snip public index available if not logged in

This commit is contained in:
Tim
2025-04-14 23:48:32 +02:00
parent 22c8126cea
commit 5cec259469
5 changed files with 35 additions and 16 deletions

View File

@ -11,6 +11,10 @@ class HomeController extends AbstractController
#[Route('/', name: 'home')]
public function home(): Response
{
return $this->redirectToRoute('snip_index');
if ($this->getUser()) {
return $this->redirectToRoute('snip_index');
} else {
return $this->redirectToRoute('snip_public');
}
}
}

View File

@ -44,20 +44,26 @@ class SnipRepository extends ServiceEntityRepository
{
$qb = $this->createQueryBuilder('s');
$qb->where('s.createdBy = :user')
->setParameter('user', $user)
->orderBy('s.createdAt', 'DESC');
->setParameter('user', $user)
->orderBy('s.createdAt', 'DESC')
;
return $qb->getQuery()->getResult();
}
public function findPublic(User $user): array
public function findPublic(?User $user): array
{
$qb = $this->createQueryBuilder('s');
$qb->where('s.public = :public')
->andWhere('s.createdBy != :user')
->setParameter('public', true)
->setParameter('user', $user)
->orderBy('s.createdAt', 'DESC');
$qb = $this->createQueryBuilder('s')
->where('s.public = :public')
->setParameter('public', true)
->orderBy('s.createdAt', 'DESC')
;
if ($user) {
$qb->andWhere('s.createdBy != :user')
->setParameter('user', $user)
;
}
return $qb->getQuery()->getResult();
}