'any', 'requestData' => [ 'ticketNumber' => [ 'validation' => DataValidator::validTicketNumber(), 'error' => ERRORS::INVALID_TICKET ], 'email' => [ 'validation' => DataValidator::email(), 'error' => ERRORS::INVALID_EMAIL ], 'captcha' => [ 'validation' => DataValidator::captcha(), 'error' => ERRORS::INVALID_CAPTCHA ] ] ]; } public function handler() { if (Controller::isLoginMandatory()) { throw new RequestException(ERRORS::NO_PERMISSION); } $email = Controller::request('email'); $ticketNumber = Controller::request('ticketNumber'); $ticket = Ticket::getByTicketNumber($ticketNumber); if($ticket->authorEmail === $email) { $session = Session::getInstance(); $user = User::getUser($email, 'email'); $session->createSession($user->id, false, $ticketNumber); Response::respondSuccess([ 'token' => $session->getToken(), 'userId' => $session->getUserId(), 'ticketNumber' => $session->getTicketNumber() ]); } else { throw new RequestException(ERRORS::NO_PERMISSION); } } }