81 lines
4.7 KiB
PHP
81 lines
4.7 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace OCA\ChdAdmin\Controller;
|
|
|
|
use OCA\ChdAdmin\AppInfo\Application;
|
|
use OCP\AppFramework\Controller;
|
|
use OCP\AppFramework\Http\TemplateResponse;
|
|
use OCP\IRequest;
|
|
use OCP\IURLGenerator;
|
|
|
|
class PageController extends Controller {
|
|
public function __construct(
|
|
IRequest $request,
|
|
private IURLGenerator $urlGenerator,
|
|
) {
|
|
parent::__construct(Application::APP_ID, $request);
|
|
}
|
|
|
|
/**
|
|
* @AdminRequired
|
|
* @NoCSRFRequired
|
|
*/
|
|
public function index(): TemplateResponse {
|
|
$gatewayProxyTemplate = '';
|
|
try {
|
|
$gatewayProxyTemplate = $this->urlGenerator->linkToRoute('qortal_integration.gateway.proxy', ['path' => '__PATH__']);
|
|
} catch (\Throwable $e) {
|
|
$gatewayProxyTemplate = '/apps/qortal_integration/gateway/__PATH__';
|
|
}
|
|
return new TemplateResponse(
|
|
Application::APP_ID,
|
|
'admin',
|
|
[
|
|
'title' => 'CHD Admin',
|
|
'overviewUrl' => $this->urlGenerator->linkToRoute('chd_admin.api.overview'),
|
|
'connectorRoutingConfigUrl' => $this->urlGenerator->linkToRoute('chd_admin.api.connectorRoutingConfig'),
|
|
'saveConnectorRoutingConfigUrl' => $this->urlGenerator->linkToRoute('chd_admin.api.saveConnectorRoutingConfig'),
|
|
'saveConnectorAdminTokenUrl' => $this->urlGenerator->linkToRoute('chd_admin.api.saveConnectorAdminToken'),
|
|
'saveBillingAutoFulfillmentUrl' => $this->urlGenerator->linkToRoute('chd_admin.api.saveBillingAutoFulfillment'),
|
|
'runBillingAutoFulfillmentUrl' => $this->urlGenerator->linkToRoute('chd_admin.api.runBillingAutoFulfillment'),
|
|
'backfillBillingAutoFulfillmentUrl' => $this->urlGenerator->linkToRoute('chd_admin.api.backfillBillingAutoFulfillment'),
|
|
'connectorSummaryUrl' => $this->urlGenerator->linkToRoute('chd_admin.api.connectorSummary'),
|
|
'connectorInstancesUrl' => $this->urlGenerator->linkToRoute('chd_admin.api.connectorInstances'),
|
|
'connectorInstanceDetailUrl' => $this->urlGenerator->linkToRoute('chd_admin.api.connectorInstanceDetail'),
|
|
'paymenterClientsUrl' => $this->urlGenerator->linkToRoute('chd_admin.api.paymenterClients'),
|
|
'paymenterOrdersUrl' => $this->urlGenerator->linkToRoute('chd_admin.api.paymenterOrders'),
|
|
'paymenterSnapshotUrl' => $this->urlGenerator->linkToRoute('chd_admin.api.paymenterSnapshot'),
|
|
'paymenterSourceSyncUrl' => $this->urlGenerator->linkToRoute('chd_admin.api.paymenterSourceSync'),
|
|
'paymenterBackupsUrl' => $this->urlGenerator->linkToRoute('chd_admin.api.paymenterBackups'),
|
|
'paymenterInvoicesUrl' => $this->urlGenerator->linkToRoute('chd_admin.api.paymenterInvoices'),
|
|
'paymenterInvoiceItemsUrl' => $this->urlGenerator->linkToRoute('chd_admin.api.paymenterInvoiceItems'),
|
|
'saveConnectorInstanceTargetUrl' => $this->urlGenerator->linkToRoute('chd_admin.api.saveConnectorInstanceTarget'),
|
|
'saveConnectorInstanceMetadataUrl' => $this->urlGenerator->linkToRoute('chd_admin.api.saveConnectorInstanceMetadata'),
|
|
'saveConnectorInstanceStateUrl' => $this->urlGenerator->linkToRoute('chd_admin.api.saveConnectorInstanceState'),
|
|
'instanceOperationsUrl' => $this->urlGenerator->linkToRoute('chd_admin.api.instanceOperations'),
|
|
'saveInstanceOperationUrl' => $this->urlGenerator->linkToRoute('chd_admin.api.saveInstanceOperation'),
|
|
'updateInstanceOperationStatusUrl' => $this->urlGenerator->linkToRoute('chd_admin.api.updateInstanceOperationStatus'),
|
|
'introGrantTaskActionUrl' => $this->urlGenerator->linkToRoute('chd_admin.api.introGrantTaskAction'),
|
|
'connectorCatalogConfigUrl' => $this->urlGenerator->linkToRoute('chd_admin.api.connectorCatalogConfig'),
|
|
'saveConnectorCatalogConfigUrl' => $this->urlGenerator->linkToRoute('chd_admin.api.saveConnectorCatalogConfig'),
|
|
'announcementsUrl' => $this->urlGenerator->linkToRoute('chd_admin.api.announcements'),
|
|
'announcementTargetUrl' => $this->urlGenerator->linkToRoute('chd_admin.api.announcementTarget'),
|
|
'saveAnnouncementsUrl' => $this->urlGenerator->linkToRoute('chd_admin.api.saveAnnouncements'),
|
|
'publishAnnouncementUrl' => $this->urlGenerator->linkToRoute('chd_admin.api.publishAnnouncement'),
|
|
'qortalAdminUrl' => '/settings/admin/qortal_integration',
|
|
'accountDashboardUrl' => '/apps/qortal_integration/account',
|
|
'qappsUrl' => '/apps/qortal_integration/qapps',
|
|
'qappsRequestUrl' => $this->urlGenerator->linkToRoute('qortal_integration.api.qappsRequest'),
|
|
'qappsApproveUrl' => $this->urlGenerator->linkToRoute('qortal_integration.api.qappsApprove'),
|
|
'qappsUnlockUrl' => $this->urlGenerator->linkToRoute('qortal_integration.api.qappsUnlock'),
|
|
'qappsUnlockStatusUrl' => $this->urlGenerator->linkToRoute('qortal_integration.api.qappsUnlockStatus'),
|
|
'gatewayProxyTemplate' => $gatewayProxyTemplate,
|
|
'chdcQappAddress' => 'qortal://CHDC',
|
|
],
|
|
TemplateResponse::RENDER_AS_USER
|
|
);
|
|
}
|
|
}
|