2013-03-21 00:48:22 +04:00
|
|
|
<?php
|
|
|
|
/**
|
2014-04-19 20:16:55 +04:00
|
|
|
* 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
|
|
|
|
*/
|
2013-03-21 00:48:22 +04:00
|
|
|
|
2014-05-15 05:41:49 +04:00
|
|
|
namespace OCA\News\Service;
|
2013-03-21 00:48:22 +04:00
|
|
|
|
2014-05-13 22:14:00 +04:00
|
|
|
use \OCP\AppFramework\Db\DoesNotExistException;
|
|
|
|
use \OCP\AppFramework\Db\MultipleObjectsReturnedException;
|
|
|
|
|
2014-10-08 16:52:09 +04:00
|
|
|
use \OCA\News\Db\NewsMapper;
|
2013-03-21 00:48:22 +04:00
|
|
|
|
|
|
|
|
2014-05-15 05:41:49 +04:00
|
|
|
abstract class Service {
|
2013-03-21 00:48:22 +04:00
|
|
|
|
2014-10-21 18:45:36 +04:00
|
|
|
protected $mapper;
|
|
|
|
|
|
|
|
public function __construct(NewsMapper $mapper){
|
|
|
|
$this->mapper = $mapper;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Delete an entity
|
|
|
|
* @param int $id the id of the entity
|
|
|
|
* @param string $userId the name of the user for security reasons
|
|
|
|
* @throws ServiceNotFoundException if the entity does not exist, or there
|
|
|
|
* are more than one of it
|
|
|
|
*/
|
|
|
|
public function delete($id, $userId){
|
|
|
|
$entity = $this->find($id, $userId);
|
|
|
|
$this->mapper->delete($entity);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Finds an entity by id
|
|
|
|
* @param int $id the id of the entity
|
|
|
|
* @param string $userId the name of the user for security reasons
|
|
|
|
* @throws ServiceNotFoundException if the entity does not exist, or there
|
|
|
|
* are more than one of it
|
|
|
|
* @return \OCP\AppFramework\Db\Entity the entity
|
|
|
|
*/
|
|
|
|
public function find($id, $userId){
|
|
|
|
try {
|
|
|
|
return $this->mapper->find($id, $userId);
|
|
|
|
} catch(DoesNotExistException $ex){
|
|
|
|
throw new ServiceNotFoundException($ex->getMessage());
|
|
|
|
} catch(MultipleObjectsReturnedException $ex){
|
|
|
|
throw new ServiceNotFoundException($ex->getMessage());
|
|
|
|
}
|
|
|
|
}
|
2013-03-21 00:48:22 +04:00
|
|
|
|
2013-06-05 00:45:19 +04:00
|
|
|
}
|