user(); abort_unless( $this->permissionService->allows($user, Permission::ProjectWrite, $project), 403, ); $ticketLink = $this->storeProjectTicketLink->handle($project, $ticket, $user, $request->validated()); return to_route('projects.tickets.show', [$project, $ticket]) ->with('status', "{$ticketLink->ticketLinkType->label} link was saved."); } public function destroy( Request $request, Project $project, Ticket $ticket, TicketLink $ticketLink, ): RedirectResponse { $user = $request->user(); abort_unless( $this->permissionService->allows($user, Permission::ProjectWrite, $project), 403, ); $label = $this->deleteProjectTicketLink->handle($ticket, $ticketLink, $user); return to_route('projects.tickets.show', [$project, $ticket]) ->with('status', "{$label} link was removed."); } }