Visitor management app with SSO, kiosk, badges, reports, and Gitea CI deploy to frontdesk.ladill.com. Co-authored-by: Cursor <cursoragent@cursor.com>
32 lines
902 B
PHP
32 lines
902 B
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Frontdesk;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Models\Visit;
|
|
use App\Services\Frontdesk\QrCodeService;
|
|
use App\Services\Frontdesk\VisitCheckOutService;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\View\View;
|
|
|
|
class QrScanController extends Controller
|
|
{
|
|
public function show(string $token, QrCodeService $qr): View
|
|
{
|
|
$visit = Visit::where('qr_token', $token)->with(['visitor', 'host', 'organization'])->firstOrFail();
|
|
|
|
return view('frontdesk.qr.show', [
|
|
'visit' => $visit,
|
|
'qrSvg' => $qr->svg($visit),
|
|
]);
|
|
}
|
|
|
|
public function checkOut(string $token, VisitCheckOutService $checkOut): View
|
|
{
|
|
$visit = Visit::where('qr_token', $token)->firstOrFail();
|
|
$checkOut->checkOut($visit);
|
|
|
|
return view('frontdesk.qr.checked-out', ['visit' => $visit->load('visitor')]);
|
|
}
|
|
}
|