add PIREP pre-file and ACARS updates; removing caching from ACARS/Pirep/User repositories; adjust PirepState enum values; add additional columns

This commit is contained in:
Nabeel Shahzad
2017-12-25 15:19:34 -06:00
parent 70b1476e93
commit 3bd97b4d37
41 changed files with 688 additions and 192 deletions

View File

@@ -1,10 +1,36 @@
<?php
namespace App;
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use App\Models\Traits\HashId;
class Acars extends Model
class Acars extends BaseModel
{
use HashId;
public $incrementing = false;
public $table = 'acars';
public $fillable = [
'pirep_id',
'name',
'lat',
'lon',
'altitude',
'vs',
'gs',
'transponder',
'autopilot',
'fuel_flow',
'sim_time',
];
/**
* FKs
*/
public function pirep()
{
return $this->belongsTo('App\Models\Pirep', 'pirep_id');
}
}

View File

@@ -2,9 +2,7 @@
namespace App\Models;
use Eloquent as Model;
class Aircraft extends Model
class Aircraft extends BaseModel
{
public $table = 'aircraft';

View File

@@ -2,13 +2,11 @@
namespace App\Models;
use Eloquent as Model;
/**
* Class Airline
* @package App\Models
*/
class Airline extends Model
class Airline extends BaseModel
{
public $table = 'airlines';

View File

@@ -2,13 +2,11 @@
namespace App\Models;
use Eloquent as Model;
/**
* Class Airport
* @package App\Models
*/
class Airport extends Model
class Airport extends BaseModel
{
public $table = 'airports';
public $timestamps = false;

8
app/Models/BaseModel.php Normal file
View File

@@ -0,0 +1,8 @@
<?php
namespace App\Models;
class BaseModel extends \Illuminate\Database\Eloquent\Model
{
}

View File

@@ -5,13 +5,15 @@ namespace App\Models\Enums;
class PirepState extends EnumBase {
const REJECTED = -1;
const PENDING = 0;
const ACCEPTED = 1;
const REJECTED = -1;
const IN_PROGRESS = 0;
const PENDING = 1;
const ACCEPTED = 2;
protected static $labels = [
PirepState::REJECTED => 'system.pireps.state.rejected',
PirepState::PENDING => 'system.pireps.state.pending',
PirepState::ACCEPTED => 'system.pireps.state.accepted',
PirepState::REJECTED => 'system.pireps.state.rejected',
PirepState::IN_PROGRESS => 'system.pireps.state.in_progress',
PirepState::PENDING => 'system.pireps.state.pending',
PirepState::ACCEPTED => 'system.pireps.state.accepted',
];
}

View File

@@ -2,14 +2,12 @@
namespace App\Models;
use Eloquent as Model;
/**
* Class Fare
*
* @package App\Models
*/
class Fare extends Model
class Fare extends BaseModel
{
public $table = 'fares';

View File

@@ -2,11 +2,9 @@
namespace App\Models;
use Eloquent as Model;
use App\Models\Traits\HashId;
class Flight extends Model
class Flight extends BaseModel
{
use HashId;

View File

@@ -2,14 +2,12 @@
namespace App\Models;
use Eloquent as Model;
/**
* Class Flight
*
* @package App\Models
*/
class FlightFields extends Model
class FlightFields extends BaseModel
{
public $table = 'flight_fields';

View File

@@ -2,9 +2,7 @@
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Navdata extends Model
class Navdata extends BaseModel
{
public $table = 'navdata';
public $timestamps = false;

View File

@@ -2,7 +2,6 @@
namespace App\Models;
use Eloquent as Model;
use App\Models\Traits\HashId;
use Illuminate\Database\Eloquent\SoftDeletes;
@@ -11,7 +10,7 @@ use Illuminate\Database\Eloquent\SoftDeletes;
*
* @package App\Models
*/
class Pirep extends Model
class Pirep extends BaseModel
{
use HashId;
use SoftDeletes;
@@ -29,7 +28,9 @@ class Pirep extends Model
'route_leg',
'airline_id',
'aircraft_id',
'altitude',
'flight_time',
'planned_flight_time',
'dpt_airport_id',
'arr_airport_id',
'fuel_used',
@@ -48,13 +49,16 @@ class Pirep extends Model
* @var array
*/
protected $casts = [
'id' => 'string',
'flight_time' => 'integer',
'level' => 'integer',
'fuel_used' => 'integer',
'source' => 'integer',
'state' => 'integer',
'status' => 'integer',
'id' => 'string',
'flight_time' => 'integer',
'planned_flight_time' => 'integer',
'level' => 'integer',
'altitude' => 'integer',
'fuel_used' => 'float',
'gross_weight' => 'float',
'source' => 'integer',
'state' => 'integer',
'status' => 'integer',
];
/**

View File

@@ -2,14 +2,12 @@
namespace App\Models;
use Eloquent as Model;
/**
* Class PirepEvent
*
* @package App\Models
*/
class PirepComment extends Model
class PirepComment extends BaseModel
{
public $table = 'pirep_comments';

View File

@@ -2,14 +2,12 @@
namespace App\Models;
use Eloquent as Model;
/**
* Class PirepEvent
*
* @package App\Models
*/
class PirepEvent extends Model
class PirepEvent extends BaseModel
{
public $table = 'pirep_fields';

View File

@@ -2,14 +2,12 @@
namespace App\Models;
use Eloquent as Model;
/**
* Class PirepField
*
* @package App\Models
*/
class PirepField extends Model
class PirepField extends BaseModel
{
public $table = 'pirep_fields';

View File

@@ -2,14 +2,12 @@
namespace App\Models;
use Eloquent as Model;
/**
* Class PirepField
*
* @package App\Models
*/
class PirepFieldValues extends Model
class PirepFieldValues extends BaseModel
{
public $table = 'pirep_field_values';

View File

@@ -2,13 +2,11 @@
namespace App\Models;
use Eloquent as Model;
/**
* Class Ranking
* @package App\Models
*/
class Rank extends Model
class Rank extends BaseModel
{
public $table = 'ranks';
@@ -29,9 +27,9 @@ class Rank extends Model
protected $casts = [
'name' => 'string',
'hours' => 'integer',
'auto_approve_acars' => 'integer',
'auto_approve_manual' => 'integer',
'auto_promote' => 'integer',
'auto_approve_acars' => 'bool',
'auto_approve_manual' => 'bool',
'auto_promote' => 'bool',
];
/**

View File

@@ -8,9 +8,7 @@
namespace App\Models;
use Eloquent as Model;
class Setting extends Model
class Setting extends BaseModel
{
public $table = 'settings';

View File

@@ -2,13 +2,11 @@
namespace App\Models;
use Eloquent as Model;
/**
* Class Subfleet
* @package App\Models
*/
class Subfleet extends Model
class Subfleet extends BaseModel
{
public $table = 'subfleets';
protected $dates = ['deleted_at'];

View File

@@ -37,6 +37,7 @@ class User extends Authenticatable
'airline_id',
'home_airport_id',
'curr_airport_id',
'last_pirep_id',
'rank_id',
'timezone',
'state',
@@ -96,6 +97,11 @@ class User extends Authenticatable
return $this->belongsTo('App\Models\Airport', 'curr_airport_id');
}
public function last_pirep()
{
return $this->belongsTo('App\Models\Pirep', 'last_pirep_id');
}
public function bids()
{
return $this->hasMany('App\Models\UserBid', 'user_id');

View File

@@ -2,12 +2,10 @@
namespace App\Models;
use Eloquent as Model;
/**
* @package App\Models
*/
class UserBid extends Model
class UserBid extends BaseModel
{
public $table = 'user_bids';