Skip to content

Commit 6d94040

Browse files
committed
feat(files): add mime icon endpoint
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
1 parent 045a990 commit 6d94040

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

core/Controller/PreviewController.php

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
use OCP\AppFramework\Http\Attribute\NoAdminRequired;
1515
use OCP\AppFramework\Http\Attribute\NoCSRFRequired;
1616
use OCP\AppFramework\Http\Attribute\OpenAPI;
17+
use OCP\AppFramework\Http\Attribute\PublicPage;
1718
use OCP\AppFramework\Http\DataResponse;
1819
use OCP\AppFramework\Http\FileDisplayResponse;
1920
use OCP\AppFramework\Http\RedirectResponse;
@@ -183,4 +184,24 @@ private function fetchPreview(
183184
return new DataResponse([], Http::STATUS_BAD_REQUEST);
184185
}
185186
}
187+
188+
/**
189+
* Get a preview by mime
190+
*
191+
* @return RedirectResponse<Http::STATUS_SEE_OTHER, array{}>
192+
*
193+
* 303: The mime icon url
194+
*/
195+
#[NoCSRFRequired]
196+
#[PublicPage]
197+
#[FrontpageRoute(verb: 'GET', url: '/core/mimeicon')]
198+
#[OpenAPI(scope: OpenAPI::SCOPE_DEFAULT)]
199+
public function getMimeIconUrl(string $mime = 'application/octet-stream') {
200+
$url = $this->mimeIconProvider->getMimeIconUrl($mime);
201+
if ($url === null) {
202+
$url = $this->mimeIconProvider->getMimeIconUrl('application/octet-stream');
203+
}
204+
205+
return new RedirectResponse($url);
206+
}
186207
}

0 commit comments

Comments
 (0)