summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorMarco Nassabain <marco.nassabain@hotmail.com>2021-03-03 22:34:28 +0100
committerSean Molenaar <SMillerDev@users.noreply.github.com>2021-04-08 22:31:21 +0200
commit9bd27da9bac99a7780df8eb3845df566fb23b02a (patch)
treecd831abd0fa7b14c1a0bce1023599354f22f4e2f /lib
parentd2e831fbaa02699516749d5d8fe455259eebf912 (diff)
🔥 Remove old share item logic & functions
Signed-off-by: Marco Nassabain <marco.nassabain@hotmail.com>
Diffstat (limited to 'lib')
-rw-r--r--lib/Controller/FeedController.php3
-rw-r--r--lib/Controller/ItemController.php20
-rw-r--r--lib/Db/ItemMapperV2.php117
-rw-r--r--lib/Service/ItemServiceV2.php52
4 files changed, 15 insertions, 177 deletions
diff --git a/lib/Controller/FeedController.php b/lib/Controller/FeedController.php
index 02fbbc625..f071ade0f 100644
--- a/lib/Controller/FeedController.php
+++ b/lib/Controller/FeedController.php
@@ -81,8 +81,7 @@ class FeedController extends Controller
// item id which will be used for marking feeds read
$params = [
'feeds' => $this->feedService->findAllForUser($this->getUserId()),
- 'starred' => count($this->itemService->starred($this->getUserId())),
- 'shared' => count($this->itemService->sharedWithUser($this->getUserId()))
+ 'starred' => count($this->itemService->starred($this->getUserId()))
];
try {
diff --git a/lib/Controller/ItemController.php b/lib/Controller/ItemController.php
index 6243142ab..4a01fb23c 100644
--- a/lib/Controller/ItemController.php
+++ b/lib/Controller/ItemController.php
@@ -133,7 +133,6 @@ class ItemController extends Controller
$return['newestItemId'] = $this->itemService->newest($this->getUserId())->getId();
$return['feeds'] = $this->feedService->findAllForUser($this->getUserId());
$return['starred'] = count($this->itemService->starred($this->getUserId()));
- $return['shared'] = count($this->itemService->sharedWithUser($this->getUserId()));
}
switch ($type) {
@@ -159,17 +158,6 @@ class ItemController extends Controller
$search_items
);
break;
- case ListType::SHARED:
- $items = $this->itemService->findAllSharedWithUserWithFilters(
- $this->getUserId(),
- $limit,
- $offset,
- !$showAll,
- $oldestFirst,
- $search_items
- );
- break;
-
default:
$items = $this->itemService->findAllWithFilters(
$this->getUserId(),
@@ -229,13 +217,6 @@ class ItemController extends Controller
!$showAll
);
break;
- case ListType::SHARED:
- $items = $this->itemService->findAllSharedAfter(
- $this->getUserId(),
- $lastModified,
- !$showAll
- );
- break;
default:
$items = $this->itemService->findAllAfter(
$this->getUserId(),
@@ -248,7 +229,6 @@ class ItemController extends Controller
$return['newestItemId'] = $this->itemService->newest($this->getUserId())->getId();
$return['feeds'] = $this->feedService->findAllForUser($this->getUserId());
$return['starred'] = count($this->itemService->starred($this->getUserId()));
- $return['shared'] = count($this->itemService->sharedWithUser($this->getUserId()));
$return['items'] = $items;
// this gets thrown if there are no items
diff --git a/lib/Db/ItemMapperV2.php b/lib/Db/ItemMapperV2.php
index c283ca4fd..44d1740cd 100644
--- a/lib/Db/ItemMapperV2.php
+++ b/lib/Db/ItemMapperV2.php
@@ -57,10 +57,9 @@ 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 AND items.shared_by = \'\') OR items.shared_with = :shared_with')
+ ->where('feeds.user_id = :user_id')
->andWhere('feeds.deleted_at = 0')
- ->setParameter('user_id', $userId, IQueryBuilder::PARAM_STR)
- ->setParameter('shared_with', $userId, IQueryBuilder::PARAM_STR);
+ ->setParameter('user_id', $userId, IQueryBuilder::PARAM_STR);
foreach ($params as $key => $value) {
$builder->andWhere("${key} = " . $builder->createNamedParameter($value));
@@ -94,11 +93,10 @@ 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 AND items.shared_by = \'\') OR items.shared_with = :shared_with')
+ ->where('feeds.user_id = :user_id')
->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);
@@ -146,11 +144,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 = :user_id AND items.shared_by = \'\') OR items.shared_with = :shared_with')
+ ->andWhere('feeds.user_id = :user_id')
->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);
@@ -304,9 +301,8 @@ 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 = :userId AND items.shared_by = \'\') OR items.shared_with = :sharedWith')
+ ->where('feeds.user_id = :userId')
->setParameter('userId', $userId)
- ->setParameter('sharedWith', $userId)
->orderBy('items.last_modified', 'DESC')
->addOrderBy('items.id', 'DESC')
->setMaxResults(1);
@@ -334,7 +330,6 @@ class ItemMapperV2 extends NewsMapperV2
->from($this->tableName, 'items')
->innerJoin('items', FeedMapperV2::TABLE_NAME, 'feeds', 'items.feed_id = feeds.id')
->andWhere('items.last_modified >= :updatedSince')
- ->andWhere('items.shared_by = \'\'')
->andWhere('feeds.user_id = :userId')
->andWhere('feeds.id = :feedId')
->andWhere('feeds.deleted_at = 0')
@@ -375,7 +370,6 @@ class ItemMapperV2 extends NewsMapperV2
->innerJoin('items', FeedMapperV2::TABLE_NAME, 'feeds', 'items.feed_id = feeds.id')
->innerJoin('feeds', FolderMapperV2::TABLE_NAME, 'folders', 'feeds.folder_id = folders.id')
->andWhere('items.last_modified >= :updatedSince')
- ->andWhere('items.shared_by = \'\'')
->andWhere('feeds.user_id = :userId')
->andWhere('feeds.deleted_at = 0')
->andWhere('folders.id = :folderId')
@@ -392,36 +386,6 @@ class ItemMapperV2 extends NewsMapperV2
}
/**
- * @param string $userId
- * @param int|null $folderId
- * @param int $updatedSince
- * @param bool $hideRead
- *
- * @return Item[]
- */
- public function findAllSharedAfter(
- string $userId,
- int $updatedSince,
- bool $hideRead
- ): array {
- $builder = $this->db->getQueryBuilder();
-
- $builder->select('items.*')
- ->from($this->tableName, 'items')
- ->andWhere('items.last_modified >= :updatedSince')
- ->andWhere('items.shared_with = :sharedWith')
- ->setParameters(['updatedSince' => $updatedSince, 'sharedWith' => $userId])
- ->orderBy('items.last_modified', 'DESC')
- ->addOrderBy('items.id', 'DESC');
-
- if ($hideRead === true) {
- $builder->andWhere('items.unread = 1');
- }
-
- return $this->findEntities($builder);
- }
-
- /**
* @param string $userId
* @param int $updatedSince
* @param int $feedType
@@ -438,8 +402,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 AND items.shared_by = \'\') OR items.shared_with = :sharedWith')
- ->setParameters(['updatedSince' => $updatedSince, 'userId' => $userId, 'sharedWith' => $userId])
+ ->andWhere('feeds.user_id = :userId')
+ ->setParameters(['updatedSince' => $updatedSince, 'userId' => $userId])
->orderBy('items.last_modified', 'DESC')
->addOrderBy('items.id', 'DESC');
@@ -505,7 +469,6 @@ class ItemMapperV2 extends NewsMapperV2
->andWhere('feeds.deleted_at = 0')
->andWhere('feeds.user_id = :userId')
->andWhere('items.feed_id = :feedId')
- ->andWhere('items.shared_by = \'\'')
->setParameter('userId', $userId)
->setParameter('feedId', $feedId)
->orderBy('items.last_modified', ($oldestFirst ? 'ASC' : 'DESC'))
@@ -569,7 +532,6 @@ class ItemMapperV2 extends NewsMapperV2
->innerJoin('items', FeedMapperV2::TABLE_NAME, 'feeds', 'items.feed_id = feeds.id')
->andWhere('feeds.user_id = :userId')
->andWhere('feeds.deleted_at = 0')
- ->andWhere('items.shared_by = \'\'')
->andWhere($folderWhere)
->setParameter('userId', $userId)
->orderBy('items.last_modified', ($oldestFirst ? 'ASC' : 'DESC'))
@@ -601,62 +563,12 @@ class ItemMapperV2 extends NewsMapperV2
}
/**
- * Returns all items shared with a user
- *
- * @param string $userId
- * @param int $limit
- * @param int $offset
- * @param bool $hideRead
- * @param bool $oldestFirst
- * @param array $search
- *
- * @return Item[]
- */
- public function findAllSharedWithUser(
- string $userId,
- int $limit,
- int $offset,
- bool $hideRead,
- bool $oldestFirst,
- array $search
- ): array {
- $builder = $this->db->getQueryBuilder();
-
- $builder->select('items.*')
- ->from($this->tableName, 'items')
- ->andWhere('items.shared_with = :sharedWith')
- ->setParameter('sharedWith', $userId)
- ->setMaxResults($limit)
- ->orderBy('items.last_modified', ($oldestFirst ? 'ASC' : 'DESC'))
- ->addOrderBy('items.id', ($oldestFirst ? 'ASC' : 'DESC'));
-
- if ($search !== []) {
- foreach ($search as $key => $term) {
- $term = $this->db->escapeLikeParameter($term);
- $builder->andWhere("items.search_index LIKE :term${key}")
- ->setParameter("term${key}", "%$term%");
- }
- }
-
- if ($offset !== 0) {
- $builder->andWhere($this->offsetWhere($oldestFirst))
- ->setParameter('offset', $offset);
- }
-
- if ($hideRead === true) {
- $builder->andWhere('items.unread = 1');
- }
-
- return $this->findEntities($builder);
- }
-
- /**
- * @param string $userId
- * @param int $type
- * @param int $limit
- * @param int $offset
- * @param bool $oldestFirst
- * @param array $search
+ * @param string $userId User identifier
+ * @param int $type Type of items to retrieve
+ * @param int $limit Max items to retrieve
+ * @param int $offset First item ID to retrieve
+ * @param bool $oldestFirst Chronological sort
+ * @param array $search Search terms
*
* @return Item[]
* @throws ServiceValidationException
@@ -674,10 +586,9 @@ 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 AND items.shared_by = \'\') OR items.shared_with = :sharedWith')
+ ->andWhere('feeds.user_id = :userId')
->andWhere('feeds.deleted_at = 0')
->setParameter('userId', $userId)
- ->setParameter('sharedWith', $userId)
->orderBy('items.last_modified', ($oldestFirst ? 'ASC' : 'DESC'))
->addOrderBy('items.id', ($oldestFirst ? 'ASC' : 'DESC'));
diff --git a/lib/Service/ItemServiceV2.php b/lib/Service/ItemServiceV2.php
index 3dd1b04d7..d7955e265 100644
--- a/lib/Service/ItemServiceV2.php
+++ b/lib/Service/ItemServiceV2.php
@@ -295,18 +295,6 @@ class ItemServiceV2 extends Service
return $this->mapper->findAllInFolderAfter($userId, $folderId, $updatedSince, $hideRead);
}
- /**
- * Returns all new shared items
- * @param string $userId the name of the user
- * @param int $updatedSince a timestamp with the minimal modification date
- * @param boolean $hideRead if unread items should also be returned
- *
- * @return array of items
- */
- public function findAllSharedAfter(string $userId, int $updatedSince, bool $hideRead): array
- {
- return $this->mapper->findAllSharedAfter($userId, $updatedSince, $hideRead);
- }
/**
* Returns all new items of a type
@@ -382,31 +370,6 @@ class ItemServiceV2 extends Service
return $this->mapper->findAllFolder($userId, $folderId, $limit, $offset, $hideRead, $oldestFirst, $search);
}
/**
- * Returns all items shared with a user
- *
- * @param int|null $folderId the id of the folder
- * @param int $limit how many items should be returned
- * @param int $offset the offset
- * @param boolean $hideRead if unread items should also be returned
- * @param boolean $oldestFirst if it should be ordered by oldest first
- * @param string $userId the name of the user
- * @param string[] $search an array of keywords that the result should
- * contain in either the author, title, link
- * or body
- *
- * @return array of items
- */
- public function findAllSharedWithUserWithFilters(
- string $userId,
- int $limit,
- int $offset,
- bool $hideRead,
- bool $oldestFirst,
- array $search = []
- ): array {
- return $this->mapper->findAllSharedWithUser($userId, $limit, $offset, $hideRead, $oldestFirst, $search);
- }
- /**
* Returns all items
*
* @param int $type the type of the feed
@@ -486,19 +449,4 @@ class ItemServiceV2 extends Service
return $this->mapper->insert($sharedItem);
}
-
- /**
- * Return all items shared with a given user
- *
- * @param string $userId
- *
- * @return Item[]
- */
- public function sharedWithUser(string $userId): array
- {
- return $this->findAllForUser($userId, [
- 'shared_with' => $userId,
- 'unread' => true
- ]);
- }
}