From f42a41286d8755ea218c01e8104f5b74e184c64b Mon Sep 17 00:00:00 2001 From: Nabeel S Date: Thu, 22 Jul 2021 11:59:52 -0400 Subject: [PATCH] Add a 'paused' state (#1265) * Add a 'paused' state * Check paused status --- app/Cron/Hourly/DeletePireps.php | 6 +++++- app/Cron/Hourly/RemoveExpiredLiveFlights.php | 1 + app/Models/Enums/PirepState.php | 5 ++--- app/Models/Enums/PirepStatus.php | 2 ++ resources/lang/de/pireps.php | 2 ++ resources/lang/en/pireps.php | 2 ++ resources/lang/es/pireps.php | 2 ++ resources/lang/it/pireps.php | 2 ++ resources/lang/pt-br/pireps.php | 2 ++ 9 files changed, 20 insertions(+), 4 deletions(-) diff --git a/app/Cron/Hourly/DeletePireps.php b/app/Cron/Hourly/DeletePireps.php index 40cfdc7f..0db706a0 100644 --- a/app/Cron/Hourly/DeletePireps.php +++ b/app/Cron/Hourly/DeletePireps.php @@ -5,6 +5,7 @@ namespace App\Cron\Hourly; use App\Contracts\Listener; use App\Events\CronHourly; use App\Models\Enums\PirepState; +use App\Models\Enums\PirepStatus; use App\Models\Pirep; use App\Services\PirepService; use Carbon\Carbon; @@ -38,7 +39,10 @@ class DeletePireps extends Listener protected function deletePireps(int $expire_time_hours, int $state) { $dt = Carbon::now('UTC')->subHours($expire_time_hours); - $pireps = Pirep::where('created_at', '<', $dt)->where(['state' => $state])->get(); + $pireps = Pirep::where('created_at', '<', $dt) + ->where(['state' => $state]) + ->where(['status', '<>', PirepStatus::PAUSED]) + ->get(); /** @var PirepService $pirepSvc */ $pirepSvc = app(PirepService::class); diff --git a/app/Cron/Hourly/RemoveExpiredLiveFlights.php b/app/Cron/Hourly/RemoveExpiredLiveFlights.php index 7700b41f..6fee759e 100644 --- a/app/Cron/Hourly/RemoveExpiredLiveFlights.php +++ b/app/Cron/Hourly/RemoveExpiredLiveFlights.php @@ -32,6 +32,7 @@ class RemoveExpiredLiveFlights extends Listener $pireps = Pirep::where('updated_at', '<', $date) ->where('state', PirepState::IN_PROGRESS) ->get(); + foreach ($pireps as $pirep) { event(new PirepCancelled($pirep)); Log::info('Cron: Deleting Expired Live PIREP id='.$pirep->id.', state='.PirepState::label($pirep->state)); diff --git a/app/Models/Enums/PirepState.php b/app/Models/Enums/PirepState.php index 0d35d7b3..2d766718 100644 --- a/app/Models/Enums/PirepState.php +++ b/app/Models/Enums/PirepState.php @@ -4,9 +4,6 @@ namespace App\Models\Enums; use App\Contracts\Enum; -/** - * Class PirepState - */ class PirepState extends Enum { public const IN_PROGRESS = 0; // flight is ongoing @@ -16,6 +13,7 @@ class PirepState extends Enum public const DELETED = 4; public const DRAFT = 5; public const REJECTED = 6; + public const PAUSED = 7; protected static $labels = [ self::IN_PROGRESS => 'pireps.state.in_progress', @@ -25,5 +23,6 @@ class PirepState extends Enum self::DELETED => 'pireps.state.deleted', self::DRAFT => 'pireps.state.draft', self::REJECTED => 'pireps.state.rejected', + self::PAUSED => 'pireps.state.paused', ]; } diff --git a/app/Models/Enums/PirepStatus.php b/app/Models/Enums/PirepStatus.php index 26b4b521..c5d566b0 100644 --- a/app/Models/Enums/PirepStatus.php +++ b/app/Models/Enums/PirepStatus.php @@ -34,6 +34,7 @@ class PirepStatus extends Enum public const ARRIVED = 'ONB'; // On block public const CANCELLED = 'DX'; public const EMERG_DESCENT = 'EMG'; + public const PAUSED = 'PSD'; protected static $labels = [ self::INITIATED => 'pireps.status.initialized', @@ -59,5 +60,6 @@ class PirepStatus extends Enum self::ARRIVED => 'pireps.status.arrived', self::CANCELLED => 'pireps.status.cancelled', self::EMERG_DESCENT => 'pireps.status.emerg_decent', + self::PAUSED => 'pireps.status.paused', ]; } diff --git a/resources/lang/de/pireps.php b/resources/lang/de/pireps.php index 618787ae..5aa15e7e 100644 --- a/resources/lang/de/pireps.php +++ b/resources/lang/de/pireps.php @@ -43,6 +43,7 @@ return [ 'cancelled' => 'Abgebrochen', 'deleted' => 'Gelöscht', 'draft' => 'Entwurf', + 'paused' => 'Angehalten', ], 'status' => [ 'initialized' => 'Erstellt', @@ -66,5 +67,6 @@ return [ 'arrived' => 'Angekommen', 'cancelled' => 'Abgebrochen', 'emerg_decent' => 'Notfall dezent', + 'paused' => 'Angehalten', ], ]; diff --git a/resources/lang/en/pireps.php b/resources/lang/en/pireps.php index 1b734d72..ca85d1fb 100644 --- a/resources/lang/en/pireps.php +++ b/resources/lang/en/pireps.php @@ -43,6 +43,7 @@ return [ 'cancelled' => 'Cancelled', 'deleted' => 'Deleted', 'draft' => 'Draft', + 'paused' => 'Paused', ], 'status' => [ 'initialized' => 'Initiated', @@ -66,5 +67,6 @@ return [ 'arrived' => 'Arrived', 'cancelled' => 'Cancelled', 'emerg_decent' => 'Emergency decent', + 'paused' => 'Paused', ], ]; diff --git a/resources/lang/es/pireps.php b/resources/lang/es/pireps.php index 234652c2..cd6833ea 100644 --- a/resources/lang/es/pireps.php +++ b/resources/lang/es/pireps.php @@ -43,6 +43,7 @@ return [ 'cancelled' => 'Cancelado', 'deleted' => 'Eliminado', 'draft' => 'Borrador', + 'paused' => 'Pausado', ], 'status' => [ 'initialized' => 'Iniciado', @@ -66,5 +67,6 @@ return [ 'arrived' => 'Llegó', 'cancelled' => 'Cancelado', 'emerg_decent' => 'Descenso de emergencía', + 'paused' => 'Pausado', ], ]; diff --git a/resources/lang/it/pireps.php b/resources/lang/it/pireps.php index 283dc3b6..a741bced 100644 --- a/resources/lang/it/pireps.php +++ b/resources/lang/it/pireps.php @@ -44,6 +44,7 @@ return [ 'cancelled' => 'Cancellato', 'deleted' => 'Eliminato', 'draft' => 'Bozza', + 'paused' => 'In pausa', ], 'status' => [ 'initialized' => 'Iniziato', @@ -67,5 +68,6 @@ return [ 'arrived' => 'Arrivato', 'cancelled' => 'Cancellato', 'emerg_decent' => 'Discesa di Emergenza', + 'paused' => 'In pausa', ], ]; diff --git a/resources/lang/pt-br/pireps.php b/resources/lang/pt-br/pireps.php index 9503e6b9..bb947ac1 100755 --- a/resources/lang/pt-br/pireps.php +++ b/resources/lang/pt-br/pireps.php @@ -43,6 +43,7 @@ return [ 'cancelled' => 'Cancelado', 'deleted' => 'Deletado', 'draft' => 'Esboçado', + 'paused' => 'Em pausa', ], 'status' => [ 'initialized' => 'Iniciada', @@ -66,5 +67,6 @@ return [ 'arrived' => 'Chegou', 'cancelled' => 'Cancelado', 'emerg_decent' => 'Descida de emergência', + 'paused' => 'Em pausa', ], ];