$updatePayload =
[ 'id' =>
$app->
getId(),
'configurable' =>
$this->
handleConfigUpdates($app,
$manifest,
$install,
$context),
'allowDisable' =>
$this->
doesAllowDisabling($app,
$context),
];
$this->
updateMetadata($updatePayload,
$context);
// updates the snippets if the administration bundle is available
if ($this->appAdministrationSnippetPersister !== null
) { $snippets =
$this->appLoader->
getSnippets($app);
$this->appAdministrationSnippetPersister->
updateSnippets($app,
$snippets,
$context);
} return $app;
} private function removeAppAndRole(AppEntity
$app, Context
$context, bool
$keepUserData = false, bool
$softDelete = false
): void
{ // throw event before deleting app from db as it may be delivered via webhook to the deleted app
$event =
new AppDeletedEvent($app->
getId(),
$context,
$keepUserData);
$this->eventDispatcher->
dispatch($event);