Deploy Ladill Mini / deploy (push) Successful in 23s
Staff-facing counter register at pos.ladill.com with catalog cart, cash and MoMo/card checkout via Ladill Pay, CRM timeline/import, invoice prefill, and Merchant catalog import. Co-authored-by: Cursor <cursoragent@cursor.com>
46 lines
1.4 KiB
PHP
46 lines
1.4 KiB
PHP
<?php
|
||
|
||
namespace App\Http\Controllers\Qr;
|
||
|
||
use App\Http\Controllers\Controller;
|
||
use Illuminate\Http\RedirectResponse;
|
||
use Illuminate\Http\Request;
|
||
use Illuminate\View\View;
|
||
|
||
/**
|
||
* Developers — personal API tokens for the Ladill QR Plus API (Sanctum). Tokens
|
||
* belong to the signed-in user and authorize calls to /api/v1/*. The plaintext
|
||
* token is shown once on create.
|
||
*/
|
||
class DeveloperController extends Controller
|
||
{
|
||
public function index(Request $request): View
|
||
{
|
||
return view('qr.account.developers', [
|
||
'tokens' => $request->user()->tokens()->latest()->get(),
|
||
'apiBase' => rtrim((string) config('app.url'), '/').'/api/v1',
|
||
'newToken' => session('new_token'),
|
||
]);
|
||
}
|
||
|
||
public function store(Request $request): RedirectResponse
|
||
{
|
||
$data = $request->validate([
|
||
'name' => ['required', 'string', 'max:60'],
|
||
]);
|
||
|
||
$token = $request->user()->createToken($data['name'], ['qr:read', 'qr:write']);
|
||
|
||
return redirect()->route('account.developers')
|
||
->with('new_token', $token->plainTextToken)
|
||
->with('success', 'Token created — copy it now, it won’t be shown again.');
|
||
}
|
||
|
||
public function destroy(Request $request, int $token): RedirectResponse
|
||
{
|
||
$request->user()->tokens()->whereKey($token)->delete();
|
||
|
||
return redirect()->route('account.developers')->with('success', 'Token revoked.');
|
||
}
|
||
}
|