diff --git a/analyticshub.zip b/analyticshub.zip new file mode 100644 index 0000000..e662a5c Binary files /dev/null and b/analyticshub.zip differ diff --git a/analyticshub/appinfo/routes.php b/analyticshub/appinfo/routes.php index a521479..95c931c 100644 --- a/analyticshub/appinfo/routes.php +++ b/analyticshub/appinfo/routes.php @@ -17,17 +17,5 @@ return [ 'verb' => 'GET', 'requirements' => [], ], - [ - 'name' => 'page#save', - 'url' => '/save', - 'verb' => 'POST', - 'requirements' => [], - ], - [ - 'name' => 'page#load', - 'url' => '/load', - 'verb' => 'GET', - 'requirements' => [], - ], ], ]; diff --git a/analyticshub/lib/Controller/PageController.php b/analyticshub/lib/Controller/PageController.php index 880d0b1..3b74a04 100644 --- a/analyticshub/lib/Controller/PageController.php +++ b/analyticshub/lib/Controller/PageController.php @@ -5,11 +5,6 @@ declare(strict_types=1); namespace OCA\AnalyticsHub\Controller; use OCP\IRequest; -use OCP\AppFramework\Controller; -use OCP\AppFramework\Http\TemplateResponse; -use OCP\AppFramework\Http\JSONResponse; -use OCP\IConfig; -use OCA\AnalyticsHub\AppInfo\Application; /** * Admin Settings Controller @@ -17,17 +12,11 @@ use OCA\AnalyticsHub\AppInfo\Application; * @NoAdminRequired * @NoCSRFRequired */ -class PageController extends Controller { +class PageController { - protected $appName; - protected $request; - private IConfig $config; - - public function __construct(string $appName, IRequest $request, IConfig $config) { - parent::__construct($appName, $request); + public function __construct(string $appName, IRequest $request) { $this->appName = $appName; $this->request = $request; - $this->config = $config; } /** @@ -36,109 +25,43 @@ class PageController extends Controller { * @NoAdminRequired * @NoCSRFRequired */ - public function index(): TemplateResponse { - // Load saved configuration - $googleClientId = $this->config->getAppValue(Application::APP_NAME, 'google_client_id', ''); - $googleClientSecret = '•••'; // Masked for display - $anthropicApiKey = '•••••••••••'; // Masked for display - - $isConfigured = !empty($googleClientId) && !empty($this->config->getAppValue(Application::APP_NAME, 'anthropic_api_key', '')); - - return new TemplateResponse($this->appName, 'admin', [ - 'app_name' => $this->appName, - 'version' => Application::APP_VERSION, - 'is_configured' => $isConfigured, - 'google_client_id' => $googleClientId, - 'google_client_secret_masked' => $googleClientSecret, - 'anthropic_api_key_masked' => $anthropicApiKey, - ]); - } - - /** - * Save configuration - * - * @NoAdminRequired - * @NoCSRFRequired - */ - public function save(): JSONResponse { - $params = $this->request->getParams(); - - // Validate required fields - if (!isset($params['google_client_id']) || empty($params['google_client_id'])) { - return new JSONResponse([ - 'success' => false, - 'error' => 'Google Client ID is required' - ]); - } - - if (!isset($params['google_client_secret']) || empty($params['google_client_secret'])) { - return new JSONResponse([ - 'success' => false, - 'error' => 'Google Client Secret is required' - ]); - } - - if (!isset($params['anthropic_api_key']) || empty($params['anthropic_api_key'])) { - return new JSONResponse([ - 'success' => false, - 'error' => 'Anthropic API Key is required' - ]); - } - - try { - // Save configuration - $this->config->setAppValue(Application::APP_NAME, 'google_client_id', $params['google_client_id']); - $this->config->setAppValue(Application::APP_NAME, 'google_client_secret', $params['google_client_secret']); - $this->config->setAppValue(Application::APP_NAME, 'anthropic_api_key', $params['anthropic_api_key']); - - // Check if now configured - $isConfigured = !empty($params['google_client_id']) && !empty($params['anthropic_api_key']); - - return new JSONResponse([ - 'success' => true, - 'data' => [ - 'is_configured' => $isConfigured, - 'message' => 'Configuration saved successfully' - ] - ]); - - } catch (\Exception $e) { - return new JSONResponse([ - 'success' => false, - 'error' => $e->getMessage() - ]); - } - } - - /** - * Load configuration - * - * @NoAdminRequired - * @NoCSRFRequired - */ - public function load(): JSONResponse { - try { - $googleClientId = $this->config->getAppValue(Application::APP_NAME, 'google_client_id', ''); - $googleClientSecret = '•••'; // Masked - $anthropicApiKey = '•••••••••••'; // Masked - - $isConfigured = !empty($googleClientId) && !empty($this->config->getAppValue(Application::APP_NAME, 'anthropic_api_key', '')); - - return new JSONResponse([ - 'success' => true, - 'data' => [ - 'google_client_id' => $googleClientId, - 'google_client_secret_masked' => $googleClientSecret, - 'anthropic_api_key_masked' => $anthropicApiKey, - 'is_configured' => $isConfigured, - ] - ]); - - } catch (\Exception $e) { - return new JSONResponse([ - 'success' => false, - 'error' => $e->getMessage() - ]); - } + public function index(): void { + echo ''; + echo ''; + echo '
'; + echo ''; + echo 'App Name: ' . htmlspecialchars($this->appName) . '
'; + echo 'Request: ' . htmlspecialchars(print_r($this->request, true)) . '
'; + echo 'Class: OCA\AnalyticsHub\Controller\PageController
'; + echo 'Method: index() invoked
'; + echo 'Namespace: OCA\AnalyticsHub\Controller
'; + echo '✅ Controller successfully loaded
'; + echo '✅ index() method executed
'; + echo '