diff --git a/appinfo/info.xml b/appinfo/info.xml
index cf4cfbf..32c8178 100644
--- a/appinfo/info.xml
+++ b/appinfo/info.xml
@@ -55,7 +55,7 @@ In case of downtime, you can download **Custom Menu** from [here](https://kim.de
https://gitnet.fr/deblan/side_menu/raw/branch/master/screenshots/nc25_default_menu.png
-
+
OCA\SideMenu\Settings\Admin
diff --git a/appinfo/routes.php b/appinfo/routes.php
deleted file mode 100644
index bdc3fba..0000000
--- a/appinfo/routes.php
+++ /dev/null
@@ -1,31 +0,0 @@
-.
- */
-
-return [
- 'routes' => [
- ['name' => 'App#index', 'url' => '/', 'verb' => 'GET'],
- ['name' => 'Css#stylesheet', 'url' => '/css/stylesheet', 'verb' => 'GET'],
- ['name' => 'Js#script', 'url' => '/js/script', 'verb' => 'GET'],
- ['name' => 'Js#config', 'url' => '/js/config', 'verb' => 'GET'],
- ['name' => 'Nav#items', 'url' => '/nav/items', 'verb' => 'GET'],
- ['name' => 'PersonalSetting#valueSet', 'url' => '/personalSetting/valueSet', 'verb' => 'POST'],
- ['name' => 'AdminSetting#removeCache', 'url' => '/admin/cache/remove', 'verb' => 'GET'],
- ['name' => 'AdminSetting#exportConfiguration', 'url' => '/admin/config/export', 'verb' => 'GET'],
- ],
-];
diff --git a/lib/Controller/AdminSettingController.php b/lib/Controller/AdminSettingController.php
index 4ecfbea..7632b4a 100644
--- a/lib/Controller/AdminSettingController.php
+++ b/lib/Controller/AdminSettingController.php
@@ -20,11 +20,13 @@ namespace OCA\SideMenu\Controller;
use OCA\SideMenu\AppInfo\Application;
use OCP\AppFramework\Controller;
+use OCP\AppFramework\Http\Attribute\NoCSRFRequired;
use OCP\AppFramework\Http\DataDownloadResponse;
use OCP\AppFramework\Http\RedirectResponse;
use OCP\IConfig;
use OCP\IRequest;
use OCP\IURLGenerator;
+use OCP\AppFramework\Http\Attribute\FrontpageRoute;
class AdminSettingController extends Controller
{
@@ -37,9 +39,8 @@ class AdminSettingController extends Controller
parent::__construct($appName, $request);
}
- /**
- * @NoCSRFRequired
- */
+ #[NoCSRFRequired]
+ #[FrontpageRoute(verb: 'GET', url: '/admin/cache/remove')]
public function removeCache(): RedirectResponse
{
$this->config->setAppValue(Application::APP_ID, 'cache-categories', '[]');
@@ -49,9 +50,8 @@ class AdminSettingController extends Controller
]).'#more');
}
- /**
- * @NoCSRFRequired
- */
+ #[NoCSRFRequired]
+ #[FrontpageRoute(verb: 'GET', url: '/admin/config/export')]
public function exportConfiguration(): DataDownloadResponse
{
$keys = $this->config->getAppKeys(Application::APP_ID);
diff --git a/lib/Controller/AppController.php b/lib/Controller/AppController.php
index dd2993e..ea7d19e 100644
--- a/lib/Controller/AppController.php
+++ b/lib/Controller/AppController.php
@@ -26,6 +26,9 @@ use OCP\AppFramework\Http\RedirectResponse;
use OCP\IRequest;
use OCP\IURLGenerator;
use OCP\IUserSession;
+use OCP\AppFramework\Http\Attribute\NoAdminRequired;
+use OCP\AppFramework\Http\Attribute\NoCSRFRequired;
+use OCP\AppFramework\Http\Attribute\FrontpageRoute;
class AppController extends Controller
{
@@ -39,10 +42,9 @@ class AppController extends Controller
parent::__construct($appName, $request);
}
- /**
- * @NoAdminRequired
- * @NoCSRFRequired
- */
+ #[NoCSRFRequired]
+ #[NoAdminRequired]
+ #[FrontpageRoute(verb: 'GET', url: '/')]
public function index(): RedirectResponse
{
$user = OC::$server[IUserSession::class]->getUser();
diff --git a/lib/Controller/CssController.php b/lib/Controller/CssController.php
index 93fafb3..7a186ae 100644
--- a/lib/Controller/CssController.php
+++ b/lib/Controller/CssController.php
@@ -29,6 +29,8 @@ use OCP\AppFramework\Http\Response;
use OCP\AppFramework\Http\TemplateResponse;
use OCP\IRequest;
use OCP\IUserSession;
+use OCP\AppFramework\Http\Attribute\PublicPage;
+use OCP\AppFramework\Http\Attribute\FrontpageRoute;
class CssController extends Controller
{
@@ -46,11 +48,10 @@ class CssController extends Controller
$this->user = OC::$server[IUserSession::class]->getUser();
}
- /**
- * @NoAdminRequired
- * @NoCSRFRequired
- * @PublicPage
- */
+ #[NoCSRFRequired]
+ #[NoAdminRequired]
+ #[PublicPage]
+ #[FrontpageRoute(verb: 'GET', url: '/css/stylesheet')]
public function stylesheet(): TemplateResponse
{
$response = new TemplateResponse(Application::APP_ID, 'css/stylesheet', $this->getConfig(), 'blank');
diff --git a/lib/Controller/JsController.php b/lib/Controller/JsController.php
index a1b26e3..d3c43db 100644
--- a/lib/Controller/JsController.php
+++ b/lib/Controller/JsController.php
@@ -29,6 +29,10 @@ use OCP\AppFramework\Http\TemplateResponse;
use OCP\IRequest;
use OCP\IUserSession;
use OCP\L10N\IFactory;
+use OCP\AppFramework\Http\Attribute\NoCSRFRequired;
+use OCP\AppFramework\Http\Attribute\NoAdminRequired;
+use OCP\AppFramework\Http\Attribute\PublicPage;
+use OCP\AppFramework\Http\Attribute\FrontpageRoute;
class JsController extends Controller
{
@@ -50,11 +54,10 @@ class JsController extends Controller
$this->l10nFactory = $l10nFactory;
}
- /**
- * @NoAdminRequired
- * @NoCSRFRequired
- * @PublicPage
- */
+ #[NoCSRFRequired]
+ #[NoAdminRequired]
+ #[PublicPage]
+ #[FrontpageRoute(verb: 'GET', url: '/js/script')]
public function script(): TemplateResponse
{
$response = new TemplateResponse(Application::APP_ID, 'js/script', $this->getConfig(), 'blank');
@@ -63,11 +66,10 @@ class JsController extends Controller
return $response;
}
- /**
- * @NoAdminRequired
- * @NoCSRFRequired
- * @PublicPage
- */
+ #[NoCSRFRequired]
+ #[NoAdminRequired]
+ #[PublicPage]
+ #[FrontpageRoute(verb: 'GET', url: '/js/config')]
public function config(): JSONResponse
{
return new JSONResponse($this->getConfig());
diff --git a/lib/Controller/NavController.php b/lib/Controller/NavController.php
index 21fb23c..0ed0dea 100644
--- a/lib/Controller/NavController.php
+++ b/lib/Controller/NavController.php
@@ -28,6 +28,10 @@ use OCP\AppFramework\Http\JSONResponse;
use OCP\IRequest;
use OCP\IUserSession;
use OCP\L10N\IFactory;
+use OCP\AppFramework\Http\Attribute\NoCSRFRequired;
+use OCP\AppFramework\Http\Attribute\NoAdminRequired;
+use OCP\AppFramework\Http\Attribute\PublicPage;
+use OCP\AppFramework\Http\Attribute\FrontpageRoute;
class NavController extends Controller
{
@@ -43,11 +47,10 @@ class NavController extends Controller
parent::__construct($appName, $request);
}
- /**
- * @NoAdminRequired
- * @NoCSRFRequired
- * @PublicPage
- */
+ #[NoCSRFRequired]
+ #[NoAdminRequired]
+ #[PublicPage]
+ #[FrontpageRoute(verb: 'GET', url: '/nav/items')]
public function items(): JSONResponse
{
$user = OC::$server[IUserSession::class]->getUser();
diff --git a/lib/Controller/PersonalSettingController.php b/lib/Controller/PersonalSettingController.php
index e4f6331..5ac5a47 100644
--- a/lib/Controller/PersonalSettingController.php
+++ b/lib/Controller/PersonalSettingController.php
@@ -24,6 +24,9 @@ use OCP\AppFramework\Controller;
use OCP\IConfig;
use OCP\IRequest;
use OCP\IUserSession;
+use OCP\AppFramework\Http\Attribute\NoCSRFRequired;
+use OCP\AppFramework\Http\Attribute\NoAdminRequired;
+use OCP\AppFramework\Http\Attribute\FrontpageRoute;
class PersonalSettingController extends Controller
{
@@ -37,13 +40,9 @@ class PersonalSettingController extends Controller
parent::__construct($appName, $request);
}
- /**
- * @NoAdminRequired
- * @NoCSRFRequired
- *
- * @param mixed $name
- * @param mixed $value
- */
+ #[NoCSRFRequired]
+ #[NoAdminRequired]
+ #[FrontpageRoute(verb: 'POST', url: '/personalSetting/valueSet')]
public function valueSet($name, $value): array
{
$doSave = false;