diff --git a/analyticshub/appinfo/info.xml b/analyticshub/appinfo/info.xml
index fa2fe5c..a207ad9 100644
--- a/analyticshub/appinfo/info.xml
+++ b/analyticshub/appinfo/info.xml
@@ -24,6 +24,12 @@
+
+ OCA\AnalyticsHub\Controller\Admin
+
+
+ analyticshub.admin.index
+
Repair steps not needed
Or remove and reinstall
diff --git a/analyticshub/appinfo/routes.php b/analyticshub/appinfo/routes.php
new file mode 100644
index 0000000..8b2b270
--- /dev/null
+++ b/analyticshub/appinfo/routes.php
@@ -0,0 +1,67 @@
+ [
+ // Admin routes
+ [
+ 'name' => 'admin#index',
+ 'url' => '/admin',
+ 'verb' => 'GET'
+ ],
+ [
+ 'name' => 'admin#save',
+ 'url' => '/admin/save',
+ 'verb' => 'POST'
+ ],
+ [
+ 'name' => 'admin#load',
+ 'url' => '/admin/load',
+ 'verb' => 'GET'
+ ],
+ [
+ 'name' => 'admin#getStatus',
+ 'url' => '/admin/status',
+ 'verb' => 'GET'
+ ],
+
+ // API v1 routes
+ [
+ 'name' => 'api_v1#reports',
+ 'url' => '/api/reports',
+ 'verb' => 'GET'
+ ],
+ [
+ 'name' => 'api_v1#getReport',
+ 'url' => '/api/report/{id}',
+ 'verb' => 'GET'
+ ],
+ [
+ 'name' => 'api_v1#generate',
+ 'url' => '/api/generate',
+ 'verb' => 'POST'
+ ],
+ [
+ 'name' => 'api_v1#getStatus',
+ 'url' => '/api/status',
+ 'verb' => 'GET'
+ ],
+
+ // Report routes
+ [
+ 'name' => 'report#index',
+ 'url' => '/report',
+ 'verb' => 'GET'
+ ],
+ [
+ 'name' => 'report#generate',
+ 'url' => '/report/generate',
+ 'verb' => 'POST'
+ ],
+ ],
+];
diff --git a/analyticshub/info.xml b/analyticshub/info.xml
index d227f3f..12d4067 100644
--- a/analyticshub/info.xml
+++ b/analyticshub/info.xml
@@ -12,9 +12,9 @@
- OCA\AnalyticsHub\Settings\Admin
+ OCA\AnalyticsHub\Controller\Admin
- OCA\AnalyticsHub\Settings\Admin
+ analyticshub.admin.index
diff --git a/analyticshub/lib/Controller/AdminController.php b/analyticshub/lib/Controller/AdminController.php
index beafb27..2484b07 100644
--- a/analyticshub/lib/Controller/AdminController.php
+++ b/analyticshub/lib/Controller/AdminController.php
@@ -9,6 +9,7 @@ use OCP\IResponse;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\DataResponse;
use OCP\AppFramework\Http\JSONResponse;
+use OCP\AppFramework\Http\TemplateResponse;
use OCA\AnalyticsHub\Service\GoogleAnalyticsService;
use OCA\AnalyticsHub\Service\LLMService;
@@ -34,9 +35,21 @@ class AdminController {
$this->dataProcessor = $dataProcessor;
}
+ /**
+ * Index page - render admin UI
+ * GET /admin
+ */
+ public function index(): TemplateResponse {
+ return new TemplateResponse('analyticshub', 'admin', [
+ 'app_name' => AppInfo::APP_NAME,
+ 'version' => AppInfo::getVersion(),
+ 'status' => $this->gaService->isConfigured() ? 'configured' : 'not_configured',
+ ]);
+ }
+
/**
* Save configuration
- * POST /settings/save
+ * POST /admin/save
*/
public function save(IRequest $request): JSONResponse {
$params = $request->getParams();