summaryrefslogtreecommitdiffstats
path: root/businesslayer/itembusinesslayer.php
diff options
context:
space:
mode:
authorBernhard Posselt <dev@bernhard-posselt.com>2014-05-15 03:41:49 +0200
committerBernhard Posselt <dev@bernhard-posselt.com>2014-05-15 03:41:49 +0200
commit407fbebc2da14520942e0a6a9220a5a3cfc4a7ad (patch)
treee313ddad41398382f82cd27b40f46e0b7394c393 /businesslayer/itembusinesslayer.php
parent7d33bab5abd81871e4efcf995f8a715d45b9d590 (diff)
rename businesslayer to service
Diffstat (limited to 'businesslayer/itembusinesslayer.php')
-rw-r--r--businesslayer/itembusinesslayer.php242
1 files changed, 0 insertions, 242 deletions
diff --git a/businesslayer/itembusinesslayer.php b/businesslayer/itembusinesslayer.php
deleted file mode 100644
index 82d445161..000000000
--- a/businesslayer/itembusinesslayer.php
+++ /dev/null
@@ -1,242 +0,0 @@
-<?php
-/**
- * ownCloud - News
- *
- * This file is licensed under the Affero General Public License version 3 or
- * later. See the COPYING file.
- *
- * @author Alessandro Cosentino <cosenal@gmail.com>
- * @author Bernhard Posselt <dev@bernhard-posselt.com>
- * @copyright Alessandro Cosentino 2012
- * @copyright Bernhard Posselt 2012, 2014
- */
-
-namespace OCA\News\BusinessLayer;
-
-use \OCP\AppFramework\Db\DoesNotExistException;
-
-use \OCA\News\Db\Item;
-use \OCA\News\Db\ItemMapper;
-use \OCA\News\Db\StatusFlag;
-use \OCA\News\Db\FeedType;
-use \OCA\News\Utility\Config;
-
-
-class ItemBusinessLayer extends BusinessLayer {
-
- private $statusFlag;
- private $autoPurgeCount;
- private $timeFactory;
- private $itemMapper;
-
- public function __construct(ItemMapper $itemMapper,
- StatusFlag $statusFlag,
- $timeFactory,
- Config $config){
- parent::__construct($itemMapper);
- $this->statusFlag = $statusFlag;
- $this->autoPurgeCount = $config->getAutoPurgeCount();
- $this->timeFactory = $timeFactory;
- $this->itemMapper = $itemMapper;
- }
-
-
- /**
- * Returns all new items
- * @param int $id the id of the feed, 0 for starred or all items
- * @param int $type the type of the feed
- * @param int $updatedSince a timestamp with the last modification date
- * returns only items with a >= modified timestamp
- * @param boolean $showAll if unread items should also be returned
- * @param string $userId the name of the user
- * @return array of items
- */
- public function findAllNew($id, $type, $updatedSince, $showAll, $userId){
- $status = $this->statusFlag->typeToStatus($type, $showAll);
-
- switch($type){
- case FeedType::FEED:
- return $this->itemMapper->findAllNewFeed(
- $id, $updatedSince, $status, $userId
- );
- case FeedType::FOLDER:
- return $this->itemMapper->findAllNewFolder(
- $id, $updatedSince, $status, $userId
- );
- default:
- return $this->itemMapper->findAllNew(
- $updatedSince, $status, $userId
- );
- }
- }
-
-
- /**
- * Returns all items
- * @param int $id the id of the feed, 0 for starred or all items
- * @param int $type the type of the feed
- * @param int $limit how many items should be returned
- * @param int $offset only items lower than this id are returned, 0 for no offset
- * @param boolean $showAll if unread items should also be returned
- * @param string $userId the name of the user
- * @param boolean $oldestFirst if it should be ordered by oldest first
- * @return array of items
- */
- public function findAll($id, $type, $limit, $offset, $showAll, $userId,
- $oldestFirst=false){
- $status = $this->statusFlag->typeToStatus($type, $showAll);
-
- switch($type){
- case FeedType::FEED:
- return $this->itemMapper->findAllFeed(
- $id, $limit, $offset,$status, $userId, $oldestFirst
- );
- case FeedType::FOLDER:
- return $this->itemMapper->findAllFolder(
- $id, $limit, $offset, $status, $userId, $oldestFirst
- );
- default:
- return $this->itemMapper->findAll(
- $limit, $offset, $status, $userId, $oldestFirst
- );
- }
- }
-
-
- /**
- * Star or unstar an item
- * @param int $feedId the id of the item's feed that should be starred
- * @param string $guidHash the guidHash of the item that should be starred
- * @param boolean $isStarred if true the item will be marked as starred, if false unstar
- * @param $userId the name of the user for security reasons
- * @throws BusinessLayerException if the item does not exist
- */
- public function star($feedId, $guidHash, $isStarred, $userId){
- try {
- $item = $this->itemMapper->findByGuidHash($guidHash, $feedId, $userId);
-
- $item->setLastModified($this->timeFactory->getTime());
- if($isStarred){
- $item->setStarred();
- } else {
- $item->setUnstarred();
- }
- $this->itemMapper->update($item);
- } catch(DoesNotExistException $ex) {
- throw new BusinessLayerException($ex->getMessage());
- }
- }
-
-
- /**
- * Read or unread an item
- * @param int $itemId the id of the item that should be read
- * @param boolean $isRead if true the item will be marked as read, if false unread
- * @param $userId the name of the user for security reasons
- * @throws BusinessLayerException if the item does not exist
- */
- public function read($itemId, $isRead, $userId){
- $item = $this->find($itemId, $userId);
- $item->setLastModified($this->timeFactory->getTime());
- if($isRead){
- $item->setRead();
- } else {
- $item->setUnread();
- }
- $this->itemMapper->update($item);
- }
-
-
- /**
- * Set all items read
- * @param int $highestItemId all items below that are marked read. This is used
- * to prevent marking items as read that the users hasnt seen yet
- * @param string $userId the name of the user
- */
- public function readAll($highestItemId, $userId){
- $time = $this->timeFactory->getTime();
- $this->itemMapper->readAll($highestItemId, $time, $userId);
- }
-
-
- /**
- * Set a folder read
- * @param int $folderId the id of the folder that should be marked read
- * @param int $highestItemId all items below that are marked read. This is used
- * to prevent marking items as read that the users hasnt seen yet
- * @param string $userId the name of the user
- */
- public function readFolder($folderId, $highestItemId, $userId){
- $time = $this->timeFactory->getTime();
- $this->itemMapper->readFolder($folderId, $highestItemId, $time, $userId);
- }
-
-
- /**
- * Set a feed read
- * @param int $feedId the id of the feed that should be marked read
- * @param int $highestItemId all items below that are marked read. This is used
- * to prevent marking items as read that the users hasnt seen yet
- * @param string $userId the name of the user
- */
- public function readFeed($feedId, $highestItemId, $userId){
- $time = $this->timeFactory->getTime();
- $this->itemMapper->readFeed($feedId, $highestItemId, $time, $userId);
- }
-
-
- /**
- * This method deletes all unread feeds that are not starred and over the
- * count of $this->autoPurgeCount starting by the oldest. This is to clean
- * up the database so that old entries dont spam your db. As criteria for
- * old, the id is taken
- */
- public function autoPurgeOld(){
- $this->itemMapper->deleteReadOlderThanThreshold($this->autoPurgeCount);
- }
-
-
- /**
- * Returns the newest itemd id, use this for marking feeds read
- * @param string $userId the name of the user
- * @throws BusinessLayerException if there is no newest item
- * @return int
- */
- public function getNewestItemId($userId) {
- try {
- return $this->itemMapper->getNewestItemId($userId);
- } catch(DoesNotExistException $ex) {
- throw new BusinessLayerException($ex->getMessage());
- }
- }
-
-
- /**
- * Returns the starred count
- * @param string $userId the name of the user
- * @return int the count
- */
- public function starredCount($userId){
- return $this->itemMapper->starredCount($userId);
- }
-
-
- /**
- * @param string $userId from which user the items should be taken
- * @return array of items which are starred or unread
- */
- public function getUnreadOrStarred($userId) {
- return $this->itemMapper->findAllUnreadOrStarred($userId);
- }
-
-
- /**
- * Deletes all items of a user
- * @param string $userId the name of the user
- */
- public function deleteUser($userId) {
- $this->itemMapper->deleteUser($userId);
- }
-
-
-}