feat: complete reservation lifecycle
This commit is contained in:
29
app/Console/Commands/ExpirePendingReservationsCommand.php
Normal file
29
app/Console/Commands/ExpirePendingReservationsCommand.php
Normal file
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands;
|
||||
|
||||
use App\Domain\Reservations\Services\ReservationService;
|
||||
use App\Jobs\ExpirePendingReservations;
|
||||
use Illuminate\Console\Command;
|
||||
|
||||
class ExpirePendingReservationsCommand extends Command
|
||||
{
|
||||
protected $signature = 'reservations:expire {--queue : Colocar a expiração na fila em vez de a executar agora}';
|
||||
|
||||
protected $description = 'Expira pré-reservas cujo prazo de aprovação terminou';
|
||||
|
||||
public function handle(ReservationService $reservations): int
|
||||
{
|
||||
if ($this->option('queue')) {
|
||||
ExpirePendingReservations::dispatch();
|
||||
$this->info('Expiração de pré-reservas colocada na fila.');
|
||||
|
||||
return self::SUCCESS;
|
||||
}
|
||||
|
||||
$expired = $reservations->expirePending();
|
||||
$this->info("{$expired} pré-reserva(s) expirada(s).");
|
||||
|
||||
return self::SUCCESS;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user