App/appParams endpoint

This commit is contained in:
Yurii
2025-12-13 11:18:49 +02:00
parent 0d17d12293
commit f16ddf0941
4 changed files with 62 additions and 7 deletions

View File

@@ -22,6 +22,11 @@
"method": "get",
"actionClassName": "Espo\\Tools\\App\\Api\\GetAbout"
},
{
"route": "/App/appParams",
"method": "get",
"actionClassName": "Espo\\Tools\\App\\Api\\GetAppParams"
},
{
"route": "/Metadata",
"method": "get",

View File

@@ -0,0 +1,53 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Tools\App\Api;
use Espo\Core\Api\Action;
use Espo\Core\Api\Request;
use Espo\Core\Api\Response;
use Espo\Core\Api\ResponseComposer;
use Espo\Tools\App\AppService;
/**
* @noinspection PhpUnused
*/
class GetAppParams implements Action
{
public function __construct(
private AppService $appService,
) {}
public function process(Request $request): Response
{
$data = $this->appService->getAppParams();
return ResponseComposer::json($data);
}
}

View File

@@ -149,10 +149,7 @@ class AppService
];
}
/**
* @return array<string, mixed>
*/
private function getAppParams(): array
public function getAppParams(): stdClass
{
$user = $this->user;
@@ -205,7 +202,7 @@ class AppService
$appParams[$paramKey] = $itemParams;
}
return $appParams;
return (object) $appParams;
}
private function getUserDataForFrontend(): stdClass

View File

@@ -66,8 +66,8 @@ export default class AppParams {
*/
async load() {
/** @type {module:app~UserData} */
const data = await Espo.Ajax.getRequest('App/user');
const data = await Espo.Ajax.getRequest('App/appParams');
this.params = data.appParams;
this.params = data;
}
}