user()?->cannot('update', $ticket)) { throw new AuthorizationException; } $validated = $request->validate([ 'minutes' => ['required', 'integer', 'min:1', 'max:1440'], 'description' => ['nullable', 'string', 'max:1000'], ]); $minutes = (int) $validated['minutes']; TimeLog::query()->create([ 'ticket_id' => $ticket->getKey(), 'user_id' => $request->user()?->getKey(), 'minutes' => $minutes, 'description' => $validated['description'] ?? null, 'logged_at' => now(), ]); $ticket->increment('time_spent_minutes', $minutes, [ 'last_activity_at' => now(), ]); return redirect() ->route('helpdesk.tickets.show', $ticket) ->with('ticket-action-updated', 'Time logged successfully.'); } }