From 8b9fb63dcb232cafe9612574698fb87e5e66a157 Mon Sep 17 00:00:00 2001 From: Alexandre_BRAVO Date: Tue, 19 Nov 2024 14:15:09 +0100 Subject: [PATCH] debut page post --- appinfo/routes.php | 1 + lib/Controller/PageController.php | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/appinfo/routes.php b/appinfo/routes.php index e5cd06d..fc9e23a 100644 --- a/appinfo/routes.php +++ b/appinfo/routes.php @@ -2,5 +2,6 @@ return [ 'routes' => [ ['name' => 'page#main', 'url' => '/', 'verb' => 'GET'], + ['name' => 'page#post', 'url' => '/post', 'verb' => 'POST'], ] ]; diff --git a/lib/Controller/PageController.php b/lib/Controller/PageController.php index 2a2b18e..9dd81f5 100644 --- a/lib/Controller/PageController.php +++ b/lib/Controller/PageController.php @@ -11,6 +11,10 @@ use OCP\AppFramework\Http\Attribute\NoAdminRequired; use OCP\AppFramework\Http\Attribute\NoCSRFRequired; use OCP\AppFramework\Http\Attribute\OpenAPI; use OCP\AppFramework\Http\TemplateResponse; +use OCP\AppFramework\Http\DataResponse; +use OCP\IRequest; +use OCP\IResponse; +use OCP\AppFramework\Http\JsonResponse; /** * @psalm-suppress UnusedClass @@ -26,4 +30,25 @@ class PageController extends Controller { 'index', ); } + + #[NoCSRFRequired] + #[NoAdminRequired] + #[OpenAPI(OpenAPI::SCOPE_OPERATION, tags: ['post'])] + #[FrontpageRoute(verb: 'POST', url: '/post')] + public function post(): JsonResponse { + $request = $this->request; + $uploadedFile = $request->getUploadedFile('zipfile'); + + if (!$uploadedFile) { + return new JsonResponse(['error' => 'No file uploaded'], 400); + } + + if ($uploadedFile->getClientMimeType() !== 'application/zip') { + return new JsonResponse(['error' => 'Invalid file type, only ZIP allowed'], 400); + } + + // Traitement du fichier si nécessaire + return new JsonResponse(['message' => 'File uploaded successfully'], 200); + } + }