$event =
new AppUpdatedEvent($appEntity,
$manifest,
$context);
$this->eventDispatcher->
dispatch($event);
$this->scriptExecutor->
execute(new AppUpdatedHook($event));
} /**
* @param array{id: string} $app
*/
public function delete(string
$appName, array
$app, Context
$context, bool
$keepUserData = false
): void
{ $appEntity =
$this->
loadApp($app['id'
],
$context);
if ($appEntity->
isActive()) { $this->appStateService->
deactivateApp($appEntity->
getId(),
$context);
} $this->
removeAppAndRole($appEntity,
$context,
$keepUserData, true
);
$this->assetService->
removeAssets($appEntity->
getName());
$this->customEntitySchemaUpdater->
update();
} public function ensureIsCompatible(Manifest
$manifest): void
{