1 package graphrbac
2
3
4
5
6
7
8
9 import (
10 "context"
11 "github.com/Azure/go-autorest/autorest"
12 "github.com/Azure/go-autorest/autorest/azure"
13 "github.com/Azure/go-autorest/autorest/to"
14 "github.com/Azure/go-autorest/tracing"
15 "net/http"
16 )
17
18
19 type ObjectsClient struct {
20 BaseClient
21 }
22
23
24 func NewObjectsClient(tenantID string) ObjectsClient {
25 return NewObjectsClientWithBaseURI(DefaultBaseURI, tenantID)
26 }
27
28
29
30 func NewObjectsClientWithBaseURI(baseURI string, tenantID string) ObjectsClient {
31 return ObjectsClient{NewWithBaseURI(baseURI, tenantID)}
32 }
33
34
35
36
37
38 func (client ObjectsClient) GetObjectsByObjectIds(ctx context.Context, parameters GetObjectsParameters) (result DirectoryObjectListResultPage, err error) {
39 if tracing.IsEnabled() {
40 ctx = tracing.StartSpan(ctx, fqdn+"/ObjectsClient.GetObjectsByObjectIds")
41 defer func() {
42 sc := -1
43 if result.dolr.Response.Response != nil {
44 sc = result.dolr.Response.Response.StatusCode
45 }
46 tracing.EndSpan(ctx, sc, err)
47 }()
48 }
49 result.fn = func(ctx context.Context, lastResult DirectoryObjectListResult) (DirectoryObjectListResult, error) {
50 if lastResult.OdataNextLink == nil || len(to.String(lastResult.OdataNextLink)) < 1 {
51 return DirectoryObjectListResult{}, nil
52 }
53 return client.GetObjectsByObjectIdsNext(ctx, *lastResult.OdataNextLink)
54 }
55 req, err := client.GetObjectsByObjectIdsPreparer(ctx, parameters)
56 if err != nil {
57 err = autorest.NewErrorWithError(err, "graphrbac.ObjectsClient", "GetObjectsByObjectIds", nil, "Failure preparing request")
58 return
59 }
60
61 resp, err := client.GetObjectsByObjectIdsSender(req)
62 if err != nil {
63 result.dolr.Response = autorest.Response{Response: resp}
64 err = autorest.NewErrorWithError(err, "graphrbac.ObjectsClient", "GetObjectsByObjectIds", resp, "Failure sending request")
65 return
66 }
67
68 result.dolr, err = client.GetObjectsByObjectIdsResponder(resp)
69 if err != nil {
70 err = autorest.NewErrorWithError(err, "graphrbac.ObjectsClient", "GetObjectsByObjectIds", resp, "Failure responding to request")
71 return
72 }
73 if result.dolr.hasNextLink() && result.dolr.IsEmpty() {
74 err = result.NextWithContext(ctx)
75 return
76 }
77
78 return
79 }
80
81
82 func (client ObjectsClient) GetObjectsByObjectIdsPreparer(ctx context.Context, parameters GetObjectsParameters) (*http.Request, error) {
83 pathParameters := map[string]interface{}{
84 "tenantID": autorest.Encode("path", client.TenantID),
85 }
86
87 const APIVersion = "1.6"
88 queryParameters := map[string]interface{}{
89 "api-version": APIVersion,
90 }
91
92 preparer := autorest.CreatePreparer(
93 autorest.AsContentType("application/json; charset=utf-8"),
94 autorest.AsPost(),
95 autorest.WithBaseURL(client.BaseURI),
96 autorest.WithPathParameters("/{tenantID}/getObjectsByObjectIds", pathParameters),
97 autorest.WithJSON(parameters),
98 autorest.WithQueryParameters(queryParameters))
99 return preparer.Prepare((&http.Request{}).WithContext(ctx))
100 }
101
102
103
104 func (client ObjectsClient) GetObjectsByObjectIdsSender(req *http.Request) (*http.Response, error) {
105 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
106 }
107
108
109
110 func (client ObjectsClient) GetObjectsByObjectIdsResponder(resp *http.Response) (result DirectoryObjectListResult, err error) {
111 err = autorest.Respond(
112 resp,
113 azure.WithErrorUnlessStatusCode(http.StatusOK),
114 autorest.ByUnmarshallingJSON(&result),
115 autorest.ByClosing())
116 result.Response = autorest.Response{Response: resp}
117 return
118 }
119
120
121 func (client ObjectsClient) GetObjectsByObjectIdsComplete(ctx context.Context, parameters GetObjectsParameters) (result DirectoryObjectListResultIterator, err error) {
122 if tracing.IsEnabled() {
123 ctx = tracing.StartSpan(ctx, fqdn+"/ObjectsClient.GetObjectsByObjectIds")
124 defer func() {
125 sc := -1
126 if result.Response().Response.Response != nil {
127 sc = result.page.Response().Response.Response.StatusCode
128 }
129 tracing.EndSpan(ctx, sc, err)
130 }()
131 }
132 result.page, err = client.GetObjectsByObjectIds(ctx, parameters)
133 return
134 }
135
136
137
138
139 func (client ObjectsClient) GetObjectsByObjectIdsNext(ctx context.Context, nextLink string) (result DirectoryObjectListResult, err error) {
140 if tracing.IsEnabled() {
141 ctx = tracing.StartSpan(ctx, fqdn+"/ObjectsClient.GetObjectsByObjectIdsNext")
142 defer func() {
143 sc := -1
144 if result.Response.Response != nil {
145 sc = result.Response.Response.StatusCode
146 }
147 tracing.EndSpan(ctx, sc, err)
148 }()
149 }
150 req, err := client.GetObjectsByObjectIdsNextPreparer(ctx, nextLink)
151 if err != nil {
152 err = autorest.NewErrorWithError(err, "graphrbac.ObjectsClient", "GetObjectsByObjectIdsNext", nil, "Failure preparing request")
153 return
154 }
155
156 resp, err := client.GetObjectsByObjectIdsNextSender(req)
157 if err != nil {
158 result.Response = autorest.Response{Response: resp}
159 err = autorest.NewErrorWithError(err, "graphrbac.ObjectsClient", "GetObjectsByObjectIdsNext", resp, "Failure sending request")
160 return
161 }
162
163 result, err = client.GetObjectsByObjectIdsNextResponder(resp)
164 if err != nil {
165 err = autorest.NewErrorWithError(err, "graphrbac.ObjectsClient", "GetObjectsByObjectIdsNext", resp, "Failure responding to request")
166 return
167 }
168
169 return
170 }
171
172
173 func (client ObjectsClient) GetObjectsByObjectIdsNextPreparer(ctx context.Context, nextLink string) (*http.Request, error) {
174 pathParameters := map[string]interface{}{
175 "nextLink": nextLink,
176 "tenantID": autorest.Encode("path", client.TenantID),
177 }
178
179 const APIVersion = "1.6"
180 queryParameters := map[string]interface{}{
181 "api-version": APIVersion,
182 }
183
184 preparer := autorest.CreatePreparer(
185 autorest.AsPost(),
186 autorest.WithBaseURL(client.BaseURI),
187 autorest.WithPathParameters("/{tenantID}/{nextLink}", pathParameters),
188 autorest.WithQueryParameters(queryParameters))
189 return preparer.Prepare((&http.Request{}).WithContext(ctx))
190 }
191
192
193
194 func (client ObjectsClient) GetObjectsByObjectIdsNextSender(req *http.Request) (*http.Response, error) {
195 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
196 }
197
198
199
200 func (client ObjectsClient) GetObjectsByObjectIdsNextResponder(resp *http.Response) (result DirectoryObjectListResult, err error) {
201 err = autorest.Respond(
202 resp,
203 azure.WithErrorUnlessStatusCode(http.StatusOK),
204 autorest.ByUnmarshallingJSON(&result),
205 autorest.ByClosing())
206 result.Response = autorest.Response{Response: resp}
207 return
208 }
209
View as plain text