ldc-arcadia-kiota-openapi-c.../client/Health/Oracle/OracleRequestBuilder.php
Jérémy Munsch e2ca09f962
feat(health): add Oracle health check endpoint and models
- Implemented OracleRequestBuilder for connectivity checks.
- Added OracleHealthCheckResponse and related models.
- Updated OpenAPI documentation for new endpoint.
2026-10-06 16:38:38 +02:00

73 lines
3.5 KiB
PHP

<?php
namespace Uwil\ArcadiaKiotaOpenApiClient\Health\Oracle;
use Exception;
use Http\Promise\Promise;
use Microsoft\Kiota\Abstractions\BaseRequestBuilder;
use Microsoft\Kiota\Abstractions\HttpMethod;
use Microsoft\Kiota\Abstractions\RequestAdapter;
use Microsoft\Kiota\Abstractions\RequestInformation;
use Uwil\ArcadiaKiotaOpenApiClient\Models\OracleHealthCheckResponse;
/**
* Builds and executes requests for operations under /health/oracle
*/
class OracleRequestBuilder extends BaseRequestBuilder
{
/**
* Instantiates a new OracleRequestBuilder and sets the default values.
* @param array<string, mixed>|string $pathParametersOrRawUrl Path parameters for the request or a String representing the raw URL.
* @param RequestAdapter $requestAdapter The request adapter to use to execute the requests.
*/
public function __construct($pathParametersOrRawUrl, RequestAdapter $requestAdapter) {
parent::__construct($requestAdapter, [], '{+baseurl}/health/oracle');
if (is_array($pathParametersOrRawUrl)) {
$this->pathParameters = $pathParametersOrRawUrl;
} else {
$this->pathParameters = ['request-raw-url' => $pathParametersOrRawUrl];
}
}
/**
* Vérifie exclusivement la connectivité à la base Oracle Arcadia.Cette sonde est destinée au monitoring externe (ex: UptimeRobot) et ne teste ni cache ni SMTP.
* @param OracleRequestBuilderGetRequestConfiguration|null $requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
* @return Promise<OracleHealthCheckResponse|null>
* @throws Exception
*/
public function get(?OracleRequestBuilderGetRequestConfiguration $requestConfiguration = null): Promise {
$requestInfo = $this->toGetRequestInformation($requestConfiguration);
$errorMappings = [
'503' => [OracleHealthCheckResponse::class, 'createFromDiscriminatorValue'],
];
return $this->requestAdapter->sendAsync($requestInfo, [OracleHealthCheckResponse::class, 'createFromDiscriminatorValue'], $errorMappings);
}
/**
* Vérifie exclusivement la connectivité à la base Oracle Arcadia.Cette sonde est destinée au monitoring externe (ex: UptimeRobot) et ne teste ni cache ni SMTP.
* @param OracleRequestBuilderGetRequestConfiguration|null $requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
* @return RequestInformation
*/
public function toGetRequestInformation(?OracleRequestBuilderGetRequestConfiguration $requestConfiguration = null): RequestInformation {
$requestInfo = new RequestInformation();
$requestInfo->urlTemplate = $this->urlTemplate;
$requestInfo->pathParameters = $this->pathParameters;
$requestInfo->httpMethod = HttpMethod::GET;
if ($requestConfiguration !== null) {
$requestInfo->addHeaders($requestConfiguration->headers);
$requestInfo->addRequestOptions(...$requestConfiguration->options);
}
$requestInfo->tryAddHeader('Accept', "application/json");
return $requestInfo;
}
/**
* Returns a request builder with the provided arbitrary URL. Using this method means any other path or query parameters are ignored.
* @param string $rawUrl The raw URL to use for the request builder.
* @return OracleRequestBuilder
*/
public function withUrl(string $rawUrl): OracleRequestBuilder {
return new OracleRequestBuilder($rawUrl, $this->requestAdapter);
}
}