userAgent()); $geo = GeoLocationResolver::resolve($request->ip()); return SecurityEvent::create([ 'module' => KonekoComponentContextRegistrar::currentComponent() ?? 'unknown', 'user_id' => $userId ?? Auth::id(), 'event_type' => (string) $type, 'status' => SecurityEventStatus::NEW, 'ip_address' => $request->ip(), 'user_agent' => $request->userAgent(), 'device_type' => $agent->device() ?: ($geo['device_type'] ?? null), 'browser' => $agent->browser() ?: ($geo['browser'] ?? null), 'browser_version' => $agent->version($agent->browser()) ?: ($geo['browser_version'] ?? null), 'os' => $agent->platform() ?: ($geo['os'] ?? null), 'os_version' => $agent->version($agent->platform()) ?: ($geo['os_version'] ?? null), 'country' => $geo['country'] ?? null, 'region' => $geo['region'] ?? null, 'city' => $geo['city'] ?? null, 'lat' => $geo['lat'] ?? null, 'lng' => $geo['lng'] ?? null, 'is_proxy' => $isProxy, 'url' => $request->fullUrl(), 'http_method' => $request->method(), 'payload' => $payload, ]); } }