Files
shopit-back/app/Domains/Ticket/Controllers/Scanner/TicketController.php

38 lines
1.1 KiB
PHP

<?php
namespace App\Domains\Ticket\Controllers\Scanner;
use App\Domains\Auth\Models\User;
use App\Domains\Ticket\Resources\Scanner\ScannerScanResultResource;
use App\Domains\Ticket\Resources\TicketResource;
use App\Domains\Ticket\Services\ScannerTicketService;
use App\Http\Controllers\Controller;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Symfony\Component\HttpFoundation\Response;
class TicketController extends Controller
{
public function __construct(private readonly ScannerTicketService $ticketService) {}
public function show(Request $request, string $ticketUuid): TicketResource
{
/** @var User $scanner */
$scanner = $request->user();
return TicketResource::make(
$this->ticketService->detail($scanner, $ticketUuid)
);
}
public function scan(Request $request): JsonResponse
{
/** @var User $scanner */
$scanner = $request->user();
return ScannerScanResultResource::make(
$this->ticketService->scan($scanner, $request->input('data'))
)->response()->setStatusCode(Response::HTTP_OK);
}
}