SimBrief integration #405 (#635)

* SimBrief integration #405

* Add briefing as API response; add acars_xml field #405
This commit is contained in:
Nabeel S
2020-03-23 09:31:35 -04:00
committed by GitHub
parent 04b9e37e1d
commit 9e5386264f
70 changed files with 6816 additions and 192 deletions

View File

@@ -2,10 +2,11 @@
namespace App\Http\Resources;
use App\Contracts\Resource;
use App\Support\Units\Distance;
use App\Support\Units\Fuel;
class Acars extends Response
class Acars extends Resource
{
/**
* Transform the resource into an array.

View File

@@ -2,10 +2,12 @@
namespace App\Http\Resources;
use App\Contracts\Resource;
/**
* ACARS table but only include the fields for the routes
* Class AcarsRoute
*/
class AcarsLog extends Response
class AcarsLog extends Resource
{
}

View File

@@ -2,10 +2,12 @@
namespace App\Http\Resources;
use App\Contracts\Resource;
/**
* ACARS table but only include the fields for the routes
* Class AcarsRoute
*/
class AcarsRoute extends Response
class AcarsRoute extends Resource
{
}

View File

@@ -2,6 +2,8 @@
namespace App\Http\Resources;
class Aircraft extends Response
use App\Contracts\Resource;
class Aircraft extends Resource
{
}

View File

@@ -2,7 +2,9 @@
namespace App\Http\Resources;
class Airline extends Response
use App\Contracts\Resource;
class Airline extends Resource
{
public function toArray($request)
{

View File

@@ -2,6 +2,8 @@
namespace App\Http\Resources;
class Airport extends Response
use App\Contracts\Resource;
class Airport extends Resource
{
}

View File

@@ -2,7 +2,9 @@
namespace App\Http\Resources;
class AirportDistance extends Response
use App\Contracts\Resource;
class AirportDistance extends Resource
{
public function toArray($request)
{

View File

@@ -2,7 +2,9 @@
namespace App\Http\Resources;
class Award extends Response
use App\Contracts\Resource;
class Award extends Resource
{
public function toArray($request)
{

View File

@@ -2,7 +2,9 @@
namespace App\Http\Resources;
class Bid extends Response
use App\Contracts\Resource;
class Bid extends Resource
{
public function toArray($request)
{

View File

@@ -2,7 +2,7 @@
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\Resource;
use App\Contracts\Resource;
/**
* @mixin \App\Models\Fare

View File

@@ -2,13 +2,15 @@
namespace App\Http\Resources;
use App\Contracts\Resource;
use App\Http\Resources\SimBrief as SimbriefResource;
use App\Support\Units\Distance;
use stdClass;
/**
* @mixin \App\Models\Flight
*/
class Flight extends Response
class Flight extends Resource
{
/**
* Set the fields on the flight object
@@ -55,9 +57,12 @@ class Flight extends Response
$res['distance'] = $distance->getResponseUnits();
$res['airline'] = new Airline($this->airline);
$res['subfleets'] = Subfleet::collection($this->subfleets);
$res['subfleets'] = Subfleet::collection($this->whenLoaded('subfleets'));
$res['fields'] = $this->setFields();
// Simbrief info
$res['simbrief'] = new SimbriefResource($this->whenLoaded('simbrief'));
return $res;
}
}

View File

@@ -2,7 +2,9 @@
namespace App\Http\Resources;
class JournalTransaction extends Response
use App\Contracts\Resource;
class JournalTransaction extends Resource
{
public function toArray($request)
{

View File

@@ -2,8 +2,8 @@
namespace App\Http\Resources;
use App\Contracts\Resource;
use App\Models\Enums\NavaidType;
use Illuminate\Http\Resources\Json\Resource;
class Navdata extends Resource
{

View File

@@ -2,11 +2,8 @@
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\Resource;
use App\Contracts\Resource;
/**
* Class Response
*/
class News extends Resource
{
/**

View File

@@ -2,11 +2,16 @@
namespace App\Http\Resources;
use App\Contracts\Resource;
use App\Http\Resources\SimBrief as SimbriefResource;
use App\Models\Enums\PirepStatus;
use App\Support\Units\Distance;
use App\Support\Units\Fuel;
class Pirep extends Response
/**
* @mixin \App\Models\Pirep
*/
class Pirep extends Resource
{
/**
* Transform the resource into an array.
@@ -75,6 +80,9 @@ class Pirep extends Response
// format to kvp
$res['fields'] = new PirepFieldCollection($this->fields);
// Simbrief info
$res['simbrief'] = new SimbriefResource($this->whenLoaded('simbrief'));
return $res;
}
}

View File

@@ -2,11 +2,8 @@
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\Resource;
use App\Contracts\Resource;
/**
* Class Response
*/
class PirepComment extends Resource
{
/**

View File

@@ -2,7 +2,7 @@
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\Resource;
use App\Contracts\Resource;
class Rank extends Resource
{

View File

@@ -1,30 +0,0 @@
<?php
namespace App\Http\Resources;
use App\Contracts\Unit;
use Illuminate\Http\Resources\Json\Resource;
/**
* Class Response
*/
class Response extends Resource
{
/**
* Iterate through the list of $fields and check if they're a "Unit"
* If they are, then add the response
*
* @param $response
* @param array $fields
*/
public function checkUnitFields(&$response, array $fields): void
{
foreach ($fields as $f) {
if ($this->{$f} instanceof Unit) {
$response[$f] = $this->{$f}->getResponseUnits();
} else {
$response[$f] = $this->{$f};
}
}
}
}

View File

@@ -2,7 +2,7 @@
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\Resource;
use App\Contracts\Resource;
class Setting extends Resource
{

View File

@@ -0,0 +1,19 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\Resource;
/**
* @mixin \App\Models\SimBrief
*/
class SimBrief extends Resource
{
public function toArray($request)
{
return [
'id' => $this->id,
'url' => url(route('api.flights.briefing', ['id' => $this->id])),
];
}
}

View File

@@ -2,7 +2,7 @@
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\Resource;
use App\Contracts\Resource;
class Subfleet extends Resource
{

View File

@@ -2,7 +2,7 @@
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\Resource;
use App\Contracts\Resource;
class User extends Resource
{

View File

@@ -2,7 +2,7 @@
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\Resource;
use App\Contracts\Resource;
class UserBid extends Resource
{