Files
nextcloud-app-template/lib/Controller/PageController.php

53 lines
1.2 KiB
PHP

<?php
declare(strict_types=1);
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,
) {
parent::__construct($appName, $request);
}
/**
* Main app page
*
* @return TemplateResponse<Http::STATUS_OK,array{}>
*
* 200: OK
*/
#[NoAdminRequired]
#[NoCSRFRequired]
public function index(): TemplateResponse {
return new TemplateResponse(Application::APP_ID, 'app', [
'script' => Application::getViteEntryScript('app.ts'),
'style' => Application::getViteEntryScript('style.css'),
]);
}
/**
* 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();
}
}