46 lines
1.7 KiB
PHP
46 lines
1.7 KiB
PHP
<?php
|
|
|
|
use App\Http\Controllers\Api\AircraftApiController;
|
|
use App\Http\Controllers\Api\AirlineApiController;
|
|
use App\Http\Controllers\Api\UserApiController;
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
Route::domain(config('app.api_domain'))->group(function () {
|
|
|
|
/* Public Routes */
|
|
Route::get('/', function () {
|
|
return response()->json(['message' => 'Welcome to the FlightsGoneBy API']);
|
|
});
|
|
|
|
Route::prefix('user')->controller(UserApiController::class)->group(function () {
|
|
Route::get('{user}/flights', 'viewableFlights')->name('api.user.flights');
|
|
Route::get('{user}/flights/departed', 'viewableDepartedFlights')->name('api.user.flights');
|
|
});
|
|
|
|
|
|
/* Image Routes */
|
|
Route::prefix('airline')->controller(AirlineApiController::class)->group(function () {
|
|
Route::get('{internalName}/logo/tail', 'getLogoByInternalName')->name('airline.logo.tail');
|
|
Route::get('{airlineInternalName}/livery/{aircraftDesignator}', 'getLivery')->name('airline.livery');
|
|
});
|
|
|
|
Route::prefix('aircraft')->controller(AircraftApiController::class)->group(function () {
|
|
Route::get('{aircraftDesignator}/livery', 'getLivery')->name('aircraft.livery');
|
|
});
|
|
|
|
|
|
/*Authenticated Routes*/
|
|
Route::middleware('auth:sanctum')->group(function () {
|
|
Route::prefix('airline')->controller(AirlineApiController::class)->group(function () {
|
|
Route::get('{internalName}', 'get')->name('airline.show');
|
|
Route::get('code/{code}', 'getByCode')->name('airline.code.index');
|
|
});
|
|
|
|
Route::prefix('user')->controller(UserApiController::class)->group(function () {
|
|
Route::get('{user}/flights/next', 'nextFlight')->name('api.user.flights.next');
|
|
});
|
|
});
|
|
|
|
|
|
});
|