ldc-arcadia-kiota-openapi-c.../client/ApiClient.php

79 lines
3 KiB
PHP

<?php
declare(strict_types=1);
namespace Uwil\ArcadiaKiotaOpenApiClient;
use Microsoft\Kiota\Abstractions\ApiClientBuilder;
use Microsoft\Kiota\Abstractions\BaseRequestBuilder;
use Microsoft\Kiota\Abstractions\RequestAdapter;
use Microsoft\Kiota\Serialization\Form\FormParseNodeFactory;
use Microsoft\Kiota\Serialization\Form\FormSerializationWriterFactory;
use Microsoft\Kiota\Serialization\Json\JsonParseNodeFactory;
use Microsoft\Kiota\Serialization\Json\JsonSerializationWriterFactory;
use Microsoft\Kiota\Serialization\Multipart\MultipartSerializationWriterFactory;
use Microsoft\Kiota\Serialization\Text\TextParseNodeFactory;
use Microsoft\Kiota\Serialization\Text\TextSerializationWriterFactory;
use Uwil\ArcadiaKiotaOpenApiClient\Brands\BrandsRequestBuilder;
use Uwil\ArcadiaKiotaOpenApiClient\Employees\EmployeesRequestBuilder;
use Uwil\ArcadiaKiotaOpenApiClient\Health\HealthRequestBuilder;
use Uwil\ArcadiaKiotaOpenApiClient\IncoSheets\IncoSheetsRequestBuilder;
/**
* The main entry point of the SDK, exposes the configuration and the fluent API.
*/
class ApiClient extends BaseRequestBuilder
{
/**
* The brands property
*/
public function brands(): BrandsRequestBuilder
{
return new BrandsRequestBuilder($this->pathParameters, $this->requestAdapter);
}
/**
* The employees property
*/
public function employees(): EmployeesRequestBuilder
{
return new EmployeesRequestBuilder($this->pathParameters, $this->requestAdapter);
}
/**
* The health property
*/
public function health(): HealthRequestBuilder
{
return new HealthRequestBuilder($this->pathParameters, $this->requestAdapter);
}
/**
* The incoSheets property
*/
public function incoSheets(): IncoSheetsRequestBuilder
{
return new IncoSheetsRequestBuilder($this->pathParameters, $this->requestAdapter);
}
/**
* Instantiates a new ApiClient and sets the default values.
*
* @param RequestAdapter $requestAdapter The request adapter to use to execute the requests.
*/
public function __construct(RequestAdapter $requestAdapter)
{
parent::__construct($requestAdapter, [], '{+baseurl}');
ApiClientBuilder::registerDefaultSerializer(JsonSerializationWriterFactory::class);
ApiClientBuilder::registerDefaultSerializer(TextSerializationWriterFactory::class);
ApiClientBuilder::registerDefaultSerializer(FormSerializationWriterFactory::class);
ApiClientBuilder::registerDefaultSerializer(MultipartSerializationWriterFactory::class);
ApiClientBuilder::registerDefaultDeserializer(JsonParseNodeFactory::class);
ApiClientBuilder::registerDefaultDeserializer(TextParseNodeFactory::class);
ApiClientBuilder::registerDefaultDeserializer(FormParseNodeFactory::class);
if (empty($this->requestAdapter->getBaseUrl())) {
$this->requestAdapter->setBaseUrl('http://127.0.0.1:8000/api/v1');
}
$this->pathParameters['baseurl'] = $this->requestAdapter->getBaseUrl();
}
}