1
0
Fork 0
mirror of https://github.com/wallabag/wallabag.git synced 2025-10-20 19:52:09 +00:00

Add public filter/field in the API

Listing entries can now be filtered by “public”.
Creating or patching an entry can now set is to public or remove the public.
Entry response now include “is_public” boolean field
This commit is contained in:
Jeremy Benoist 2017-06-10 15:31:57 +02:00
parent e8911f7c09
commit 1112e54772
No known key found for this signature in database
GPG key ID: BCA73962457ACC3C
4 changed files with 88 additions and 6 deletions

View file

@ -135,6 +135,7 @@ class EntryRepository extends EntityRepository
* @param int $userId
* @param bool $isArchived
* @param bool $isStarred
* @param bool $isPublic
* @param string $sort
* @param string $order
* @param int $since
@ -142,18 +143,22 @@ class EntryRepository extends EntityRepository
*
* @return array
*/
public function findEntries($userId, $isArchived = null, $isStarred = null, $sort = 'created', $order = 'ASC', $since = 0, $tags = '')
public function findEntries($userId, $isArchived = null, $isStarred = null, $isPublic = null, $sort = 'created', $order = 'ASC', $since = 0, $tags = '')
{
$qb = $this->createQueryBuilder('e')
->leftJoin('e.tags', 't')
->where('e.user =:userId')->setParameter('userId', $userId);
if (null !== $isArchived) {
$qb->andWhere('e.isArchived =:isArchived')->setParameter('isArchived', (bool) $isArchived);
$qb->andWhere('e.isArchived = :isArchived')->setParameter('isArchived', (bool) $isArchived);
}
if (null !== $isStarred) {
$qb->andWhere('e.isStarred =:isStarred')->setParameter('isStarred', (bool) $isStarred);
$qb->andWhere('e.isStarred = :isStarred')->setParameter('isStarred', (bool) $isStarred);
}
if (null !== $isPublic) {
$qb->andWhere('e.uid IS '.(true === $isPublic ? 'NOT' : '').' NULL');
}
if ($since > 0) {