summaryrefslogtreecommitdiffstats
path: root/lib/Controller
diff options
context:
space:
mode:
authorSean Molenaar <sean@seanmolenaar.eu>2020-11-14 00:09:38 +0100
committerSean Molenaar <SMillerDev@users.noreply.github.com>2020-12-08 13:58:12 +0100
commit8abddeab4f541883721d912f97dec07bffdfc6b8 (patch)
tree8c176f9ca2fd9e757807481997f265212f154eb2 /lib/Controller
parent3d98707be95322d16f5883d7a945d658d6316146 (diff)
Remove usage of old Folder code
Signed-off-by: Sean Molenaar <sean@seanmolenaar.eu>
Diffstat (limited to 'lib/Controller')
-rw-r--r--lib/Controller/FeedController.php22
-rw-r--r--lib/Controller/FolderController.php61
2 files changed, 40 insertions, 43 deletions
diff --git a/lib/Controller/FeedController.php b/lib/Controller/FeedController.php
index 5e2ba8a96..76f777a12 100644
--- a/lib/Controller/FeedController.php
+++ b/lib/Controller/FeedController.php
@@ -15,6 +15,7 @@ namespace OCA\News\Controller;
use OCA\News\Service\Exceptions\ServiceConflictException;
use OCA\News\Service\Exceptions\ServiceNotFoundException;
+use OCA\News\Service\FolderServiceV2;
use OCP\AppFramework\Http\JSONResponse;
use OCP\IRequest;
use OCP\IConfig;
@@ -23,8 +24,9 @@ use OCP\AppFramework\Http;
use OCA\News\Service\ItemService;
use OCA\News\Service\FeedService;
-use OCA\News\Service\FolderService;
use OCA\News\Db\FeedType;
+use OCP\IUser;
+use OCP\IUserSession;
class FeedController extends Controller
{
@@ -33,27 +35,29 @@ class FeedController extends Controller
//TODO: Remove
private $feedService;
//TODO: Remove
- private $folderService;
- //TODO: Remove
private $itemService;
+ /**
+ * @var FolderServiceV2
+ */
+ private $folderService;
private $userId;
private $settings;
public function __construct(
string $appName,
IRequest $request,
- FolderService $folderService,
+ FolderServiceV2 $folderService,
FeedService $feedService,
ItemService $itemService,
IConfig $settings,
- string $UserId
+ IUser $user
) {
parent::__construct($appName, $request);
- $this->feedService = $feedService;
$this->folderService = $folderService;
- $this->itemService = $itemService;
- $this->userId = $UserId;
- $this->settings = $settings;
+ $this->feedService = $feedService;
+ $this->itemService = $itemService;
+ $this->settings = $settings;
+ $this->userId = $user->getUID();
}
diff --git a/lib/Controller/FolderController.php b/lib/Controller/FolderController.php
index e67299c6d..662d45029 100644
--- a/lib/Controller/FolderController.php
+++ b/lib/Controller/FolderController.php
@@ -19,18 +19,20 @@ use \OCP\IRequest;
use \OCP\AppFramework\Controller;
use \OCP\AppFramework\Http;
-use \OCA\News\Service\FolderService;
+use \OCA\News\Service\FolderServiceV2;
use \OCA\News\Service\FeedService;
use \OCA\News\Service\ItemService;
use \OCA\News\Service\Exceptions\ServiceNotFoundException;
use \OCA\News\Service\Exceptions\ServiceConflictException;
-use \OCA\News\Service\Exceptions\ServiceValidationException;
+use OCP\IUser;
class FolderController extends Controller
{
- use JSONHttpErrorTrait;
+ use JSONHttpErrorTrait, ApiPayloadTrait;
- //TODO: Remove
+ /**
+ * @var FolderServiceV2
+ */
private $folderService;
//TODO: Remove
private $feedService;
@@ -41,16 +43,16 @@ class FolderController extends Controller
public function __construct(
string $appName,
IRequest $request,
- FolderService $folderService,
+ FolderServiceV2 $folderService,
FeedService $feedService,
ItemService $itemService,
- $UserId
+ IUser $user
) {
parent::__construct($appName, $request);
$this->folderService = $folderService;
$this->feedService = $feedService;
$this->itemService = $itemService;
- $this->userId = $UserId;
+ $this->userId = $user->getUID();
}
@@ -60,7 +62,7 @@ class FolderController extends Controller
public function index()
{
$folders = $this->folderService->findAllForUser($this->userId);
- return ['folders' => $folders];
+ return ['folders' => $this->serialize($folders)];
}
@@ -77,7 +79,7 @@ class FolderController extends Controller
$folderId = $folderId === 0 ? null : $folderId;
try {
- $this->folderService->open($folderId, $open, $this->userId);
+ $this->folderService->open($this->userId, $folderId, $open);
} catch (ServiceException $ex) {
return $this->error($ex, Http::STATUS_NOT_FOUND);
}
@@ -89,24 +91,17 @@ class FolderController extends Controller
/**
* @NoAdminRequired
*
- * @param string $folderName
+ * @param string $folderName
+ * @param int|null $parent
*
* @return array|JSONResponse
*/
- public function create(string $folderName)
+ public function create(string $folderName, ?int $parent = null)
{
- try {
- // we need to purge deleted folders if a folder is created to
- // prevent already exists exceptions
- $this->folderService->purgeDeleted($this->userId, false);
- $folder = $this->folderService->create($folderName, $this->userId);
+ $this->folderService->purgeDeleted();
+ $folder = $this->folderService->create($this->userId, $folderName, $parent);
- return ['folders' => [$folder]];
- } catch (ServiceConflictException $ex) {
- return $this->error($ex, Http::STATUS_CONFLICT);
- } catch (ServiceValidationException $ex) {
- return $this->error($ex, Http::STATUS_UNPROCESSABLE_ENTITY);
- }
+ return ['folders' => $this->serialize($folder)];
}
@@ -123,9 +118,11 @@ class FolderController extends Controller
return new JSONResponse([], Http::STATUS_BAD_REQUEST);
}
try {
- $this->folderService->markDeleted($folderId, $this->userId);
+ $this->folderService->markDelete($this->userId, $folderId, true);
} catch (ServiceNotFoundException $ex) {
return $this->error($ex, Http::STATUS_NOT_FOUND);
+ } catch (ServiceConflictException $ex) {
+ return $this->error($ex, Http::STATUS_CONFLICT);
}
return [];
@@ -146,17 +143,11 @@ class FolderController extends Controller
return new JSONResponse([], Http::STATUS_BAD_REQUEST);
}
try {
- $folder = $this->folderService->rename(
- $folderId,
- $folderName,
- $this->userId
- );
+ $folder = $this->folderService->rename($this->userId, $folderId, $folderName);
- return ['folders' => [$folder]];
+ return ['folders' => $this->serialize($folder)];
} catch (ServiceConflictException $ex) {
return $this->error($ex, Http::STATUS_CONFLICT);
- } catch (ServiceValidationException $ex) {
- return $this->error($ex, Http::STATUS_UNPROCESSABLE_ENTITY);
} catch (ServiceNotFoundException $ex) {
return $this->error($ex, Http::STATUS_NOT_FOUND);
}
@@ -179,8 +170,8 @@ class FolderController extends Controller
$highestItemId,
$this->userId
);
-
- return ['feeds' => $this->feedService->findAllForUser($this->userId)];
+ $feeds = $this->feedService->findAllForUser($this->userId);
+ return ['feeds' => $this->serialize($feeds)];
}
@@ -196,9 +187,11 @@ class FolderController extends Controller
$folderId = $folderId === 0 ? null : $folderId;
try {
- $this->folderService->unmarkDeleted($folderId, $this->userId);
+ $this->folderService->markDelete($this->userId, $folderId, false);
} catch (ServiceNotFoundException $ex) {
return $this->error($ex, Http::STATUS_NOT_FOUND);
+ } catch (ServiceConflictException $ex) {
+ return $this->error($ex, Http::STATUS_CONFLICT);
}
return [];