bool
$install ): AppEntity
{ // accessToken is not set on update, but in that case we don't run registration, so we won't need it
/** @var string $secretAccessKey */
$secretAccessKey =
$metadata['accessToken'
] ?? '';
unset($metadata['accessToken'
],
$metadata['icon'
]);
$metadata['path'
] =
str_replace($this->projectDir . '/', '',
$manifest->
getPath());
$metadata['id'
] =
$id;
$metadata['modules'
] =
[];
$metadata['iconRaw'
] =
$this->
getIcon($manifest);
$metadata['cookies'
] =
$manifest->
getCookies() !== null ?
$manifest->
getCookies()->
getCookies() :
[];
$metadata['baseAppUrl'
] =
$manifest->
getAdmin() !== null ?
$manifest->
getAdmin()->
getBaseAppUrl() : null;
$metadata['allowedHosts'
] =
$manifest->
getAllHosts();
$metadata['templateLoadPriority'
] =
$manifest->
getStorefront() ?
$manifest->
getStorefront()->
getTemplateLoadPriority() : 0;
$this->
updateMetadata($metadata,
$context);
$app =
$this->
loadApp($id,
$context);
$this->
updateCustomEntities($app->
getId(),
$app->
getPath(),
$manifest);
$this->permissionPersister->
updatePrivileges($manifest->
getPermissions(),
$roleId);