* #355 Calculate distance button in add/edit Flight page * Styling * Move add/edit flight logic out of controller and into service layer * Styling * Formatting * Run styleci against modules dir * Styleci config * Style fixes in /modules
This commit is contained in:
41
app/Exceptions/AirportNotFound.php
Normal file
41
app/Exceptions/AirportNotFound.php
Normal file
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
|
||||
namespace App\Exceptions;
|
||||
|
||||
class AirportNotFound extends HttpException
|
||||
{
|
||||
private $icao;
|
||||
|
||||
public function __construct($icao)
|
||||
{
|
||||
$this->icao = $icao;
|
||||
parent::__construct(
|
||||
404,
|
||||
'Airport '.$icao.' not found'
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the RFC 7807 error type (without the URL root)
|
||||
*/
|
||||
public function getErrorType(): string
|
||||
{
|
||||
return 'airport-not-found';
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the detailed error string
|
||||
*/
|
||||
public function getErrorDetails(): string
|
||||
{
|
||||
return $this->getMessage();
|
||||
}
|
||||
|
||||
/**
|
||||
* Return an array with the error details, merged with the RFC7807 response
|
||||
*/
|
||||
public function getErrorMetadata(): array
|
||||
{
|
||||
return [];
|
||||
}
|
||||
}
|
||||
45
app/Exceptions/DuplicateFlight.php
Normal file
45
app/Exceptions/DuplicateFlight.php
Normal file
@@ -0,0 +1,45 @@
|
||||
<?php
|
||||
|
||||
namespace App\Exceptions;
|
||||
|
||||
use App\Models\Flight;
|
||||
|
||||
class DuplicateFlight extends HttpException
|
||||
{
|
||||
private $flight;
|
||||
|
||||
public function __construct(Flight $flight)
|
||||
{
|
||||
$this->flight = $flight;
|
||||
parent::__construct(
|
||||
409,
|
||||
'Duplicate flight with same number/code/leg found'
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the RFC 7807 error type (without the URL root)
|
||||
*/
|
||||
public function getErrorType(): string
|
||||
{
|
||||
return 'duplicate-flight';
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the detailed error string
|
||||
*/
|
||||
public function getErrorDetails(): string
|
||||
{
|
||||
return $this->getMessage();
|
||||
}
|
||||
|
||||
/**
|
||||
* Return an array with the error details, merged with the RFC7807 response
|
||||
*/
|
||||
public function getErrorMetadata(): array
|
||||
{
|
||||
return [
|
||||
'flight_id' => $this->flight->id,
|
||||
];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user