email); }); // Tag activity log entries with impersonation context Activity::saving(function (Activity $activity) { $request = request(); $impersonator = $request->attributes->get('impersonator'); $session = $request->attributes->get('impersonation_session'); if ($impersonator && $session) { $properties = $activity->properties?->toArray() ?? []; $properties['impersonated_by'] = [ 'user_id' => $impersonator->id, 'name' => $impersonator->full_name, 'email' => $impersonator->email, ]; $properties['impersonation_session_id'] = $session->id; $activity->properties = collect($properties); } }); } }