movie-night-api/routes/api.php

36 lines
2 KiB
PHP
Raw Normal View History

2026-02-18 00:15:02 -06:00
<?php
2026-02-19 23:14:00 -06:00
use App\Http\Controllers\AuthController;
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
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 () {
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
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-04-05 00:37:44 -05:00
Route::put('/movielists/{movieList}', [MovieListController::class, 'update'])->name('movielists.update');
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');
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');
});