$userId =
$contextSource instanceof AdminApiSource ?
$contextSource->
getUserId() : null;
if ($userId !== null
) { $logEntity->
setUsername($this->
findUser($context,
$userId)->
getUsername());
$logEntity->
setUserId($userId);
} $context->
scope(Context::SYSTEM_SCOPE,
function DContext
$context) use ($logEntity): void
{ $logData =
array_filter($logEntity->
jsonSerialize(),
fn ($value) =>
$value !== null
);
$this->logRepository->
create([$logData],
$context);
});
$logEntity->
setProfile($profile);
$logEntity->
setFile($file);
return $logEntity;
} private function findUser(Context
$context, string
$userId): UserEntity
{ return $this->userRepository->
search(new Criteria([$userId]),
$context)->
first();
} /**
* @param Config $config
*
* @return Config
*/