33 lines
932 B
PHP
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(),
|
|
],
|
|
]);
|
|
}
|
|
}
|