Skip to content

Commit

Permalink
UHF-9833: Added support for services
Browse files Browse the repository at this point in the history
  • Loading branch information
tuutti committed Apr 25, 2024
1 parent b34e9a8 commit ca8d0fb
Show file tree
Hide file tree
Showing 5 changed files with 16 additions and 23 deletions.
3 changes: 2 additions & 1 deletion documentation/environment-resolver.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
## Usage

### Environment resolver

```php
// See \Drupal\helfi_api_base\Environment\Project for all available project constants.
$projectName = \Drupal\helfi_api_base\Environment\Project::ASUMINEN;
Expand All @@ -27,7 +28,7 @@ $internalUrl = $environment->getInternalAddress('fi'); // 'https://helfi-asumine
$path = $environment->getPath('fi'); // '/fi/dev-asuminen'.
$domain = $environment->getDomain(); // 'nginx-asuminen-dev.agw.arodevtest.hel.fi'.
$baseUrl = $environment->getBaseUrl(); // 'https://nginx-asuminen-dev.agw.arodevtest.hel.fi'
/** @var \Drupal\helfi_api_base\Environment\EnvironmentMetadata $environmentMetadata */
/** @var \Drupal\helfi_api_base\Environment\Services $environmentMetadata */
$environmentMetadata = $environment->getMetadata();
```

Expand Down
22 changes: 8 additions & 14 deletions fixtures/environments.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,7 @@
"protocol": "http",
"domain": "helfi-asuminen",
"port": 8080
},
"meta": {}
}
},
"test": {
"path": {
Expand All @@ -34,8 +33,7 @@
"internal_address": {
"protocol": "https",
"domain": "nginx-asuminen-test.apps.arodevtest.hel.fi"
},
"meta": {}
}
},
"stage": {
"path": {
Expand All @@ -50,8 +48,7 @@
"internal_address": {
"protocol": "https",
"domain": "nginx-asuminen-staging.apps.platta.hel.fi"
},
"meta": {}
}
},
"prod": {
"path": {
Expand All @@ -66,8 +63,7 @@
"internal_address": {
"protocol": "https",
"domain": "nginx-asuminen-prod.apps.platta.hel.fi"
},
"meta": {}
}
}
}
},
Expand All @@ -91,12 +87,10 @@
"domain": "helfi-etusivu",
"port": 8080
},
"meta": {
"services": {
"elastic-proxy": {
"protocol": "http",
"domain": "helfi-etusivu-elastic"
}
"services": {
"elastic-proxy": {
"protocol": "http",
"domain": "helfi-etusivu-elastic"
}
}
},
Expand Down
6 changes: 3 additions & 3 deletions src/Environment/Environment.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,16 +22,16 @@ final class Environment {
* Environment resolver identifier for the project.
* @param \Drupal\helfi_api_base\Environment\EnvironmentEnum $environment
* The environment name.
* @param \Drupal\helfi_api_base\Environment\EnvironmentMetadata|null $environmentMetadata
* The environment metadata.
* @param \Drupal\helfi_api_base\Environment\Services|null $services
* The environment services.
*/
public function __construct(
private readonly Address $address,
private readonly Address $internalAddress,
private readonly array $paths,
private readonly string $id,
private readonly EnvironmentEnum $environment,
private readonly ?EnvironmentMetadata $environmentMetadata = NULL,
private readonly ?Services $services = NULL,
) {
}

Expand Down
4 changes: 1 addition & 3 deletions src/Environment/EnvironmentResolver.php
Original file line number Diff line number Diff line change
Expand Up @@ -94,15 +94,13 @@ private function populateEnvironments(string $pathOrJson) : void {
throw new \InvalidArgumentException('Project missing "address", "internal_address" or "paths" setting.');
}

$environmentMeta = !empty($settings['meta']) ? EnvironmentMetadata::createFromArray($settings['meta']) : NULL;

$project->addEnvironment($environment, new Environment(
new Address(...$settings['address']),
new Address(...$settings['internal_address']),
$settings['path'],
$id,
EnvironmentEnum::tryFrom($environment),
$environmentMeta,
Services::createFromArray($services['services'] ?? []),
));
}
$this->projects[$id] = $project;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
/**
* A value object to store environment metadata.
*/
final class EnvironmentMetadata {
final class Services {

/**
* Constructs a new instance.
Expand All @@ -23,7 +23,7 @@ private function __construct(
* @param array $data
* The data.
*
* @return \Drupal\helfi_api_base\Environment\EnvironmentMetadata|null
* @return \Drupal\helfi_api_base\Environment\Services|null
* The self or null.
*/
public static function createFromArray(array $data) : ? self {
Expand Down

0 comments on commit ca8d0fb

Please sign in to comment.