github.com/yaegashi/msgraph.go@v0.1.4/v1.0/ActionMail.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 // MailFolderCopyRequestParameter undocumented 15 type MailFolderCopyRequestParameter struct { 16 // DestinationID undocumented 17 DestinationID *string `json:"DestinationId,omitempty"` 18 } 19 20 // MailFolderMoveRequestParameter undocumented 21 type MailFolderMoveRequestParameter struct { 22 // DestinationID undocumented 23 DestinationID *string `json:"DestinationId,omitempty"` 24 } 25 26 // ChildFolders returns request builder for MailFolder collection 27 func (b *MailFolderRequestBuilder) ChildFolders() *MailFolderChildFoldersCollectionRequestBuilder { 28 bb := &MailFolderChildFoldersCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 29 bb.baseURL += "/childFolders" 30 return bb 31 } 32 33 // MailFolderChildFoldersCollectionRequestBuilder is request builder for MailFolder collection 34 type MailFolderChildFoldersCollectionRequestBuilder struct{ BaseRequestBuilder } 35 36 // Request returns request for MailFolder collection 37 func (b *MailFolderChildFoldersCollectionRequestBuilder) Request() *MailFolderChildFoldersCollectionRequest { 38 return &MailFolderChildFoldersCollectionRequest{ 39 BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, 40 } 41 } 42 43 // ID returns request builder for MailFolder item 44 func (b *MailFolderChildFoldersCollectionRequestBuilder) ID(id string) *MailFolderRequestBuilder { 45 bb := &MailFolderRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 46 bb.baseURL += "/" + id 47 return bb 48 } 49 50 // MailFolderChildFoldersCollectionRequest is request for MailFolder collection 51 type MailFolderChildFoldersCollectionRequest struct{ BaseRequest } 52 53 // Paging perfoms paging operation for MailFolder collection 54 func (r *MailFolderChildFoldersCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]MailFolder, error) { 55 req, err := r.NewJSONRequest(method, path, obj) 56 if err != nil { 57 return nil, err 58 } 59 if ctx != nil { 60 req = req.WithContext(ctx) 61 } 62 res, err := r.client.Do(req) 63 if err != nil { 64 return nil, err 65 } 66 var values []MailFolder 67 for { 68 if res.StatusCode != http.StatusOK { 69 b, _ := ioutil.ReadAll(res.Body) 70 res.Body.Close() 71 errRes := &ErrorResponse{Response: res} 72 err := jsonx.Unmarshal(b, errRes) 73 if err != nil { 74 return nil, fmt.Errorf("%s: %s", res.Status, string(b)) 75 } 76 return nil, errRes 77 } 78 var ( 79 paging Paging 80 value []MailFolder 81 ) 82 err := jsonx.NewDecoder(res.Body).Decode(&paging) 83 res.Body.Close() 84 if err != nil { 85 return nil, err 86 } 87 err = jsonx.Unmarshal(paging.Value, &value) 88 if err != nil { 89 return nil, err 90 } 91 values = append(values, value...) 92 if n >= 0 { 93 n-- 94 } 95 if n == 0 || len(paging.NextLink) == 0 { 96 return values, nil 97 } 98 req, err = http.NewRequest("GET", paging.NextLink, nil) 99 if ctx != nil { 100 req = req.WithContext(ctx) 101 } 102 res, err = r.client.Do(req) 103 if err != nil { 104 return nil, err 105 } 106 } 107 } 108 109 // GetN performs GET request for MailFolder collection, max N pages 110 func (r *MailFolderChildFoldersCollectionRequest) GetN(ctx context.Context, n int) ([]MailFolder, error) { 111 var query string 112 if r.query != nil { 113 query = "?" + r.query.Encode() 114 } 115 return r.Paging(ctx, "GET", query, nil, n) 116 } 117 118 // Get performs GET request for MailFolder collection 119 func (r *MailFolderChildFoldersCollectionRequest) Get(ctx context.Context) ([]MailFolder, error) { 120 return r.GetN(ctx, 0) 121 } 122 123 // Add performs POST request for MailFolder collection 124 func (r *MailFolderChildFoldersCollectionRequest) Add(ctx context.Context, reqObj *MailFolder) (resObj *MailFolder, err error) { 125 err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) 126 return 127 } 128 129 // MessageRules returns request builder for MessageRule collection 130 func (b *MailFolderRequestBuilder) MessageRules() *MailFolderMessageRulesCollectionRequestBuilder { 131 bb := &MailFolderMessageRulesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 132 bb.baseURL += "/messageRules" 133 return bb 134 } 135 136 // MailFolderMessageRulesCollectionRequestBuilder is request builder for MessageRule collection 137 type MailFolderMessageRulesCollectionRequestBuilder struct{ BaseRequestBuilder } 138 139 // Request returns request for MessageRule collection 140 func (b *MailFolderMessageRulesCollectionRequestBuilder) Request() *MailFolderMessageRulesCollectionRequest { 141 return &MailFolderMessageRulesCollectionRequest{ 142 BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, 143 } 144 } 145 146 // ID returns request builder for MessageRule item 147 func (b *MailFolderMessageRulesCollectionRequestBuilder) ID(id string) *MessageRuleRequestBuilder { 148 bb := &MessageRuleRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 149 bb.baseURL += "/" + id 150 return bb 151 } 152 153 // MailFolderMessageRulesCollectionRequest is request for MessageRule collection 154 type MailFolderMessageRulesCollectionRequest struct{ BaseRequest } 155 156 // Paging perfoms paging operation for MessageRule collection 157 func (r *MailFolderMessageRulesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]MessageRule, error) { 158 req, err := r.NewJSONRequest(method, path, obj) 159 if err != nil { 160 return nil, err 161 } 162 if ctx != nil { 163 req = req.WithContext(ctx) 164 } 165 res, err := r.client.Do(req) 166 if err != nil { 167 return nil, err 168 } 169 var values []MessageRule 170 for { 171 if res.StatusCode != http.StatusOK { 172 b, _ := ioutil.ReadAll(res.Body) 173 res.Body.Close() 174 errRes := &ErrorResponse{Response: res} 175 err := jsonx.Unmarshal(b, errRes) 176 if err != nil { 177 return nil, fmt.Errorf("%s: %s", res.Status, string(b)) 178 } 179 return nil, errRes 180 } 181 var ( 182 paging Paging 183 value []MessageRule 184 ) 185 err := jsonx.NewDecoder(res.Body).Decode(&paging) 186 res.Body.Close() 187 if err != nil { 188 return nil, err 189 } 190 err = jsonx.Unmarshal(paging.Value, &value) 191 if err != nil { 192 return nil, err 193 } 194 values = append(values, value...) 195 if n >= 0 { 196 n-- 197 } 198 if n == 0 || len(paging.NextLink) == 0 { 199 return values, nil 200 } 201 req, err = http.NewRequest("GET", paging.NextLink, nil) 202 if ctx != nil { 203 req = req.WithContext(ctx) 204 } 205 res, err = r.client.Do(req) 206 if err != nil { 207 return nil, err 208 } 209 } 210 } 211 212 // GetN performs GET request for MessageRule collection, max N pages 213 func (r *MailFolderMessageRulesCollectionRequest) GetN(ctx context.Context, n int) ([]MessageRule, error) { 214 var query string 215 if r.query != nil { 216 query = "?" + r.query.Encode() 217 } 218 return r.Paging(ctx, "GET", query, nil, n) 219 } 220 221 // Get performs GET request for MessageRule collection 222 func (r *MailFolderMessageRulesCollectionRequest) Get(ctx context.Context) ([]MessageRule, error) { 223 return r.GetN(ctx, 0) 224 } 225 226 // Add performs POST request for MessageRule collection 227 func (r *MailFolderMessageRulesCollectionRequest) Add(ctx context.Context, reqObj *MessageRule) (resObj *MessageRule, err error) { 228 err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) 229 return 230 } 231 232 // Messages returns request builder for Message collection 233 func (b *MailFolderRequestBuilder) Messages() *MailFolderMessagesCollectionRequestBuilder { 234 bb := &MailFolderMessagesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 235 bb.baseURL += "/messages" 236 return bb 237 } 238 239 // MailFolderMessagesCollectionRequestBuilder is request builder for Message collection 240 type MailFolderMessagesCollectionRequestBuilder struct{ BaseRequestBuilder } 241 242 // Request returns request for Message collection 243 func (b *MailFolderMessagesCollectionRequestBuilder) Request() *MailFolderMessagesCollectionRequest { 244 return &MailFolderMessagesCollectionRequest{ 245 BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, 246 } 247 } 248 249 // ID returns request builder for Message item 250 func (b *MailFolderMessagesCollectionRequestBuilder) ID(id string) *MessageRequestBuilder { 251 bb := &MessageRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 252 bb.baseURL += "/" + id 253 return bb 254 } 255 256 // MailFolderMessagesCollectionRequest is request for Message collection 257 type MailFolderMessagesCollectionRequest struct{ BaseRequest } 258 259 // Paging perfoms paging operation for Message collection 260 func (r *MailFolderMessagesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]Message, error) { 261 req, err := r.NewJSONRequest(method, path, obj) 262 if err != nil { 263 return nil, err 264 } 265 if ctx != nil { 266 req = req.WithContext(ctx) 267 } 268 res, err := r.client.Do(req) 269 if err != nil { 270 return nil, err 271 } 272 var values []Message 273 for { 274 if res.StatusCode != http.StatusOK { 275 b, _ := ioutil.ReadAll(res.Body) 276 res.Body.Close() 277 errRes := &ErrorResponse{Response: res} 278 err := jsonx.Unmarshal(b, errRes) 279 if err != nil { 280 return nil, fmt.Errorf("%s: %s", res.Status, string(b)) 281 } 282 return nil, errRes 283 } 284 var ( 285 paging Paging 286 value []Message 287 ) 288 err := jsonx.NewDecoder(res.Body).Decode(&paging) 289 res.Body.Close() 290 if err != nil { 291 return nil, err 292 } 293 err = jsonx.Unmarshal(paging.Value, &value) 294 if err != nil { 295 return nil, err 296 } 297 values = append(values, value...) 298 if n >= 0 { 299 n-- 300 } 301 if n == 0 || len(paging.NextLink) == 0 { 302 return values, nil 303 } 304 req, err = http.NewRequest("GET", paging.NextLink, nil) 305 if ctx != nil { 306 req = req.WithContext(ctx) 307 } 308 res, err = r.client.Do(req) 309 if err != nil { 310 return nil, err 311 } 312 } 313 } 314 315 // GetN performs GET request for Message collection, max N pages 316 func (r *MailFolderMessagesCollectionRequest) GetN(ctx context.Context, n int) ([]Message, error) { 317 var query string 318 if r.query != nil { 319 query = "?" + r.query.Encode() 320 } 321 return r.Paging(ctx, "GET", query, nil, n) 322 } 323 324 // Get performs GET request for Message collection 325 func (r *MailFolderMessagesCollectionRequest) Get(ctx context.Context) ([]Message, error) { 326 return r.GetN(ctx, 0) 327 } 328 329 // Add performs POST request for Message collection 330 func (r *MailFolderMessagesCollectionRequest) Add(ctx context.Context, reqObj *Message) (resObj *Message, err error) { 331 err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) 332 return 333 } 334 335 // MultiValueExtendedProperties returns request builder for MultiValueLegacyExtendedProperty collection 336 func (b *MailFolderRequestBuilder) MultiValueExtendedProperties() *MailFolderMultiValueExtendedPropertiesCollectionRequestBuilder { 337 bb := &MailFolderMultiValueExtendedPropertiesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 338 bb.baseURL += "/multiValueExtendedProperties" 339 return bb 340 } 341 342 // MailFolderMultiValueExtendedPropertiesCollectionRequestBuilder is request builder for MultiValueLegacyExtendedProperty collection 343 type MailFolderMultiValueExtendedPropertiesCollectionRequestBuilder struct{ BaseRequestBuilder } 344 345 // Request returns request for MultiValueLegacyExtendedProperty collection 346 func (b *MailFolderMultiValueExtendedPropertiesCollectionRequestBuilder) Request() *MailFolderMultiValueExtendedPropertiesCollectionRequest { 347 return &MailFolderMultiValueExtendedPropertiesCollectionRequest{ 348 BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, 349 } 350 } 351 352 // ID returns request builder for MultiValueLegacyExtendedProperty item 353 func (b *MailFolderMultiValueExtendedPropertiesCollectionRequestBuilder) ID(id string) *MultiValueLegacyExtendedPropertyRequestBuilder { 354 bb := &MultiValueLegacyExtendedPropertyRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 355 bb.baseURL += "/" + id 356 return bb 357 } 358 359 // MailFolderMultiValueExtendedPropertiesCollectionRequest is request for MultiValueLegacyExtendedProperty collection 360 type MailFolderMultiValueExtendedPropertiesCollectionRequest struct{ BaseRequest } 361 362 // Paging perfoms paging operation for MultiValueLegacyExtendedProperty collection 363 func (r *MailFolderMultiValueExtendedPropertiesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]MultiValueLegacyExtendedProperty, error) { 364 req, err := r.NewJSONRequest(method, path, obj) 365 if err != nil { 366 return nil, err 367 } 368 if ctx != nil { 369 req = req.WithContext(ctx) 370 } 371 res, err := r.client.Do(req) 372 if err != nil { 373 return nil, err 374 } 375 var values []MultiValueLegacyExtendedProperty 376 for { 377 if res.StatusCode != http.StatusOK { 378 b, _ := ioutil.ReadAll(res.Body) 379 res.Body.Close() 380 errRes := &ErrorResponse{Response: res} 381 err := jsonx.Unmarshal(b, errRes) 382 if err != nil { 383 return nil, fmt.Errorf("%s: %s", res.Status, string(b)) 384 } 385 return nil, errRes 386 } 387 var ( 388 paging Paging 389 value []MultiValueLegacyExtendedProperty 390 ) 391 err := jsonx.NewDecoder(res.Body).Decode(&paging) 392 res.Body.Close() 393 if err != nil { 394 return nil, err 395 } 396 err = jsonx.Unmarshal(paging.Value, &value) 397 if err != nil { 398 return nil, err 399 } 400 values = append(values, value...) 401 if n >= 0 { 402 n-- 403 } 404 if n == 0 || len(paging.NextLink) == 0 { 405 return values, nil 406 } 407 req, err = http.NewRequest("GET", paging.NextLink, nil) 408 if ctx != nil { 409 req = req.WithContext(ctx) 410 } 411 res, err = r.client.Do(req) 412 if err != nil { 413 return nil, err 414 } 415 } 416 } 417 418 // GetN performs GET request for MultiValueLegacyExtendedProperty collection, max N pages 419 func (r *MailFolderMultiValueExtendedPropertiesCollectionRequest) GetN(ctx context.Context, n int) ([]MultiValueLegacyExtendedProperty, error) { 420 var query string 421 if r.query != nil { 422 query = "?" + r.query.Encode() 423 } 424 return r.Paging(ctx, "GET", query, nil, n) 425 } 426 427 // Get performs GET request for MultiValueLegacyExtendedProperty collection 428 func (r *MailFolderMultiValueExtendedPropertiesCollectionRequest) Get(ctx context.Context) ([]MultiValueLegacyExtendedProperty, error) { 429 return r.GetN(ctx, 0) 430 } 431 432 // Add performs POST request for MultiValueLegacyExtendedProperty collection 433 func (r *MailFolderMultiValueExtendedPropertiesCollectionRequest) Add(ctx context.Context, reqObj *MultiValueLegacyExtendedProperty) (resObj *MultiValueLegacyExtendedProperty, err error) { 434 err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) 435 return 436 } 437 438 // SingleValueExtendedProperties returns request builder for SingleValueLegacyExtendedProperty collection 439 func (b *MailFolderRequestBuilder) SingleValueExtendedProperties() *MailFolderSingleValueExtendedPropertiesCollectionRequestBuilder { 440 bb := &MailFolderSingleValueExtendedPropertiesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 441 bb.baseURL += "/singleValueExtendedProperties" 442 return bb 443 } 444 445 // MailFolderSingleValueExtendedPropertiesCollectionRequestBuilder is request builder for SingleValueLegacyExtendedProperty collection 446 type MailFolderSingleValueExtendedPropertiesCollectionRequestBuilder struct{ BaseRequestBuilder } 447 448 // Request returns request for SingleValueLegacyExtendedProperty collection 449 func (b *MailFolderSingleValueExtendedPropertiesCollectionRequestBuilder) Request() *MailFolderSingleValueExtendedPropertiesCollectionRequest { 450 return &MailFolderSingleValueExtendedPropertiesCollectionRequest{ 451 BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, 452 } 453 } 454 455 // ID returns request builder for SingleValueLegacyExtendedProperty item 456 func (b *MailFolderSingleValueExtendedPropertiesCollectionRequestBuilder) ID(id string) *SingleValueLegacyExtendedPropertyRequestBuilder { 457 bb := &SingleValueLegacyExtendedPropertyRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 458 bb.baseURL += "/" + id 459 return bb 460 } 461 462 // MailFolderSingleValueExtendedPropertiesCollectionRequest is request for SingleValueLegacyExtendedProperty collection 463 type MailFolderSingleValueExtendedPropertiesCollectionRequest struct{ BaseRequest } 464 465 // Paging perfoms paging operation for SingleValueLegacyExtendedProperty collection 466 func (r *MailFolderSingleValueExtendedPropertiesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]SingleValueLegacyExtendedProperty, error) { 467 req, err := r.NewJSONRequest(method, path, obj) 468 if err != nil { 469 return nil, err 470 } 471 if ctx != nil { 472 req = req.WithContext(ctx) 473 } 474 res, err := r.client.Do(req) 475 if err != nil { 476 return nil, err 477 } 478 var values []SingleValueLegacyExtendedProperty 479 for { 480 if res.StatusCode != http.StatusOK { 481 b, _ := ioutil.ReadAll(res.Body) 482 res.Body.Close() 483 errRes := &ErrorResponse{Response: res} 484 err := jsonx.Unmarshal(b, errRes) 485 if err != nil { 486 return nil, fmt.Errorf("%s: %s", res.Status, string(b)) 487 } 488 return nil, errRes 489 } 490 var ( 491 paging Paging 492 value []SingleValueLegacyExtendedProperty 493 ) 494 err := jsonx.NewDecoder(res.Body).Decode(&paging) 495 res.Body.Close() 496 if err != nil { 497 return nil, err 498 } 499 err = jsonx.Unmarshal(paging.Value, &value) 500 if err != nil { 501 return nil, err 502 } 503 values = append(values, value...) 504 if n >= 0 { 505 n-- 506 } 507 if n == 0 || len(paging.NextLink) == 0 { 508 return values, nil 509 } 510 req, err = http.NewRequest("GET", paging.NextLink, nil) 511 if ctx != nil { 512 req = req.WithContext(ctx) 513 } 514 res, err = r.client.Do(req) 515 if err != nil { 516 return nil, err 517 } 518 } 519 } 520 521 // GetN performs GET request for SingleValueLegacyExtendedProperty collection, max N pages 522 func (r *MailFolderSingleValueExtendedPropertiesCollectionRequest) GetN(ctx context.Context, n int) ([]SingleValueLegacyExtendedProperty, error) { 523 var query string 524 if r.query != nil { 525 query = "?" + r.query.Encode() 526 } 527 return r.Paging(ctx, "GET", query, nil, n) 528 } 529 530 // Get performs GET request for SingleValueLegacyExtendedProperty collection 531 func (r *MailFolderSingleValueExtendedPropertiesCollectionRequest) Get(ctx context.Context) ([]SingleValueLegacyExtendedProperty, error) { 532 return r.GetN(ctx, 0) 533 } 534 535 // Add performs POST request for SingleValueLegacyExtendedProperty collection 536 func (r *MailFolderSingleValueExtendedPropertiesCollectionRequest) Add(ctx context.Context, reqObj *SingleValueLegacyExtendedProperty) (resObj *SingleValueLegacyExtendedProperty, err error) { 537 err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) 538 return 539 }