| Server IP : 95.46.96.79 / Your IP : 216.73.216.84 Web Server : Apache/2.4.41 (Ubuntu) System : Linux zaimer.uz 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 User : akslabs_uz_usr ( 1001) PHP Version : 7.4.3-4ubuntu2.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /var/www/sugurtatrip__usr95/data/www/sugurtatrip.uz/apiv1/user/Api/ |
Upload File : |
<?php
require_once 'LoginController.php';
require_once 'PolicyController.php';
require_once 'TelegramController.php';
require_once 'ApiActions.php';
require_once __DIR__ . '/../Core/Logger.php';
require_once __DIR__ . '/../Models/LogLevels.php';
class ApiHandler {
private $LoginController;
private $PolicyController;
private $TelegramController;
public function __construct() {
$this->LoginController = new LoginController();
$this->PolicyController = new PolicyController();
$this->TelegramController = new TelegramController();
}
public function handleRequest($request) {
$action = $request['action'] ?? null;
$data = $request['data'] ?? null;
if (!$action) {
Logger::log('Invalid request', LogLevels::ERROR);
return ['success' => false, 'message' => 'Invalid request'];
}
switch ($action) {
case ApiActions::LOGIN:
return $this->LoginController->loginUser($data['username'], $data['password']);
case ApiActions::LOGOUT:
return $this->LoginController->logoutUser();
case ApiActions::REQUEST_CODE:
return $this->LoginController->requestCode($data);
case ApiActions::VERIFY_CODE:
return $this->LoginController->confirmCode($data);
case ApiActions::CHECK_TOKEN:
return $this->LoginController->checkToken($data);
case ApiActions::GET_POLICIES:
$user = $this->authenticate();
if (!$user) {
return ['success' => false, 'message' => 'Authentication failed'];
}
return $this->PolicyController->getPolicies($user);
case ApiActions::GET_POLICY:
$user = $this->authenticate();
if (!$user) {
return ['success' => false, 'message' => 'Authentication failed'];
}
return $this->PolicyController->getPolicy($data, $user);
case ApiActions::CREATE_TG_REQUEST:
return $this->TelegramController->createClientRequest($data);
default:
return ['success' => false, 'message' => 'Invalid action'];
}
}
private function authenticate() {
$auth_result = $this->LoginController->authenticate();
return $auth_result ? $auth_result : false;
}
}