diff options
Diffstat (limited to 'core/Controller/ReferenceController.php')
-rw-r--r-- | core/Controller/ReferenceController.php | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/core/Controller/ReferenceController.php b/core/Controller/ReferenceController.php index dda213db54d..93510a35f4a 100644 --- a/core/Controller/ReferenceController.php +++ b/core/Controller/ReferenceController.php @@ -24,18 +24,21 @@ declare(strict_types=1); namespace OC\Core\Controller; -use OC\Collaboration\Reference\ReferenceManager; +use OCP\Collaboration\Reference\IReferenceManager; +use OCP\AppFramework\Controller; use OCP\AppFramework\Http; use OCP\AppFramework\Http\DataDownloadResponse; use OCP\AppFramework\Http\DataResponse; use OCP\Files\AppData\IAppDataFactory; use OCP\Files\NotFoundException; +use OCP\Files\NotPermittedException; use OCP\IRequest; -class ReferenceController extends \OCP\AppFramework\Controller { - private ReferenceManager $referenceManager; +class ReferenceController extends Controller { + private IReferenceManager $referenceManager; + private IAppDataFactory $appDataFactory; - public function __construct($appName, IRequest $request, ReferenceManager $referenceManager, IAppDataFactory $appDataFactory) { + public function __construct(string $appName, IRequest $request, IReferenceManager $referenceManager, IAppDataFactory $appDataFactory) { parent::__construct($appName, $request); $this->referenceManager = $referenceManager; $this->appDataFactory = $appDataFactory; @@ -44,10 +47,8 @@ class ReferenceController extends \OCP\AppFramework\Controller { /** * @PublicPage * @NoCSRFRequired - * @param $referenceId - * @throws \OCP\Files\NotFoundException */ - public function preview($referenceId) { + public function preview(string $referenceId) { $reference = $this->referenceManager->getReferenceByCacheKey($referenceId); if ($reference === null) { return new DataResponse('', Http::STATUS_NOT_FOUND); @@ -57,9 +58,9 @@ class ReferenceController extends \OCP\AppFramework\Controller { $appData = $this->appDataFactory->get('core'); $folder = $appData->getFolder('opengraph'); $file = $folder->getFile($referenceId); - } catch (NotFoundException $e) { + return new DataDownloadResponse($file->getContent(), $referenceId, $reference->getImageContentType()); + } catch (NotFoundException|NotPermittedException $e) { return new DataResponse('', Http::STATUS_NOT_FOUND); } - return new DataDownloadResponse($file->getContent(), $referenceId, $reference->getImageContentType()); } } |