-
Notifications
You must be signed in to change notification settings - Fork 150
Expand file tree
/
Copy pathUsersRequestBuilder.php
More file actions
167 lines (152 loc) · 8 KB
/
Copy pathUsersRequestBuilder.php
File metadata and controls
167 lines (152 loc) · 8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
<?php
namespace Microsoft\Graph\Generated\Users;
use Exception;
use Http\Promise\Promise;
use Microsoft\Graph\Generated\Models\ODataErrors\ODataError;
use Microsoft\Graph\Generated\Models\User;
use Microsoft\Graph\Generated\Models\UserCollectionResponse;
use Microsoft\Graph\Generated\Users\Count\CountRequestBuilder;
use Microsoft\Graph\Generated\Users\Delta\DeltaRequestBuilder;
use Microsoft\Graph\Generated\Users\GetAvailableExtensionProperties\GetAvailableExtensionPropertiesRequestBuilder;
use Microsoft\Graph\Generated\Users\GetByIds\GetByIdsRequestBuilder;
use Microsoft\Graph\Generated\Users\Item\UserItemRequestBuilder;
use Microsoft\Graph\Generated\Users\ValidateProperties\ValidatePropertiesRequestBuilder;
use Microsoft\Kiota\Abstractions\BaseRequestBuilder;
use Microsoft\Kiota\Abstractions\HttpMethod;
use Microsoft\Kiota\Abstractions\RequestAdapter;
use Microsoft\Kiota\Abstractions\RequestInformation;
/**
* Provides operations to manage the collection of user entities.
*/
class UsersRequestBuilder extends BaseRequestBuilder
{
/**
* Provides operations to count the resources in the collection.
*/
public function count(): CountRequestBuilder {
return new CountRequestBuilder($this->pathParameters, $this->requestAdapter);
}
/**
* Provides operations to call the delta method.
*/
public function delta(): DeltaRequestBuilder {
return new DeltaRequestBuilder($this->pathParameters, $this->requestAdapter);
}
/**
* Provides operations to call the getAvailableExtensionProperties method.
*/
public function getAvailableExtensionProperties(): GetAvailableExtensionPropertiesRequestBuilder {
return new GetAvailableExtensionPropertiesRequestBuilder($this->pathParameters, $this->requestAdapter);
}
/**
* Provides operations to call the getByIds method.
*/
public function getByIds(): GetByIdsRequestBuilder {
return new GetByIdsRequestBuilder($this->pathParameters, $this->requestAdapter);
}
/**
* Provides operations to call the validateProperties method.
*/
public function validateProperties(): ValidatePropertiesRequestBuilder {
return new ValidatePropertiesRequestBuilder($this->pathParameters, $this->requestAdapter);
}
/**
* Provides operations to manage the collection of user entities.
* @param string $userId The unique identifier of user
* @return UserItemRequestBuilder
*/
public function byUserId(string $userId): UserItemRequestBuilder {
$urlTplParams = $this->pathParameters;
$urlTplParams['user%2Did'] = $userId;
return new UserItemRequestBuilder($urlTplParams, $this->requestAdapter);
}
/**
* Instantiates a new UsersRequestBuilder 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}/users{?%24count,%24expand,%24filter,%24orderby,%24search,%24select,%24top}');
if (is_array($pathParametersOrRawUrl)) {
$this->pathParameters = $pathParametersOrRawUrl;
} else {
$this->pathParameters = ['request-raw-url' => $pathParametersOrRawUrl];
}
}
/**
* Retrieve a list of user objects.
* @param UsersRequestBuilderGetRequestConfiguration|null $requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
* @return Promise<UserCollectionResponse|null>
* @throws Exception
* @link https://learn.microsoft.com/graph/api/user-list?view=graph-rest-1.0 Find more info here
*/
public function get(?UsersRequestBuilderGetRequestConfiguration $requestConfiguration = null): Promise {
$requestInfo = $this->toGetRequestInformation($requestConfiguration);
$errorMappings = [
'XXX' => [ODataError::class, 'createFromDiscriminatorValue'],
];
return $this->requestAdapter->sendAsync($requestInfo, [UserCollectionResponse::class, 'createFromDiscriminatorValue'], $errorMappings);
}
/**
* Create a new user.The request body contains the user to create. At a minimum, you must specify the required properties for the user. You can optionally specify any other writable properties.
* @param User $body The request body
* @param UsersRequestBuilderPostRequestConfiguration|null $requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
* @return Promise<User|null>
* @throws Exception
* @link https://learn.microsoft.com/graph/api/user-post-users?view=graph-rest-1.0 Find more info here
*/
public function post(User $body, ?UsersRequestBuilderPostRequestConfiguration $requestConfiguration = null): Promise {
$requestInfo = $this->toPostRequestInformation($body, $requestConfiguration);
$errorMappings = [
'XXX' => [ODataError::class, 'createFromDiscriminatorValue'],
];
return $this->requestAdapter->sendAsync($requestInfo, [User::class, 'createFromDiscriminatorValue'], $errorMappings);
}
/**
* Retrieve a list of user objects.
* @param UsersRequestBuilderGetRequestConfiguration|null $requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
* @return RequestInformation
*/
public function toGetRequestInformation(?UsersRequestBuilderGetRequestConfiguration $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;
}
/**
* Create a new user.The request body contains the user to create. At a minimum, you must specify the required properties for the user. You can optionally specify any other writable properties.
* @param User $body The request body
* @param UsersRequestBuilderPostRequestConfiguration|null $requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
* @return RequestInformation
*/
public function toPostRequestInformation(User $body, ?UsersRequestBuilderPostRequestConfiguration $requestConfiguration = null): RequestInformation {
$requestInfo = new RequestInformation();
$requestInfo->urlTemplate = $this->urlTemplate;
$requestInfo->pathParameters = $this->pathParameters;
$requestInfo->httpMethod = HttpMethod::POST;
if ($requestConfiguration !== null) {
$requestInfo->addHeaders($requestConfiguration->headers);
$requestInfo->addRequestOptions(...$requestConfiguration->options);
}
$requestInfo->tryAddHeader('Accept', "application/json");
$requestInfo->setContentFromParsable($this->requestAdapter, "application/json", $body);
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 UsersRequestBuilder
*/
public function withUrl(string $rawUrl): UsersRequestBuilder {
return new UsersRequestBuilder($rawUrl, $this->requestAdapter);
}
}