diff options
author | skjnldsv <skjnldsv@protonmail.com> | 2025-01-10 11:57:08 +0100 |
---|---|---|
committer | nextcloud-command <nextcloud-command@users.noreply.github.com> | 2025-01-22 16:29:36 +0000 |
commit | 2c13259093480400d4d2c41a4f458c891e600868 (patch) | |
tree | e9a1e3b17b7d503b6a185a3f7ca73ad4bd70bd33 /core/Controller | |
parent | 7d8bb60bfe3b310b3c9909128a441a8336b638c8 (diff) | |
download | nextcloud-server-2c13259093480400d4d2c41a4f458c891e600868.tar.gz nextcloud-server-2c13259093480400d4d2c41a4f458c891e600868.zip |
feat(files): add mime icon endpoint
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
Diffstat (limited to 'core/Controller')
-rw-r--r-- | core/Controller/PreviewController.php | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/core/Controller/PreviewController.php b/core/Controller/PreviewController.php index 9c9d49082bb..0e4c71380ec 100644 --- a/core/Controller/PreviewController.php +++ b/core/Controller/PreviewController.php @@ -14,6 +14,7 @@ use OCP\AppFramework\Http\Attribute\FrontpageRoute; use OCP\AppFramework\Http\Attribute\NoAdminRequired; use OCP\AppFramework\Http\Attribute\NoCSRFRequired; use OCP\AppFramework\Http\Attribute\OpenAPI; +use OCP\AppFramework\Http\Attribute\PublicPage; use OCP\AppFramework\Http\DataResponse; use OCP\AppFramework\Http\FileDisplayResponse; use OCP\AppFramework\Http\RedirectResponse; @@ -183,4 +184,25 @@ class PreviewController extends Controller { return new DataResponse([], Http::STATUS_BAD_REQUEST); } } + + /** + * Get a preview by mime + * + * @param string $mime Mime type + * @return RedirectResponse<Http::STATUS_SEE_OTHER, array{}> + * + * 303: The mime icon url + */ + #[NoCSRFRequired] + #[PublicPage] + #[FrontpageRoute(verb: 'GET', url: '/core/mimeicon')] + #[OpenAPI(scope: OpenAPI::SCOPE_DEFAULT)] + public function getMimeIconUrl(string $mime = 'application/octet-stream') { + $url = $this->mimeIconProvider->getMimeIconUrl($mime); + if ($url === null) { + $url = $this->mimeIconProvider->getMimeIconUrl('application/octet-stream'); + } + + return new RedirectResponse($url); + } } |