Files
KanbanGit/app/Http/Controllers/Api/UserAssignedTicketController.php
T

33 lines
932 B
PHP

<?php
namespace App\Http\Controllers\Api;
use App\Actions\Tickets\ListAssignedTicketsByVisibleProject;
use App\Http\Resources\UserResource;
use App\Models\User;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
class UserAssignedTicketController extends ApiController
{
public function __construct(
private readonly ListAssignedTicketsByVisibleProject $listAssignedTicketsByVisibleProject,
) {}
public function __invoke(Request $request, User $user): JsonResponse
{
$viewer = $this->authenticatedUser($request);
$assignedTickets = $this->listAssignedTicketsByVisibleProject->handle($viewer, $user);
return response()->json([
'data' => $assignedTickets,
'meta' => [
'assignee' => $assignedTickets === []
? null
: UserResource::make($user)->resolve(),
],
]);
}
}