* feat: integrate PHPStan, Rector and Pint code quality tools - Add larastan, rector, and rector-laravel dev dependencies - Configure PHPStan at max level with Larastan extension - Configure Rector with Laravel sets and code quality rules - Configure Pint with strict rules (final_class, strict_types) - Add composer scripts: lint, test:lint, test:types, test:unit - Add GitHub Actions workflow for CI on push/PR - Apply code style fixes across all files * docs: add code quality section to README
28 lines
952 B
PHP
28 lines
952 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
use App\Http\Controllers\Api\V1\AuthController;
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| API V1 Routes
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Routes for API version 1.
|
|
|
|
|
*/
|
|
|
|
// Public routes with auth rate limiter (5/min - brute force protection)
|
|
Route::middleware('throttle:auth')->group(function (): void {
|
|
Route::post('register', [AuthController::class, 'register'])->name('api.v1.register');
|
|
Route::post('login', [AuthController::class, 'login'])->name('api.v1.login');
|
|
});
|
|
|
|
// Protected routes with authenticated rate limiter (120/min)
|
|
Route::middleware(['auth:sanctum', 'throttle:authenticated'])->group(function (): void {
|
|
Route::post('logout', [AuthController::class, 'logout'])->name('api.v1.logout');
|
|
Route::get('me', [AuthController::class, 'me'])->name('api.v1.me');
|
|
});
|