github.com/yaegashi/msgraph.go@v0.1.4/v1.0/ActionPost.go (about) 1 // Code generated by msgraph.go/gen DO NOT EDIT. 2 3 package msgraph 4 5 import ( 6 "context" 7 "fmt" 8 "io/ioutil" 9 "net/http" 10 11 "github.com/yaegashi/msgraph.go/jsonx" 12 ) 13 14 // PostReplyRequestParameter undocumented 15 type PostReplyRequestParameter struct { 16 // Post undocumented 17 Post *Post `json:"Post,omitempty"` 18 } 19 20 // PostForwardRequestParameter undocumented 21 type PostForwardRequestParameter struct { 22 // Comment undocumented 23 Comment *string `json:"Comment,omitempty"` 24 // ToRecipients undocumented 25 ToRecipients []Recipient `json:"ToRecipients,omitempty"` 26 } 27 28 // Attachments returns request builder for Attachment collection 29 func (b *PostRequestBuilder) Attachments() *PostAttachmentsCollectionRequestBuilder { 30 bb := &PostAttachmentsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 31 bb.baseURL += "/attachments" 32 return bb 33 } 34 35 // PostAttachmentsCollectionRequestBuilder is request builder for Attachment collection 36 type PostAttachmentsCollectionRequestBuilder struct{ BaseRequestBuilder } 37 38 // Request returns request for Attachment collection 39 func (b *PostAttachmentsCollectionRequestBuilder) Request() *PostAttachmentsCollectionRequest { 40 return &PostAttachmentsCollectionRequest{ 41 BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, 42 } 43 } 44 45 // ID returns request builder for Attachment item 46 func (b *PostAttachmentsCollectionRequestBuilder) ID(id string) *AttachmentRequestBuilder { 47 bb := &AttachmentRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 48 bb.baseURL += "/" + id 49 return bb 50 } 51 52 // PostAttachmentsCollectionRequest is request for Attachment collection 53 type PostAttachmentsCollectionRequest struct{ BaseRequest } 54 55 // Paging perfoms paging operation for Attachment collection 56 func (r *PostAttachmentsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]Attachment, error) { 57 req, err := r.NewJSONRequest(method, path, obj) 58 if err != nil { 59 return nil, err 60 } 61 if ctx != nil { 62 req = req.WithContext(ctx) 63 } 64 res, err := r.client.Do(req) 65 if err != nil { 66 return nil, err 67 } 68 var values []Attachment 69 for { 70 if res.StatusCode != http.StatusOK { 71 b, _ := ioutil.ReadAll(res.Body) 72 res.Body.Close() 73 errRes := &ErrorResponse{Response: res} 74 err := jsonx.Unmarshal(b, errRes) 75 if err != nil { 76 return nil, fmt.Errorf("%s: %s", res.Status, string(b)) 77 } 78 return nil, errRes 79 } 80 var ( 81 paging Paging 82 value []Attachment 83 ) 84 err := jsonx.NewDecoder(res.Body).Decode(&paging) 85 res.Body.Close() 86 if err != nil { 87 return nil, err 88 } 89 err = jsonx.Unmarshal(paging.Value, &value) 90 if err != nil { 91 return nil, err 92 } 93 values = append(values, value...) 94 if n >= 0 { 95 n-- 96 } 97 if n == 0 || len(paging.NextLink) == 0 { 98 return values, nil 99 } 100 req, err = http.NewRequest("GET", paging.NextLink, nil) 101 if ctx != nil { 102 req = req.WithContext(ctx) 103 } 104 res, err = r.client.Do(req) 105 if err != nil { 106 return nil, err 107 } 108 } 109 } 110 111 // GetN performs GET request for Attachment collection, max N pages 112 func (r *PostAttachmentsCollectionRequest) GetN(ctx context.Context, n int) ([]Attachment, error) { 113 var query string 114 if r.query != nil { 115 query = "?" + r.query.Encode() 116 } 117 return r.Paging(ctx, "GET", query, nil, n) 118 } 119 120 // Get performs GET request for Attachment collection 121 func (r *PostAttachmentsCollectionRequest) Get(ctx context.Context) ([]Attachment, error) { 122 return r.GetN(ctx, 0) 123 } 124 125 // Add performs POST request for Attachment collection 126 func (r *PostAttachmentsCollectionRequest) Add(ctx context.Context, reqObj *Attachment) (resObj *Attachment, err error) { 127 err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) 128 return 129 } 130 131 // Extensions returns request builder for Extension collection 132 func (b *PostRequestBuilder) Extensions() *PostExtensionsCollectionRequestBuilder { 133 bb := &PostExtensionsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 134 bb.baseURL += "/extensions" 135 return bb 136 } 137 138 // PostExtensionsCollectionRequestBuilder is request builder for Extension collection 139 type PostExtensionsCollectionRequestBuilder struct{ BaseRequestBuilder } 140 141 // Request returns request for Extension collection 142 func (b *PostExtensionsCollectionRequestBuilder) Request() *PostExtensionsCollectionRequest { 143 return &PostExtensionsCollectionRequest{ 144 BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, 145 } 146 } 147 148 // ID returns request builder for Extension item 149 func (b *PostExtensionsCollectionRequestBuilder) ID(id string) *ExtensionRequestBuilder { 150 bb := &ExtensionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 151 bb.baseURL += "/" + id 152 return bb 153 } 154 155 // PostExtensionsCollectionRequest is request for Extension collection 156 type PostExtensionsCollectionRequest struct{ BaseRequest } 157 158 // Paging perfoms paging operation for Extension collection 159 func (r *PostExtensionsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]Extension, error) { 160 req, err := r.NewJSONRequest(method, path, obj) 161 if err != nil { 162 return nil, err 163 } 164 if ctx != nil { 165 req = req.WithContext(ctx) 166 } 167 res, err := r.client.Do(req) 168 if err != nil { 169 return nil, err 170 } 171 var values []Extension 172 for { 173 if res.StatusCode != http.StatusOK { 174 b, _ := ioutil.ReadAll(res.Body) 175 res.Body.Close() 176 errRes := &ErrorResponse{Response: res} 177 err := jsonx.Unmarshal(b, errRes) 178 if err != nil { 179 return nil, fmt.Errorf("%s: %s", res.Status, string(b)) 180 } 181 return nil, errRes 182 } 183 var ( 184 paging Paging 185 value []Extension 186 ) 187 err := jsonx.NewDecoder(res.Body).Decode(&paging) 188 res.Body.Close() 189 if err != nil { 190 return nil, err 191 } 192 err = jsonx.Unmarshal(paging.Value, &value) 193 if err != nil { 194 return nil, err 195 } 196 values = append(values, value...) 197 if n >= 0 { 198 n-- 199 } 200 if n == 0 || len(paging.NextLink) == 0 { 201 return values, nil 202 } 203 req, err = http.NewRequest("GET", paging.NextLink, nil) 204 if ctx != nil { 205 req = req.WithContext(ctx) 206 } 207 res, err = r.client.Do(req) 208 if err != nil { 209 return nil, err 210 } 211 } 212 } 213 214 // GetN performs GET request for Extension collection, max N pages 215 func (r *PostExtensionsCollectionRequest) GetN(ctx context.Context, n int) ([]Extension, error) { 216 var query string 217 if r.query != nil { 218 query = "?" + r.query.Encode() 219 } 220 return r.Paging(ctx, "GET", query, nil, n) 221 } 222 223 // Get performs GET request for Extension collection 224 func (r *PostExtensionsCollectionRequest) Get(ctx context.Context) ([]Extension, error) { 225 return r.GetN(ctx, 0) 226 } 227 228 // Add performs POST request for Extension collection 229 func (r *PostExtensionsCollectionRequest) Add(ctx context.Context, reqObj *Extension) (resObj *Extension, err error) { 230 err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) 231 return 232 } 233 234 // InReplyTo is navigation property 235 func (b *PostRequestBuilder) InReplyTo() *PostRequestBuilder { 236 bb := &PostRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 237 bb.baseURL += "/inReplyTo" 238 return bb 239 } 240 241 // MultiValueExtendedProperties returns request builder for MultiValueLegacyExtendedProperty collection 242 func (b *PostRequestBuilder) MultiValueExtendedProperties() *PostMultiValueExtendedPropertiesCollectionRequestBuilder { 243 bb := &PostMultiValueExtendedPropertiesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 244 bb.baseURL += "/multiValueExtendedProperties" 245 return bb 246 } 247 248 // PostMultiValueExtendedPropertiesCollectionRequestBuilder is request builder for MultiValueLegacyExtendedProperty collection 249 type PostMultiValueExtendedPropertiesCollectionRequestBuilder struct{ BaseRequestBuilder } 250 251 // Request returns request for MultiValueLegacyExtendedProperty collection 252 func (b *PostMultiValueExtendedPropertiesCollectionRequestBuilder) Request() *PostMultiValueExtendedPropertiesCollectionRequest { 253 return &PostMultiValueExtendedPropertiesCollectionRequest{ 254 BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, 255 } 256 } 257 258 // ID returns request builder for MultiValueLegacyExtendedProperty item 259 func (b *PostMultiValueExtendedPropertiesCollectionRequestBuilder) ID(id string) *MultiValueLegacyExtendedPropertyRequestBuilder { 260 bb := &MultiValueLegacyExtendedPropertyRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 261 bb.baseURL += "/" + id 262 return bb 263 } 264 265 // PostMultiValueExtendedPropertiesCollectionRequest is request for MultiValueLegacyExtendedProperty collection 266 type PostMultiValueExtendedPropertiesCollectionRequest struct{ BaseRequest } 267 268 // Paging perfoms paging operation for MultiValueLegacyExtendedProperty collection 269 func (r *PostMultiValueExtendedPropertiesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]MultiValueLegacyExtendedProperty, error) { 270 req, err := r.NewJSONRequest(method, path, obj) 271 if err != nil { 272 return nil, err 273 } 274 if ctx != nil { 275 req = req.WithContext(ctx) 276 } 277 res, err := r.client.Do(req) 278 if err != nil { 279 return nil, err 280 } 281 var values []MultiValueLegacyExtendedProperty 282 for { 283 if res.StatusCode != http.StatusOK { 284 b, _ := ioutil.ReadAll(res.Body) 285 res.Body.Close() 286 errRes := &ErrorResponse{Response: res} 287 err := jsonx.Unmarshal(b, errRes) 288 if err != nil { 289 return nil, fmt.Errorf("%s: %s", res.Status, string(b)) 290 } 291 return nil, errRes 292 } 293 var ( 294 paging Paging 295 value []MultiValueLegacyExtendedProperty 296 ) 297 err := jsonx.NewDecoder(res.Body).Decode(&paging) 298 res.Body.Close() 299 if err != nil { 300 return nil, err 301 } 302 err = jsonx.Unmarshal(paging.Value, &value) 303 if err != nil { 304 return nil, err 305 } 306 values = append(values, value...) 307 if n >= 0 { 308 n-- 309 } 310 if n == 0 || len(paging.NextLink) == 0 { 311 return values, nil 312 } 313 req, err = http.NewRequest("GET", paging.NextLink, nil) 314 if ctx != nil { 315 req = req.WithContext(ctx) 316 } 317 res, err = r.client.Do(req) 318 if err != nil { 319 return nil, err 320 } 321 } 322 } 323 324 // GetN performs GET request for MultiValueLegacyExtendedProperty collection, max N pages 325 func (r *PostMultiValueExtendedPropertiesCollectionRequest) GetN(ctx context.Context, n int) ([]MultiValueLegacyExtendedProperty, error) { 326 var query string 327 if r.query != nil { 328 query = "?" + r.query.Encode() 329 } 330 return r.Paging(ctx, "GET", query, nil, n) 331 } 332 333 // Get performs GET request for MultiValueLegacyExtendedProperty collection 334 func (r *PostMultiValueExtendedPropertiesCollectionRequest) Get(ctx context.Context) ([]MultiValueLegacyExtendedProperty, error) { 335 return r.GetN(ctx, 0) 336 } 337 338 // Add performs POST request for MultiValueLegacyExtendedProperty collection 339 func (r *PostMultiValueExtendedPropertiesCollectionRequest) Add(ctx context.Context, reqObj *MultiValueLegacyExtendedProperty) (resObj *MultiValueLegacyExtendedProperty, err error) { 340 err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) 341 return 342 } 343 344 // SingleValueExtendedProperties returns request builder for SingleValueLegacyExtendedProperty collection 345 func (b *PostRequestBuilder) SingleValueExtendedProperties() *PostSingleValueExtendedPropertiesCollectionRequestBuilder { 346 bb := &PostSingleValueExtendedPropertiesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 347 bb.baseURL += "/singleValueExtendedProperties" 348 return bb 349 } 350 351 // PostSingleValueExtendedPropertiesCollectionRequestBuilder is request builder for SingleValueLegacyExtendedProperty collection 352 type PostSingleValueExtendedPropertiesCollectionRequestBuilder struct{ BaseRequestBuilder } 353 354 // Request returns request for SingleValueLegacyExtendedProperty collection 355 func (b *PostSingleValueExtendedPropertiesCollectionRequestBuilder) Request() *PostSingleValueExtendedPropertiesCollectionRequest { 356 return &PostSingleValueExtendedPropertiesCollectionRequest{ 357 BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, 358 } 359 } 360 361 // ID returns request builder for SingleValueLegacyExtendedProperty item 362 func (b *PostSingleValueExtendedPropertiesCollectionRequestBuilder) ID(id string) *SingleValueLegacyExtendedPropertyRequestBuilder { 363 bb := &SingleValueLegacyExtendedPropertyRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 364 bb.baseURL += "/" + id 365 return bb 366 } 367 368 // PostSingleValueExtendedPropertiesCollectionRequest is request for SingleValueLegacyExtendedProperty collection 369 type PostSingleValueExtendedPropertiesCollectionRequest struct{ BaseRequest } 370 371 // Paging perfoms paging operation for SingleValueLegacyExtendedProperty collection 372 func (r *PostSingleValueExtendedPropertiesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]SingleValueLegacyExtendedProperty, error) { 373 req, err := r.NewJSONRequest(method, path, obj) 374 if err != nil { 375 return nil, err 376 } 377 if ctx != nil { 378 req = req.WithContext(ctx) 379 } 380 res, err := r.client.Do(req) 381 if err != nil { 382 return nil, err 383 } 384 var values []SingleValueLegacyExtendedProperty 385 for { 386 if res.StatusCode != http.StatusOK { 387 b, _ := ioutil.ReadAll(res.Body) 388 res.Body.Close() 389 errRes := &ErrorResponse{Response: res} 390 err := jsonx.Unmarshal(b, errRes) 391 if err != nil { 392 return nil, fmt.Errorf("%s: %s", res.Status, string(b)) 393 } 394 return nil, errRes 395 } 396 var ( 397 paging Paging 398 value []SingleValueLegacyExtendedProperty 399 ) 400 err := jsonx.NewDecoder(res.Body).Decode(&paging) 401 res.Body.Close() 402 if err != nil { 403 return nil, err 404 } 405 err = jsonx.Unmarshal(paging.Value, &value) 406 if err != nil { 407 return nil, err 408 } 409 values = append(values, value...) 410 if n >= 0 { 411 n-- 412 } 413 if n == 0 || len(paging.NextLink) == 0 { 414 return values, nil 415 } 416 req, err = http.NewRequest("GET", paging.NextLink, nil) 417 if ctx != nil { 418 req = req.WithContext(ctx) 419 } 420 res, err = r.client.Do(req) 421 if err != nil { 422 return nil, err 423 } 424 } 425 } 426 427 // GetN performs GET request for SingleValueLegacyExtendedProperty collection, max N pages 428 func (r *PostSingleValueExtendedPropertiesCollectionRequest) GetN(ctx context.Context, n int) ([]SingleValueLegacyExtendedProperty, error) { 429 var query string 430 if r.query != nil { 431 query = "?" + r.query.Encode() 432 } 433 return r.Paging(ctx, "GET", query, nil, n) 434 } 435 436 // Get performs GET request for SingleValueLegacyExtendedProperty collection 437 func (r *PostSingleValueExtendedPropertiesCollectionRequest) Get(ctx context.Context) ([]SingleValueLegacyExtendedProperty, error) { 438 return r.GetN(ctx, 0) 439 } 440 441 // Add performs POST request for SingleValueLegacyExtendedProperty collection 442 func (r *PostSingleValueExtendedPropertiesCollectionRequest) Add(ctx context.Context, reqObj *SingleValueLegacyExtendedProperty) (resObj *SingleValueLegacyExtendedProperty, err error) { 443 err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) 444 return 445 }