Refactored model classes to use a consistent namespace structure and improved inline documentation for better clarity.
96 lines
5.2 KiB
PHP
Executable file
96 lines
5.2 KiB
PHP
Executable file
<?php
|
|
|
|
namespace Uwil\ArcadiaKiotaOpenApiClient\Employees;
|
|
|
|
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\Employees\Item\WithEmployeeItemRequestBuilder;
|
|
use Uwil\ArcadiaKiotaOpenApiClient\Models\EmployeeListResponse;
|
|
use Uwil\ArcadiaKiotaOpenApiClient\Models\ProblemDetails;
|
|
use Uwil\ArcadiaKiotaOpenApiClient\Models\ValidationErrorProblemDetails;
|
|
|
|
/**
|
|
* Builds and executes requests for operations under /employees
|
|
*/
|
|
class EmployeesRequestBuilder extends BaseRequestBuilder
|
|
{
|
|
/**
|
|
* Gets an item from the Uwil/ArcadiaKiotaOpenApiClient.employees.item collection
|
|
* @param string $employeeId Matricule public unique de l'employé (7 ou 8 chiffres).
|
|
* @return WithEmployeeItemRequestBuilder
|
|
*/
|
|
public function byEmployeeId(string $employeeId): WithEmployeeItemRequestBuilder {
|
|
$urlTplParams = $this->pathParameters;
|
|
$urlTplParams['employeeId'] = $employeeId;
|
|
return new WithEmployeeItemRequestBuilder($urlTplParams, $this->requestAdapter);
|
|
}
|
|
|
|
/**
|
|
* Instantiates a new EmployeesRequestBuilder 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}/employees{?establishment*,limit*,offset*,page*,pageSize*,serviceId*,since*,siteId*,siteIds*,sortBy*,sortDirection*}');
|
|
if (is_array($pathParametersOrRawUrl)) {
|
|
$this->pathParameters = $pathParametersOrRawUrl;
|
|
} else {
|
|
$this->pathParameters = ['request-raw-url' => $pathParametersOrRawUrl];
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Retourne la liste paginée des employés du système Arcadia.Prend en charge le filtrage par date de modification (`since`), code établissement (`establishment`),code site (`siteId`), code service (`serviceId`), ainsi que le tri et la pagination HATEOAS.
|
|
* @param EmployeesRequestBuilderGetRequestConfiguration|null $requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
|
|
* @return Promise<EmployeeListResponse|null>
|
|
* @throws Exception
|
|
*/
|
|
public function get(?EmployeesRequestBuilderGetRequestConfiguration $requestConfiguration = null): Promise {
|
|
$requestInfo = $this->toGetRequestInformation($requestConfiguration);
|
|
$errorMappings = [
|
|
'400' => [ProblemDetails::class, 'createFromDiscriminatorValue'],
|
|
'401' => [ProblemDetails::class, 'createFromDiscriminatorValue'],
|
|
'403' => [ProblemDetails::class, 'createFromDiscriminatorValue'],
|
|
'422' => [ValidationErrorProblemDetails::class, 'createFromDiscriminatorValue'],
|
|
'429' => [ProblemDetails::class, 'createFromDiscriminatorValue'],
|
|
'500' => [ProblemDetails::class, 'createFromDiscriminatorValue'],
|
|
'503' => [ProblemDetails::class, 'createFromDiscriminatorValue'],
|
|
];
|
|
return $this->requestAdapter->sendAsync($requestInfo, [EmployeeListResponse::class, 'createFromDiscriminatorValue'], $errorMappings);
|
|
}
|
|
|
|
/**
|
|
* Retourne la liste paginée des employés du système Arcadia.Prend en charge le filtrage par date de modification (`since`), code établissement (`establishment`),code site (`siteId`), code service (`serviceId`), ainsi que le tri et la pagination HATEOAS.
|
|
* @param EmployeesRequestBuilderGetRequestConfiguration|null $requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
|
|
* @return RequestInformation
|
|
*/
|
|
public function toGetRequestInformation(?EmployeesRequestBuilderGetRequestConfiguration $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);
|
|
if ($requestConfiguration->queryParameters !== null) {
|
|
$requestInfo->setQueryParameters($requestConfiguration->queryParameters);
|
|
}
|
|
$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 EmployeesRequestBuilder
|
|
*/
|
|
public function withUrl(string $rawUrl): EmployeesRequestBuilder {
|
|
return new EmployeesRequestBuilder($rawUrl, $this->requestAdapter);
|
|
}
|
|
|
|
}
|