Add support for geofencing in location_support api call #536

This commit is contained in:
Kendrick Chan 2021-02-10 17:06:59 +08:00
parent 69f15eecfd
commit eb675dd4b9
2 changed files with 13 additions and 8 deletions

View file

@ -1954,7 +1954,7 @@ class APIController extends Controller implements LoggedController
return $res->getReturnResponse();
}
public function locationSupport(Request $req)
public function locationSupport(Request $req, GeofenceTracker $geo)
{
$required_params = [
'longitude',
@ -1965,11 +1965,16 @@ class APIController extends Controller implements LoggedController
if ($res->isError())
return $res->getReturnResponse();
$long = $req->query->get('longitude');
$lat = $req->query->get('latitude');
// geofence
$is_covered = $geo->isCovered($long, $lat);
$data = [
'longitude' => $req->query->get('longitude'),
'latitude' => $req->query->get('latitude'),
'supported' => true,
'longitude' => $long,
'latitude' => $lat,
'supported' => $is_covered,
];
$res->setData($data);

View file

@ -14,7 +14,7 @@ class APIResult
{
$this->err_flag = false;
$this->err_message = '';
$this->data = [];
$this->data = null;
}
public function setError($flag = true)
@ -39,7 +39,7 @@ class APIResult
return $this->err_message;
}
public function setData($data)
public function setData($data = null)
{
$this->data = $data;
return $this;
@ -57,8 +57,8 @@ class APIResult
else
$status = 'success';
if (count($this->data) == 0)
$this->data = new \stdClass();
if ($this->data == null || count($this->data) == 0)
$this->data = null;
$return_data = [
'error' => [