Add acars map page and show in-progress flights

This commit is contained in:
Nabeel Shahzad
2017-12-27 16:47:22 -06:00
parent a2e2a2a6a7
commit edca0644ff
103 changed files with 12380 additions and 827 deletions

View File

@@ -3,41 +3,40 @@
namespace App\Http\Controllers\Api;
use Log;
use App\Models\Acars;
use Illuminate\Http\Request;
use App\Http\Controllers\AppBaseController;
use App\Models\Acars;
use App\Services\GeoService;
use App\Repositories\AcarsRepository;
use App\Repositories\PirepRepository;
use App\Http\Resources\Acars as AcarsResource;
class AcarsController extends AppBaseController
{
protected $acarsRepo, $pirepRepo;
protected $acarsRepo, $geoSvc, $pirepRepo;
public function __construct(
GeoService $geoSvc,
AcarsRepository $acarsRepo,
PirepRepository $pirepRepo
) {
$this->geoSvc = $geoSvc;
$this->acarsRepo = $acarsRepo;
$this->pirepRepo = $pirepRepo;
}
/**
* Return all of the flights (as points) in GeoJSON format
*/
public function index(Request $request)
{
/*PirepResource::withoutWrapping();
return new PirepResource($this->pirepRepo->find($id));*/
}
/**
* Return the current ACARS map data in GeoJSON format
* @param Request $request
*/
public function geojson(Request $request)
{
$pireps = $this->acarsRepo->getPositions();
$positions = $this->geoSvc->getFeatureForLiveFlights($pireps);
return response(json_encode($positions), 200, [
'Content-type' => 'application/json'
]);
}
}

View File

@@ -181,4 +181,13 @@ class PirepController extends AppBaseController
AcarsResource::withoutWrapping();
return new AcarsResource($update);
}
/**
* @param $id
* @param Request $request
*/
public function geojson($id, Request $request)
{
$pirep = $this->pirepRepo->find($id);
}
}

View File

@@ -0,0 +1,37 @@
<?php
namespace App\Http\Controllers\Frontend;
use App\Models\Pirep;
use App\Repositories\AcarsRepository;
use App\Services\GeoService;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
class AcarsController extends Controller
{
private $acarsRepo, $geoSvc;
public function __construct(
AcarsRepository $acarsRepo,
GeoService $geoSvc
) {
$this->acarsRepo = $acarsRepo;
$this->geoSvc = $geoSvc;
}
/**
*
*/
public function index(Request $request)
{
$pireps = $this->acarsRepo->getPositions();
$positions = $this->geoSvc->getFeatureForLiveFlights($pireps);
return $this->view('acars.index',[
'pireps' => $pireps,
'positions' => $positions,
]);
}
}