public function findUserRequests()
 {
     $stmt = $this->conn->prepare('SELECT r.`id`, p.`name` AS `projectName`, r.`name`, r.`createdAt`, r.`lastUpdatedAt`, r.`status`, r.`commentNum` ' . 'FROM `' . CoreTables::AREA_REQUEST_TBL . '` r ' . 'INNER JOIN `' . CoreTables::PROJECT_TBL . '` p ON p.`id` = r.`projectId` ' . 'WHERE r.`requestorId` = :id AND p.`archived` = 0 ORDER BY p.`id` DESC, r.`status`');
     $stmt->bindValue(':id', $this->tokenStorage->getToken()->getUser()->getId());
     $stmt->execute();
     $results = array();
     while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
         $row['statusLabel'] = AreaRequest::statusLabel($row['status']);
         $row['statusText'] = AreaRequest::statusText($row['status']);
         $results[] = $row;
     }
     $stmt->closeCursor();
     return $results;
 }
 public function getRecentRequests($count)
 {
     $this->transaction->requestTransaction();
     try {
         $items = $this->conn->fetchAll('SELECT r.`id`, r.`name`, u.`name` AS `username`, u.`avatar`, r.`status`, r.`createdAt` ' . 'FROM `' . CoreTables::AREA_REQUEST_TBL . '` r ' . 'INNER JOIN `' . CoreTables::USER_TBL . '` u ON u.`id` = r.`requestorId` ' . 'WHERE r.`projectId` = :projectId ' . 'ORDER BY r.`createdAt` DESC LIMIT ' . $count, [':projectId' => $this->project->getId()]);
         foreach ($items as &$item) {
             $item['statusText'] = AreaRequest::statusText($item['status']);
             $item['statusLabel'] = AreaRequest::statusLabel($item['status']);
         }
         return $items;
     } catch (Exception $ex) {
         $this->transaction->requestRollback();
         throw $ex;
     }
 }