id = $data['_id'] !== null ? (string)$data['_id'] : null; } elseif (array_key_exists('id', $data)) { $this->id = $data['id'] !== null ? (string)$data['id'] : null; } if (array_key_exists('tenantId', $data)) { $this->tenantId = $data['tenantId'] !== null ? (string)$data['tenantId'] : null; } if (array_key_exists('ipAddress', $data)) { $this->ipAddress = $data['ipAddress'] !== null ? (string)$data['ipAddress'] : null; } if (array_key_exists('deviceFingerprint', $data)) { $this->deviceFingerprint = $data['deviceFingerprint'] !== null ? (string)$data['deviceFingerprint'] : null; } if (array_key_exists('userAgent', $data)) { $this->userAgent = $data['userAgent'] !== null ? (string)$data['userAgent'] : null; } if (array_key_exists('requestPath', $data)) { $this->requestPath = $data['requestPath'] !== null ? (string)$data['requestPath'] : null; } if (array_key_exists('requestMethod', $data)) { $this->requestMethod = $data['requestMethod'] !== null ? (string)$data['requestMethod'] : null; } if (array_key_exists('eventType', $data)) { $this->eventType = $data['eventType'] !== null ? (string)$data['eventType'] : null; } if (array_key_exists('result', $data)) { $this->result = $data['result'] !== null ? (string)$data['result'] : null; } if (array_key_exists('ruleId', $data)) { $this->ruleId = $data['ruleId'] !== null ? (string)$data['ruleId'] : null; } if (array_key_exists('identityId', $data)) { $this->identityId = $data['identityId'] !== null ? (string)$data['identityId'] : null; } if (array_key_exists('timestamp', $data)) { $this->timestamp = $data['timestamp'] !== null ? new \DateTimeImmutable($data['timestamp']) : null; } if (array_key_exists('metadata', $data)) { $this->metadata = $data['metadata'] !== null ? (array)$data['metadata'] : null; } return $this; } public function jsonSerialize(): array { return [ 'id' => $this->id, 'tenantId' => $this->tenantId, 'ipAddress' => $this->ipAddress, 'deviceFingerprint' => $this->deviceFingerprint, 'userAgent' => $this->userAgent, 'requestPath' => $this->requestPath, 'requestMethod' => $this->requestMethod, 'eventType' => $this->eventType, 'result' => $this->result, 'ruleId' => $this->ruleId, 'identityId' => $this->identityId, 'timestamp' => $this->timestamp?->format(\DateTimeInterface::ATOM), 'metadata' => $this->metadata, ]; } // Getters and setters public function getId(): ?string { return $this->id; } public function setId(?string $id): self { $this->id = $id; return $this; } public function getTenantId(): ?string { return $this->tenantId; } public function setTenantId(?string $tenantId): self { $this->tenantId = $tenantId; return $this; } public function getIpAddress(): ?string { return $this->ipAddress; } public function setIpAddress(?string $ipAddress): self { $this->ipAddress = $ipAddress; return $this; } public function getDeviceFingerprint(): ?string { return $this->deviceFingerprint; } public function setDeviceFingerprint(?string $deviceFingerprint): self { $this->deviceFingerprint = $deviceFingerprint; return $this; } public function getUserAgent(): ?string { return $this->userAgent; } public function setUserAgent(?string $userAgent): self { $this->userAgent = $userAgent; return $this; } public function getRequestPath(): ?string { return $this->requestPath; } public function setRequestPath(?string $requestPath): self { $this->requestPath = $requestPath; return $this; } public function getRequestMethod(): ?string { return $this->requestMethod; } public function setRequestMethod(?string $requestMethod): self { $this->requestMethod = $requestMethod; return $this; } public function getEventType(): ?string { return $this->eventType; } public function setEventType(?string $eventType): self { $this->eventType = $eventType; return $this; } public function getResult(): ?string { return $this->result; } public function setResult(?string $result): self { $this->result = $result; return $this; } public function getRuleId(): ?string { return $this->ruleId; } public function setRuleId(?string $ruleId): self { $this->ruleId = $ruleId; return $this; } public function getIdentityId(): ?string { return $this->identityId; } public function setIdentityId(?string $identityId): self { $this->identityId = $identityId; return $this; } public function getTimestamp(): ?\DateTimeImmutable { return $this->timestamp; } public function setTimestamp(?\DateTimeImmutable $timestamp): self { $this->timestamp = $timestamp; return $this; } public function getMetadata(): ?array { return $this->metadata; } public function setMetadata(?array $metadata): self { $this->metadata = $metadata; return $this; } }