summaryrefslogtreecommitdiffstats
path: root/lib/Db
diff options
context:
space:
mode:
authorMarco Nassabain <marco.nassabain@hotmail.com>2021-02-24 22:52:55 +0100
committerSean Molenaar <SMillerDev@users.noreply.github.com>2021-04-08 22:31:21 +0200
commit26ae92bc7b0275cb732bef12f66471091134a5ca (patch)
tree0952eef898790fe31fbf844c0674a17bdf5d10fe /lib/Db
parent83bdbc08a07574fff9be8a2ca07a87248cdb5bc1 (diff)
✨ ItemMapperV2: include shared in functions
updated the following functions to include shared items: - findFromUser - findForUserByGuidHash - readAll - findAllAfter - findAllItems Signed-off-by: Marco Nassabain <marco.nassabain@hotmail.com>
Diffstat (limited to 'lib/Db')
-rw-r--r--lib/Db/ItemMapperV2.php15
1 files changed, 9 insertions, 6 deletions
diff --git a/lib/Db/ItemMapperV2.php b/lib/Db/ItemMapperV2.php
index 1365121fe..b1a4e9015 100644
--- a/lib/Db/ItemMapperV2.php
+++ b/lib/Db/ItemMapperV2.php
@@ -94,10 +94,11 @@ class ItemMapperV2 extends NewsMapperV2
$builder->select('items.*')
->from($this->tableName, 'items')
->innerJoin('items', FeedMapperV2::TABLE_NAME, 'feeds', 'items.feed_id = feeds.id')
- ->where('feeds.user_id = :user_id')
+ ->where('(feeds.user_id = :user_id AND items.shared_by = \'\') OR items.shared_with = :shared_with')
->andWhere('items.id = :item_id')
->andWhere('feeds.deleted_at = 0')
->setParameter('user_id', $userId, IQueryBuilder::PARAM_STR)
+ ->setParameter('shared_with', $userId, IQueryBuilder::PARAM_STR)
->setParameter('item_id', $id, IQueryBuilder::PARAM_INT);
return $this->findEntity($builder);
@@ -145,10 +146,11 @@ class ItemMapperV2 extends NewsMapperV2
$builder->select('items.*')
->from($this->tableName, 'items')
->innerJoin('items', FeedMapperV2::TABLE_NAME, 'feeds', 'items.feed_id = feeds.id')
- ->andWhere('feeds.user_id = :user_id')
+ ->andWhere('(feeds.user_id = :user_id AND items.shared_by = \'\') OR items.shared_with = :shared_with')
->andWhere('feeds.id = :feed_id')
->andWhere('items.guid_hash = :guid_hash')
->setParameter('user_id', $userId, IQueryBuilder::PARAM_STR)
+ ->setParameter('shared_with', $userId, IQueryBuilder::PARAM_STR)
->setParameter('feed_id', $feedId, IQueryBuilder::PARAM_INT)
->setParameter('guid_hash', $guidHash, IQueryBuilder::PARAM_STR);
@@ -404,8 +406,8 @@ class ItemMapperV2 extends NewsMapperV2
->innerJoin('items', FeedMapperV2::TABLE_NAME, 'feeds', 'items.feed_id = feeds.id')
->andWhere('items.last_modified >= :updatedSince')
->andWhere('feeds.deleted_at = 0')
- ->andWhere('feeds.user_id = :userId')
- ->setParameters(['updatedSince' => $updatedSince, 'userId' => $userId])
+ ->andWhere('(feeds.user_id = :userId AND items.shared_by = \'\') OR items.shared_with = :sharedWith')
+ ->setParameters(['updatedSince' => $updatedSince, 'userId' => $userId, 'sharedWith' => $userId])
->orderBy('items.last_modified', 'DESC')
->addOrderBy('items.id', 'DESC');
@@ -566,7 +568,7 @@ class ItemMapperV2 extends NewsMapperV2
/**
* Returns all items shared with a user
- *
+ *
* @param string $userId
* @param int $limit
* @param int $offset
@@ -634,9 +636,10 @@ class ItemMapperV2 extends NewsMapperV2
$builder->select('items.*')
->from($this->tableName, 'items')
->innerJoin('items', FeedMapperV2::TABLE_NAME, 'feeds', 'items.feed_id = feeds.id')
- ->andWhere('feeds.user_id = :userId')
+ ->andWhere('(feeds.user_id = :userId AND items.shared_by = \'\') OR items.shared_with = :sharedWith')
->andWhere('feeds.deleted_at = 0')
->setParameter('userId', $userId)
+ ->setParameter('sharedWith', $userId)
->orderBy('items.last_modified', ($oldestFirst ? 'ASC' : 'DESC'))
->addOrderBy('items.id', ($oldestFirst ? 'ASC' : 'DESC'));