Files
nextcloud-app-template/lib/Controller/PageController.php
2025-11-07 01:45:47 +02:00

57 lines
1.3 KiB
PHP

<?php
declare(strict_types=1);
// SPDX-FileCopyrightText: Your Name <your@email.com>
// SPDX-License-Identifier: AGPL-3.0-or-later
namespace OCA\NextcloudAppTemplate\Controller;
use OCA\NextcloudAppTemplate\AppInfo\Application;
use OCP\AppFramework\Controller;
use OCP\AppFramework\Http\Attribute\NoAdminRequired;
use OCP\AppFramework\Http\Attribute\NoCSRFRequired;
use OCP\AppFramework\Http\TemplateResponse;
use OCP\IRequest;
use Psr\Log\LoggerInterface;
class PageController extends Controller {
public function __construct(
string $appName,
IRequest $request,
private LoggerInterface $logger,
) {
$this->logger->info('NextcloudAppTemplate page controller loaded');
parent::__construct($appName, $request);
}
/**
* Main app page
*
* @return TemplateResponse<Http::STATUS_OK,array{}>
*
* 200: OK
*/
#[NoAdminRequired]
#[NoCSRFRequired]
public function index(): TemplateResponse {
$this->logger->info('Forum main page loaded');
return new TemplateResponse(Application::APP_ID, 'app', [
'script' => 'app',
]);
}
/**
* Main app page - catch all route
*
* @return TemplateResponse<Http::STATUS_OK,array{}>
*
* 200: OK
*/
#[NoAdminRequired]
#[NoCSRFRequired]
public function catchAll(string $path = ''): TemplateResponse {
return $this->index();
}
}