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

@@ -160,7 +160,7 @@ class Pirep extends Model
*
* @return \App\Models\Pirep
*/
public static function fromFlight(Flight $flight)
public static function fromFlight(Flight $flight): self
{
return new self([
'flight_id' => $flight->id,
@@ -175,6 +175,28 @@ class Pirep extends Model
]);
}
/**
* Create a new PIREP from a SimBrief instance
*
* @param \App\Models\SimBrief $simBrief
*
* @return \App\Models\Pirep
*/
public static function fromSimBrief(SimBrief $simBrief): self
{
return new self([
'flight_id' => $simBrief->flight->id,
'airline_id' => $simBrief->flight->airline_id,
'flight_number' => $simBrief->flight->flight_number,
'route_code' => $simBrief->flight->route_code,
'route_leg' => $simBrief->flight->route_leg,
'dpt_airport_id' => $simBrief->flight->dpt_airport_id,
'arr_airport_id' => $simBrief->flight->arr_airport_id,
'route' => $simBrief->xml->getRouteString(),
'level' => $simBrief->xml->getFlightLevel(),
]);
}
/**
* Get the flight ident, e.,g JBU1900
*
@@ -484,6 +506,11 @@ class Pirep extends Model
->latest();
}
public function simbrief()
{
return $this->belongsTo(SimBrief::class, 'id', 'pirep_id');
}
public function transactions()
{
return $this->hasMany(JournalTransaction::class, 'ref_model_id')