diff --git a/application/controllers/Bus.php b/application/controllers/Bus.php index 965e6e8..cf56af8 100644 --- a/application/controllers/Bus.php +++ b/application/controllers/Bus.php @@ -227,7 +227,7 @@ function getLocalizations($idRoute, $idBus){ return $this->makeJsonRespose($lastLocalizations, 200); } /** - * @api {post} /routes/:idRoute/buses/:idBus/position Adicionar uma localização a um ônibus + * @api {post} /routes/:idRoute/buses/:idBus/positions Adicionar uma localização a um ônibus * @apiName PostPosition * @apiGroup Bus * @apiPermission tracker @@ -256,7 +256,7 @@ function getLocalizations($idRoute, $idBus){ * @apiParamExample {json} Exemplo de requisição: * { * "latitude": 3.2921, - * "longitude": -3.23123, + * "longitude": -3.23123 * } * * @apiErrorExample {json} Exemplo de respota com erro no json da requisição : diff --git a/application/models/Bus_model.php b/application/models/Bus_model.php index 71f8f03..9c2b554 100644 --- a/application/models/Bus_model.php +++ b/application/models/Bus_model.php @@ -5,7 +5,8 @@ class Bus_model extends CI_Model{ public $name; public $description; const table = 'bus'; - const lastLocalizationsTable = 'last_localizations'; + const lastLocalizationsTable = 'last_localizations'; + const MAX_LOCALIZATIONS_PER_BUS = 10; public function __construct(){ parent::__construct(); @@ -41,8 +42,27 @@ public function insertLocalization($idRoute, $idBus, $input){ $localization->date = date('Y-m-d H:i:s'); $this->db->insert(self::lastLocalizationsTable, $localization); + + $localizationsCount = count( + $this->db->select("*") + ->from(self::lastLocalizationsTable) + ->where("id_bus = {$idBus}") + ->get()->result() + ); + + if($localizationsCount > self::MAX_LOCALIZATIONS_PER_BUS) + $this->popLastLocalizations($idRoute, $idBus); + return $localization->date; } + private function popLastLocalizations($idRoute, $idBus){ + $r = $this->db->select("*") + ->from(self::lastLocalizationsTable) + ->where("id_bus = {$idBus}") + ->order_by("date", "asc") + ->limit(1,0)->delete(); + echo json_encode($r); + } public function insertBus($idRoute, $bus){ $busData = new stdClass(); $busData->id_routes = $idRoute;