Added API

This commit is contained in:
2026-06-21 12:52:30 +10:00
parent 05ca994253
commit 5850c849d0
32 changed files with 248 additions and 107 deletions
+38 -8
View File
@@ -1,15 +1,45 @@
<?php
use App\Http\Controllers\SettingsController;
use Illuminate\Http\Request;
use App\Http\Controllers\Api\AircraftApiController;
use App\Http\Controllers\Api\AirlineApiController;
use App\Http\Controllers\Api\UserApiController;
use Illuminate\Support\Facades\Route;
Route::get('/user', function (Request $request) {
return $request->user();
})->middleware('auth:sanctum');
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');
});
});
Route::middleware('auth:sanctum')->group(function () {
Route::get('/settings', [SettingsController::class, 'show']);
Route::patch('/settings', [SettingsController::class, 'update']);
});
-21
View File
@@ -88,7 +88,6 @@ Route::domain(config('app.domain'))->group(
Route::get('/search/aircraft', [SearchController::class, 'aircraft'])->name('search.aircraft');
Route::get('/search/airports', [SearchController::class, 'airports'])->name('search.airports');
Route::get('/data/user/{user}/flights', [UserFlightController::class, 'viewableFlights']);
Route::get('/u/{user}', [UserProfileController::class, 'view'])->name('profile.view');
Route::get('/u/{user}/map', [UserProfileController::class, 'map'])->name('profile.map');
Route::get('/u/{user}/departure-board/{flight?}', [UserProfileController::class, 'departureBoard'])->name('profile.departure-board');
@@ -108,25 +107,5 @@ Route::domain(config('app.domain'))->group(
* API Routes
*/
Route::domain(config('app.api_domain'))->group(function () {
Route::get('/', function () {
return response()->json(['message' => 'Welcome to the FlightsGoneBy API']);
});
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::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');
});
Route::prefix('user')->controller(UserApiController::class)->group(function () {
Route::get('{username}/next-flight', 'nextFlight');
Route::get('{username}/flights', 'flights');
});
});