Add /api/airlines and /api/airline/{id} #120

This commit is contained in:
Nabeel Shahzad
2018-01-06 15:13:33 -06:00
parent 46a411e27b
commit 2de8d9ed64
7 changed files with 95 additions and 24 deletions

View File

@@ -0,0 +1,41 @@
<?php
namespace App\Http\Controllers\Api;
use Illuminate\Http\Request;
use App\Repositories\AirlineRepository;
use App\Http\Resources\Airline as AirlineResource;
class AirlineController extends RestController
{
protected $airlineRepo;
public function __construct(AirlineRepository $airlineRepo) {
$this->airlineRepo = $airlineRepo;
}
/**
* Return all the airlines, paginated
*/
public function index(Request $request)
{
$airports = $this->airlineRepo
->orderBy('name', 'asc')
->paginate(50);
return AirlineResource::collection($airports);
}
/**
* Do a lookup, via vaCentral, for the airport information
* @param $id
* @return AirlineResource
*/
public function get($id)
{
$id = strtoupper($id);
AirlineResource::withoutWrapping();
return new AirlineResource($this->airlineRepo->find($id));
}
}

View File

@@ -7,6 +7,9 @@ Route::group([], function()
{
Route::get('acars', 'AcarsController@index');
Route::get('airlines', 'AirlineController@index');
Route::get('airlines/{id}', 'AirlineController@get');
Route::get('airports', 'AirportController@index');
Route::get('airports/hubs', 'AirportController@index_hubs');
Route::get('airports/{id}', 'AirportController@get');
@@ -18,11 +21,13 @@ Route::group([], function()
Route::get('flights/search', 'FlightController@search');
Route::get('flights/{id}', 'FlightController@get');
Route::get('pireps/{id}', 'PirepController@get');
Route::get('pireps/{id}/route', 'PirepController@route_get');
Route::get('pireps/{id}/acars/position', 'PirepController@acars_get');
Route::get('pireps/{id}/acars/geojson', 'PirepController@acars_geojson');
Route::get('status', 'StatusController@status');
Route::get('version', 'StatusController@status');
});
/**
@@ -30,13 +35,10 @@ Route::group([], function()
*/
Route::group(['middleware' => ['api.auth']], function ()
{
Route::get('pireps/{id}', 'PirepController@get');
Route::post('pireps/prefile', 'PirepController@prefile');
Route::post('pireps/{id}/file', 'PirepController@file');
Route::delete('pireps/{id}/cancel', 'PirepController@cancel');
Route::get('pireps/{id}/acars/geojson', 'PirepController@acars_geojson');
Route::post('pireps/{id}/acars/position', 'PirepController@acars_store');
Route::post('pireps/{id}/acars/positions', 'PirepController@acars_store');