-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathSubscriptionsRequestBuilder.php
More file actions
134 lines (123 loc) · 6.98 KB
/
Copy pathSubscriptionsRequestBuilder.php
File metadata and controls
134 lines (123 loc) · 6.98 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
<?php
namespace Microsoft\Graph\Beta\Generated\Directory\Subscriptions;
use Exception;
use Http\Promise\Promise;
use Microsoft\Graph\Beta\Generated\Directory\Subscriptions\Count\CountRequestBuilder;
use Microsoft\Graph\Beta\Generated\Directory\Subscriptions\Item\CompanySubscriptionItemRequestBuilder;
use Microsoft\Graph\Beta\Generated\Models\CompanySubscription;
use Microsoft\Graph\Beta\Generated\Models\CompanySubscriptionCollectionResponse;
use Microsoft\Graph\Beta\Generated\Models\ODataErrors\ODataError;
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 subscriptions property of the microsoft.graph.directory entity.
*/
class SubscriptionsRequestBuilder 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 manage the subscriptions property of the microsoft.graph.directory entity.
* @param string $companySubscriptionId The unique identifier of companySubscription
* @return CompanySubscriptionItemRequestBuilder
*/
public function byCompanySubscriptionId(string $companySubscriptionId): CompanySubscriptionItemRequestBuilder {
$urlTplParams = $this->pathParameters;
$urlTplParams['companySubscription%2Did'] = $companySubscriptionId;
return new CompanySubscriptionItemRequestBuilder($urlTplParams, $this->requestAdapter);
}
/**
* Instantiates a new SubscriptionsRequestBuilder 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}/directory/subscriptions{?%24count,%24expand,%24filter,%24orderby,%24search,%24select,%24skip,%24top}');
if (is_array($pathParametersOrRawUrl)) {
$this->pathParameters = $pathParametersOrRawUrl;
} else {
$this->pathParameters = ['request-raw-url' => $pathParametersOrRawUrl];
}
}
/**
* Get the list of commercial subscriptions that an organization has acquired.
* @param SubscriptionsRequestBuilderGetRequestConfiguration|null $requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
* @return Promise<CompanySubscriptionCollectionResponse|null>
* @throws Exception
* @link https://learn.microsoft.com/graph/api/directory-list-subscriptions?view=graph-rest-beta Find more info here
*/
public function get(?SubscriptionsRequestBuilderGetRequestConfiguration $requestConfiguration = null): Promise {
$requestInfo = $this->toGetRequestInformation($requestConfiguration);
$errorMappings = [
'XXX' => [ODataError::class, 'createFromDiscriminatorValue'],
];
return $this->requestAdapter->sendAsync($requestInfo, [CompanySubscriptionCollectionResponse::class, 'createFromDiscriminatorValue'], $errorMappings);
}
/**
* Create new navigation property to subscriptions for directory
* @param CompanySubscription $body The request body
* @param SubscriptionsRequestBuilderPostRequestConfiguration|null $requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
* @return Promise<CompanySubscription|null>
* @throws Exception
*/
public function post(CompanySubscription $body, ?SubscriptionsRequestBuilderPostRequestConfiguration $requestConfiguration = null): Promise {
$requestInfo = $this->toPostRequestInformation($body, $requestConfiguration);
$errorMappings = [
'XXX' => [ODataError::class, 'createFromDiscriminatorValue'],
];
return $this->requestAdapter->sendAsync($requestInfo, [CompanySubscription::class, 'createFromDiscriminatorValue'], $errorMappings);
}
/**
* Get the list of commercial subscriptions that an organization has acquired.
* @param SubscriptionsRequestBuilderGetRequestConfiguration|null $requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
* @return RequestInformation
*/
public function toGetRequestInformation(?SubscriptionsRequestBuilderGetRequestConfiguration $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 new navigation property to subscriptions for directory
* @param CompanySubscription $body The request body
* @param SubscriptionsRequestBuilderPostRequestConfiguration|null $requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
* @return RequestInformation
*/
public function toPostRequestInformation(CompanySubscription $body, ?SubscriptionsRequestBuilderPostRequestConfiguration $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 SubscriptionsRequestBuilder
*/
public function withUrl(string $rawUrl): SubscriptionsRequestBuilder {
return new SubscriptionsRequestBuilder($rawUrl, $this->requestAdapter);
}
}