19declare(strict_types=1);
41 return new ArrayArtifact(array_map(fn($p) => $p::class, $this->provider));
53 return 'push_providers';
59 $settings = $environment->
getResource(Environment::RESOURCE_SETTINGS_FACTORY)->settingsFor(
'notifications');
61 $private_key_path = $this->config->getPrivateKeyPath();
62 if (file_exists($private_key_path)) {
63 $settings->set(
'private_key_path', $private_key_path);
65 $details = openssl_pkey_get_details(openssl_pkey_get_private(
'file://' . $private_key_path))[
'ec'];
67 'application_server_key',
71 base64_encode(hex2bin(
'04') . $details[
'x'] . $details[
'y'])
75 throw new InvalidArgumentException(
'Notification key path is invalid!');
79 return parent::achieve($environment);
This is an objective to build some artifact.
A configuration with no content.
achieve(Environment $environment)
Objectives can be achieved.
build()
Build the artifact based.
__construct(protected readonly array $provider, protected readonly Config $config)
getPreconditions(Environment $environment)
Objectives might depend on other objectives.
getArtifactName()
Get the filename where the builder wants to put its artifact.
An artifact is some file that is build on demand per installation and is not shipped with the ILIAS s...
A configuration for the setup.
An environment holds resources to be used in the setup process.
getResource(string $id)
Consumers of this method should check if the result is what they expect, e.g.