2026-02-18 00:15:02 -06:00
|
|
|
<?php
|
|
|
|
|
|
2026-02-19 23:14:00 -06:00
|
|
|
use App\Http\Controllers\AuthController;
|
2026-04-03 00:39:37 -05:00
|
|
|
use App\Http\Controllers\InvitationController;
|
2026-02-18 00:15:02 -06:00
|
|
|
use App\Http\Controllers\MovieController;
|
|
|
|
|
use App\Http\Controllers\MovieListController;
|
|
|
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
|
|
2026-02-19 23:14:00 -06:00
|
|
|
// Public auth routes
|
2026-04-03 00:39:37 -05:00
|
|
|
Route::post('/register', [AuthController::class, 'register'])->name('auth.register');
|
|
|
|
|
Route::post('/login', [AuthController::class, 'login'])->name('auth.login');
|
|
|
|
|
Route::post('/reset-password', [AuthController::class, 'resetPassword'])->name('auth.reset-password');
|
|
|
|
|
Route::post('/forgot-password', [AuthController::class, 'forgotPassword'])->name('auth.forgot-password');
|
|
|
|
|
Route::get('/invitations/{token}/accept', [InvitationController::class, 'accept'])->name('invitations.accept');
|
|
|
|
|
Route::get('/invitations/{token}/decline', [InvitationController::class, 'decline'])->name('invitations.decline');
|
2026-02-18 00:15:02 -06:00
|
|
|
|
2026-02-19 23:14:00 -06:00
|
|
|
// Authenticated routes
|
|
|
|
|
Route::middleware('auth:sanctum')->group(function () {
|
2026-04-03 00:39:37 -05:00
|
|
|
Route::post('/logout', [AuthController::class, 'logout'])->name('auth.logout');
|
|
|
|
|
|
|
|
|
|
// Invitations
|
|
|
|
|
Route::post('/invitations', [InvitationController::class, 'store'])->name('invitations.store');
|
2026-02-18 00:15:02 -06:00
|
|
|
|
2026-02-19 23:14:00 -06:00
|
|
|
// Movies
|
2026-03-02 17:33:41 -06:00
|
|
|
Route::get('/movies/search/{query}', [MovieController::class, 'search'])->name('movies.search');
|
2026-02-19 23:14:00 -06:00
|
|
|
|
|
|
|
|
// Movie Lists
|
|
|
|
|
Route::get('/movielists', [MovieListController::class, 'index'])->name('movielists.index');
|
2026-03-02 17:33:41 -06:00
|
|
|
Route::put('/movielists/', [MovieListController::class, 'index'])->name('movielists.index');
|
2026-02-19 23:14:00 -06:00
|
|
|
Route::get('/movielists/{movieList}', [MovieListController::class, 'show'])->name('movielists.show');
|
|
|
|
|
Route::post('/movielists', [MovieListController::class, 'store'])->name('movielists.store');
|
2026-03-02 17:33:41 -06:00
|
|
|
Route::post('/movielists/{movieList}/movies', [MovieListController::class, 'addMovie'])->name('movielists.addMovie');
|
|
|
|
|
Route::delete('/movielists/{movieList}/movies/{movie}', [MovieListController::class, 'removeMovie'])->name('movielists.removeMovie');
|
2026-02-19 23:14:00 -06:00
|
|
|
Route::delete('/movielists/{movieList}', [MovieListController::class, 'destroy'])->name('movielists.destroy');
|
|
|
|
|
});
|