'staff_1', 'requestData' => [ 'page' => [ 'validation' => DataValidator::numeric(), 'error' => ERRORS::INVALID_PAGE ] ] ]; } public function handler() { $page = Controller::request('page'); $departmentId = Controller::request('departmentId'); if (Ticket::isTableEmpty()) { Response::respondSuccess([ 'tickets' => [], 'page' => $page, 'pages' => 0 ]); return; } $user = Controller::getLoggedUser(); $query = ' ('; foreach ($user->sharedDepartmentList as $department) { $query .= 'department_id=' . $department->id . ' OR '; } $ownerExists = RedBean::exec('SHOW COLUMNS FROM ticket LIKE \'owner_id\''); if($ownerExists != 0) { $query .= 'FALSE) AND closed = 0 AND owner_id IS NULL'; } else { $query .= 'FALSE) AND closed = 0'; } if($departmentId) { $query .= ' AND department_id=' . $departmentId; } $countTotal = Ticket::count($query); $query .= ' ORDER BY unread_staff DESC'; $query .= ' LIMIT 10 OFFSET ' . ($page-1)*10; $ticketList = Ticket::find($query); Response::respondSuccess([ 'tickets' => $ticketList->toArray(true), 'page' => $page, 'pages' => ceil($countTotal / 10) ]); } }