#[Package('core')]
class WebhookPersister{ public function __construct(private readonly EntityRepository
$webhookRepository) { } public function updateWebhooks(Manifest
$manifest, string
$appId, string
$defaultLocale, Context
$context): void
{ $existingWebhooks =
$this->
getExistingWebhooks($appId,
$context);
$webhooks =
$manifest->
getWebhooks() ?
$manifest->
getWebhooks()->
getWebhooks() :
[];
$upserts =
[];
foreach ($webhooks as $webhook) { $payload =
$webhook->
toArray($defaultLocale);
$payload['appId'
] =
$appId;
$payload['eventName'
] =
$webhook->
getEvent();
/** @var WebhookEntity|null $existing */
$existing =
$existingWebhooks->
filterByProperty('name',
$webhook->
getName())->
first();