diff --git a/application/Espo/Resources/routes.json b/application/Espo/Resources/routes.json index 6abeb7eb98..c4619f9cc0 100644 --- a/application/Espo/Resources/routes.json +++ b/application/Espo/Resources/routes.json @@ -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", diff --git a/application/Espo/Tools/App/Api/GetAppParams.php b/application/Espo/Tools/App/Api/GetAppParams.php new file mode 100644 index 0000000000..a75a2dcbe2 --- /dev/null +++ b/application/Espo/Tools/App/Api/GetAppParams.php @@ -0,0 +1,53 @@ +. + * + * 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); + } +} diff --git a/application/Espo/Tools/App/AppService.php b/application/Espo/Tools/App/AppService.php index 13f9384de4..8a2eb80149 100644 --- a/application/Espo/Tools/App/AppService.php +++ b/application/Espo/Tools/App/AppService.php @@ -149,10 +149,7 @@ class AppService ]; } - /** - * @return array - */ - 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 diff --git a/client/src/app-params.js b/client/src/app-params.js index 01b0870195..83d3652068 100644 --- a/client/src/app-params.js +++ b/client/src/app-params.js @@ -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; } }