/
mikopbx
/
ModuleRemoteSupport
Обзор
Документация
Войти
/
mikopbx
/
ModuleRemoteSupport
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
develop
Lib/RestAPI/Session/Processor.php
49 строк
1 KB
Nikolai Beketov
feat: add remote support module
23 июл 2026, 11:16
23 июл 2026, 11:16
6db0e7f
Код
Авторство
О чём код?
<?php declare(strict_types=1); namespace Modules\ModuleRemoteSupport\Lib\RestAPI\Session; use MikoPBX\PBXCoreREST\Lib\PBXApiResult; use Modules\ModuleRemoteSupport\Lib\RestAPI\Session\Actions\GetStatusAction; use Modules\ModuleRemoteSupport\Lib\RestAPI\Session\Actions\StartAction; use Modules\ModuleRemoteSupport\Lib\RestAPI\Session\Actions\StopAction; use Phalcon\Di\Injectable; class Processor extends Injectable { /** * @param array<string, mixed> $request */ public static function callBack(array $request): PBXApiResult { $action = is_string($request['action'] ?? null) ? $request['action'] : ''; $data = []; if (is_array($request['data'] ?? null)) { foreach ($request['data'] as $key => $value) { if (is_string($key)) { $data[$key] = $value; } } } $result = match ($action) { 'getStatus' => GetStatusAction::main($data), 'start' => StartAction::main($data), 'stop' => StopAction::main($data), default => self::unknownAction(), }; $result->processor = __METHOD__; $result->function = $action; return $result; } private static function unknownAction(): PBXApiResult { $result = new PBXApiResult(); $result->messages['error'] = ['rest_error_unknown_action']; return $result; } }