Major refactoring for PIREP statuses and states to accomodate ACARS/route data

This commit is contained in:
Nabeel Shahzad
2017-12-19 20:19:36 -06:00
parent ac4958a2be
commit 0375bb420f
38 changed files with 352 additions and 170 deletions

28
app/Models/Enums/Days.php Normal file
View File

@@ -0,0 +1,28 @@
<?php
/**
*
*/
namespace App\Models\Enums;
class Days extends EnumBase {
const MONDAY = 1;
const TUESDAY = 2;
const WEDNESDAY = 4;
const THURSDAY = 8;
const FRIDAY = 16;
const SATURDAY = 32;
const SUNDAY = 64;
protected static $labels = [
Days::MONDAY => 'Monday',
Days::TUESDAY => 'Tuesday',
Days::WEDNESDAY => 'Wednesday',
Days::THURSDAY => 'Thursday',
Days::FRIDAY => 'Friday',
Days::SATURDAY => 'Saturday',
Days::SUNDAY => 'Sunday',
];
}

View File

@@ -0,0 +1,28 @@
<?php
/**
* Created by IntelliJ IDEA.
* User: nshahzad
* Date: 12/19/17
* Time: 8:04 PM
*/
namespace App\Models\Enums;
/**
* Class EnumBase
* @package App\Models\Enums
* TODO: Implement lang translations for enum labels
*/
class EnumBase
{
protected static $labels = [];
/**
* @param $value
* @return mixed
*/
public static function label($value) {
return self::$labels[$value];
}
}

View File

@@ -0,0 +1,22 @@
<?php
/**
* Created by IntelliJ IDEA.
* User: nshahzad
* Date: 12/19/17
* Time: 8:13 PM
*/
namespace App\Models\Enums;
class PirepSource extends EnumBase
{
const MANUAL = 0;
const ACARS = 1;
protected static $labels = [
PirepSource::MANUAL => 'Manual',
PirepSource::ACARS => 'ACARS',
];
}

View File

@@ -0,0 +1,17 @@
<?php
namespace App\Models\Enums;
use Illuminate\Support\Facades\Facade;
class PirepState extends EnumBase {
const REJECTED = -1;
const PENDING = 0;
const ACCEPTED = 1;
protected static $labels = [
PirepState::REJECTED => 'Rejected',
PirepState::PENDING => 'Pending',
PirepState::ACCEPTED => 'Accepted',
];
}

View File

@@ -0,0 +1,27 @@
<?php
/**
* Enums for PIREP statuses
*/
namespace App\Models\Enums;
/**
* Tied to the ACARS statuses/states
* Class PirepStatus
* @package App\Models\Enums
*/
class PirepStatus extends EnumBase
{
const PREFILE = 0;
const SCHEDULED = 0;
const ENROUTE = 1;
const ARRIVED = 2;
protected static $labels = [
PirepStatus::PREFILE => 'Prefiled',
PirepStatus::SCHEDULED => 'Scheduled',
PirepStatus::ENROUTE => 'Enroute',
PirepStatus::ARRIVED => 'Arrived',
];
}