if (!\
is_array($requiredPrivileges)) { throw RoutingException::
invalidRequestParameter('requiredPrivileges'
);
} $integrationId =
$source->
getIntegrationId();
$createdByUserId =
$source->
getUserId();
try { $cacheKey =
$createdByUserId ??
$integrationId . '-' .
$request->
getClientIp();
$this->rateLimiter->
ensureAccepted(self::NOTIFICATION,
$cacheKey);
} catch (RateLimitExceededException
$exception) { throw new NotificationThrottledException($exception->
getWaitTime(),
$exception);
} $notificationId = Uuid::
randomHex();
$this->notificationService->
createNotification([ 'id' =>
$notificationId,
'status' =>
$status,
'message' =>
$message,
'adminOnly' =>
$adminOnly,
'requiredPrivileges' =>
$requiredPrivileges,
'createdByIntegrationId' =>
$integrationId,
'createdByUserId' =>
$createdByUserId,
],