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:
co-authored by
Claude Sonnet 4.6
parent
68d01448d2
commit
a583a13da1
@@ -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.');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user