Add public API v1 with API key auth, rate limiting, and docs page

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Mark
2026-05-31 23:29:18 +03:00
co-authored by Claude Sonnet 4.6
parent 68d01448d2
commit a583a13da1
17 changed files with 1602 additions and 1 deletions
+32
View File
@@ -0,0 +1,32 @@
<?php
namespace App\Http\Controllers;
use App\Models\ApiKey;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Gate;
class ApiKeyController extends Controller
{
public function index()
{
$keys = auth()->user()->apiKeys()->latest()->get();
return view('settings.api-keys', compact('keys'));
}
public function store(Request $request)
{
$request->validate(['name' => 'required|string|max:50']);
$apiKey = ApiKey::generate(auth()->user(), $request->name);
return redirect()->route('settings.api-keys')->with('new_api_key', $apiKey->key);
}
public function destroy(ApiKey $apiKey)
{
Gate::authorize('delete', $apiKey);
$apiKey->delete();
return redirect()->route('settings.api-keys')->with('success', 'API key deleted.');
}
}