Files
gamelog/app/Http/Controllers/ApiKeyController.php

33 lines
838 B
PHP

<?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.');
}
}