github.com/yaegashi/msgraph.go@v0.1.4/beta/ActionList.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  // ListItemVersionRestoreVersionRequestParameter undocumented
    15  type ListItemVersionRestoreVersionRequestParameter struct {
    16  }
    17  
    18  // Activities returns request builder for ItemActivityOLD collection
    19  func (b *ListRequestBuilder) Activities() *ListActivitiesCollectionRequestBuilder {
    20  	bb := &ListActivitiesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
    21  	bb.baseURL += "/activities"
    22  	return bb
    23  }
    24  
    25  // ListActivitiesCollectionRequestBuilder is request builder for ItemActivityOLD collection
    26  type ListActivitiesCollectionRequestBuilder struct{ BaseRequestBuilder }
    27  
    28  // Request returns request for ItemActivityOLD collection
    29  func (b *ListActivitiesCollectionRequestBuilder) Request() *ListActivitiesCollectionRequest {
    30  	return &ListActivitiesCollectionRequest{
    31  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
    32  	}
    33  }
    34  
    35  // ID returns request builder for ItemActivityOLD item
    36  func (b *ListActivitiesCollectionRequestBuilder) ID(id string) *ItemActivityOLDRequestBuilder {
    37  	bb := &ItemActivityOLDRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
    38  	bb.baseURL += "/" + id
    39  	return bb
    40  }
    41  
    42  // ListActivitiesCollectionRequest is request for ItemActivityOLD collection
    43  type ListActivitiesCollectionRequest struct{ BaseRequest }
    44  
    45  // Paging perfoms paging operation for ItemActivityOLD collection
    46  func (r *ListActivitiesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]ItemActivityOLD, error) {
    47  	req, err := r.NewJSONRequest(method, path, obj)
    48  	if err != nil {
    49  		return nil, err
    50  	}
    51  	if ctx != nil {
    52  		req = req.WithContext(ctx)
    53  	}
    54  	res, err := r.client.Do(req)
    55  	if err != nil {
    56  		return nil, err
    57  	}
    58  	var values []ItemActivityOLD
    59  	for {
    60  		if res.StatusCode != http.StatusOK {
    61  			b, _ := ioutil.ReadAll(res.Body)
    62  			res.Body.Close()
    63  			errRes := &ErrorResponse{Response: res}
    64  			err := jsonx.Unmarshal(b, errRes)
    65  			if err != nil {
    66  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
    67  			}
    68  			return nil, errRes
    69  		}
    70  		var (
    71  			paging Paging
    72  			value  []ItemActivityOLD
    73  		)
    74  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
    75  		res.Body.Close()
    76  		if err != nil {
    77  			return nil, err
    78  		}
    79  		err = jsonx.Unmarshal(paging.Value, &value)
    80  		if err != nil {
    81  			return nil, err
    82  		}
    83  		values = append(values, value...)
    84  		if n >= 0 {
    85  			n--
    86  		}
    87  		if n == 0 || len(paging.NextLink) == 0 {
    88  			return values, nil
    89  		}
    90  		req, err = http.NewRequest("GET", paging.NextLink, nil)
    91  		if ctx != nil {
    92  			req = req.WithContext(ctx)
    93  		}
    94  		res, err = r.client.Do(req)
    95  		if err != nil {
    96  			return nil, err
    97  		}
    98  	}
    99  }
   100  
   101  // GetN performs GET request for ItemActivityOLD collection, max N pages
   102  func (r *ListActivitiesCollectionRequest) GetN(ctx context.Context, n int) ([]ItemActivityOLD, error) {
   103  	var query string
   104  	if r.query != nil {
   105  		query = "?" + r.query.Encode()
   106  	}
   107  	return r.Paging(ctx, "GET", query, nil, n)
   108  }
   109  
   110  // Get performs GET request for ItemActivityOLD collection
   111  func (r *ListActivitiesCollectionRequest) Get(ctx context.Context) ([]ItemActivityOLD, error) {
   112  	return r.GetN(ctx, 0)
   113  }
   114  
   115  // Add performs POST request for ItemActivityOLD collection
   116  func (r *ListActivitiesCollectionRequest) Add(ctx context.Context, reqObj *ItemActivityOLD) (resObj *ItemActivityOLD, err error) {
   117  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
   118  	return
   119  }
   120  
   121  // Columns returns request builder for ColumnDefinition collection
   122  func (b *ListRequestBuilder) Columns() *ListColumnsCollectionRequestBuilder {
   123  	bb := &ListColumnsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   124  	bb.baseURL += "/columns"
   125  	return bb
   126  }
   127  
   128  // ListColumnsCollectionRequestBuilder is request builder for ColumnDefinition collection
   129  type ListColumnsCollectionRequestBuilder struct{ BaseRequestBuilder }
   130  
   131  // Request returns request for ColumnDefinition collection
   132  func (b *ListColumnsCollectionRequestBuilder) Request() *ListColumnsCollectionRequest {
   133  	return &ListColumnsCollectionRequest{
   134  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
   135  	}
   136  }
   137  
   138  // ID returns request builder for ColumnDefinition item
   139  func (b *ListColumnsCollectionRequestBuilder) ID(id string) *ColumnDefinitionRequestBuilder {
   140  	bb := &ColumnDefinitionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   141  	bb.baseURL += "/" + id
   142  	return bb
   143  }
   144  
   145  // ListColumnsCollectionRequest is request for ColumnDefinition collection
   146  type ListColumnsCollectionRequest struct{ BaseRequest }
   147  
   148  // Paging perfoms paging operation for ColumnDefinition collection
   149  func (r *ListColumnsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]ColumnDefinition, error) {
   150  	req, err := r.NewJSONRequest(method, path, obj)
   151  	if err != nil {
   152  		return nil, err
   153  	}
   154  	if ctx != nil {
   155  		req = req.WithContext(ctx)
   156  	}
   157  	res, err := r.client.Do(req)
   158  	if err != nil {
   159  		return nil, err
   160  	}
   161  	var values []ColumnDefinition
   162  	for {
   163  		if res.StatusCode != http.StatusOK {
   164  			b, _ := ioutil.ReadAll(res.Body)
   165  			res.Body.Close()
   166  			errRes := &ErrorResponse{Response: res}
   167  			err := jsonx.Unmarshal(b, errRes)
   168  			if err != nil {
   169  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
   170  			}
   171  			return nil, errRes
   172  		}
   173  		var (
   174  			paging Paging
   175  			value  []ColumnDefinition
   176  		)
   177  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
   178  		res.Body.Close()
   179  		if err != nil {
   180  			return nil, err
   181  		}
   182  		err = jsonx.Unmarshal(paging.Value, &value)
   183  		if err != nil {
   184  			return nil, err
   185  		}
   186  		values = append(values, value...)
   187  		if n >= 0 {
   188  			n--
   189  		}
   190  		if n == 0 || len(paging.NextLink) == 0 {
   191  			return values, nil
   192  		}
   193  		req, err = http.NewRequest("GET", paging.NextLink, nil)
   194  		if ctx != nil {
   195  			req = req.WithContext(ctx)
   196  		}
   197  		res, err = r.client.Do(req)
   198  		if err != nil {
   199  			return nil, err
   200  		}
   201  	}
   202  }
   203  
   204  // GetN performs GET request for ColumnDefinition collection, max N pages
   205  func (r *ListColumnsCollectionRequest) GetN(ctx context.Context, n int) ([]ColumnDefinition, error) {
   206  	var query string
   207  	if r.query != nil {
   208  		query = "?" + r.query.Encode()
   209  	}
   210  	return r.Paging(ctx, "GET", query, nil, n)
   211  }
   212  
   213  // Get performs GET request for ColumnDefinition collection
   214  func (r *ListColumnsCollectionRequest) Get(ctx context.Context) ([]ColumnDefinition, error) {
   215  	return r.GetN(ctx, 0)
   216  }
   217  
   218  // Add performs POST request for ColumnDefinition collection
   219  func (r *ListColumnsCollectionRequest) Add(ctx context.Context, reqObj *ColumnDefinition) (resObj *ColumnDefinition, err error) {
   220  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
   221  	return
   222  }
   223  
   224  // ContentTypes returns request builder for ContentType collection
   225  func (b *ListRequestBuilder) ContentTypes() *ListContentTypesCollectionRequestBuilder {
   226  	bb := &ListContentTypesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   227  	bb.baseURL += "/contentTypes"
   228  	return bb
   229  }
   230  
   231  // ListContentTypesCollectionRequestBuilder is request builder for ContentType collection
   232  type ListContentTypesCollectionRequestBuilder struct{ BaseRequestBuilder }
   233  
   234  // Request returns request for ContentType collection
   235  func (b *ListContentTypesCollectionRequestBuilder) Request() *ListContentTypesCollectionRequest {
   236  	return &ListContentTypesCollectionRequest{
   237  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
   238  	}
   239  }
   240  
   241  // ID returns request builder for ContentType item
   242  func (b *ListContentTypesCollectionRequestBuilder) ID(id string) *ContentTypeRequestBuilder {
   243  	bb := &ContentTypeRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   244  	bb.baseURL += "/" + id
   245  	return bb
   246  }
   247  
   248  // ListContentTypesCollectionRequest is request for ContentType collection
   249  type ListContentTypesCollectionRequest struct{ BaseRequest }
   250  
   251  // Paging perfoms paging operation for ContentType collection
   252  func (r *ListContentTypesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]ContentType, error) {
   253  	req, err := r.NewJSONRequest(method, path, obj)
   254  	if err != nil {
   255  		return nil, err
   256  	}
   257  	if ctx != nil {
   258  		req = req.WithContext(ctx)
   259  	}
   260  	res, err := r.client.Do(req)
   261  	if err != nil {
   262  		return nil, err
   263  	}
   264  	var values []ContentType
   265  	for {
   266  		if res.StatusCode != http.StatusOK {
   267  			b, _ := ioutil.ReadAll(res.Body)
   268  			res.Body.Close()
   269  			errRes := &ErrorResponse{Response: res}
   270  			err := jsonx.Unmarshal(b, errRes)
   271  			if err != nil {
   272  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
   273  			}
   274  			return nil, errRes
   275  		}
   276  		var (
   277  			paging Paging
   278  			value  []ContentType
   279  		)
   280  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
   281  		res.Body.Close()
   282  		if err != nil {
   283  			return nil, err
   284  		}
   285  		err = jsonx.Unmarshal(paging.Value, &value)
   286  		if err != nil {
   287  			return nil, err
   288  		}
   289  		values = append(values, value...)
   290  		if n >= 0 {
   291  			n--
   292  		}
   293  		if n == 0 || len(paging.NextLink) == 0 {
   294  			return values, nil
   295  		}
   296  		req, err = http.NewRequest("GET", paging.NextLink, nil)
   297  		if ctx != nil {
   298  			req = req.WithContext(ctx)
   299  		}
   300  		res, err = r.client.Do(req)
   301  		if err != nil {
   302  			return nil, err
   303  		}
   304  	}
   305  }
   306  
   307  // GetN performs GET request for ContentType collection, max N pages
   308  func (r *ListContentTypesCollectionRequest) GetN(ctx context.Context, n int) ([]ContentType, error) {
   309  	var query string
   310  	if r.query != nil {
   311  		query = "?" + r.query.Encode()
   312  	}
   313  	return r.Paging(ctx, "GET", query, nil, n)
   314  }
   315  
   316  // Get performs GET request for ContentType collection
   317  func (r *ListContentTypesCollectionRequest) Get(ctx context.Context) ([]ContentType, error) {
   318  	return r.GetN(ctx, 0)
   319  }
   320  
   321  // Add performs POST request for ContentType collection
   322  func (r *ListContentTypesCollectionRequest) Add(ctx context.Context, reqObj *ContentType) (resObj *ContentType, err error) {
   323  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
   324  	return
   325  }
   326  
   327  // Drive is navigation property
   328  func (b *ListRequestBuilder) Drive() *DriveRequestBuilder {
   329  	bb := &DriveRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   330  	bb.baseURL += "/drive"
   331  	return bb
   332  }
   333  
   334  // Items returns request builder for ListItem collection
   335  func (b *ListRequestBuilder) Items() *ListItemsCollectionRequestBuilder {
   336  	bb := &ListItemsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   337  	bb.baseURL += "/items"
   338  	return bb
   339  }
   340  
   341  // ListItemsCollectionRequestBuilder is request builder for ListItem collection
   342  type ListItemsCollectionRequestBuilder struct{ BaseRequestBuilder }
   343  
   344  // Request returns request for ListItem collection
   345  func (b *ListItemsCollectionRequestBuilder) Request() *ListItemsCollectionRequest {
   346  	return &ListItemsCollectionRequest{
   347  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
   348  	}
   349  }
   350  
   351  // ID returns request builder for ListItem item
   352  func (b *ListItemsCollectionRequestBuilder) ID(id string) *ListItemRequestBuilder {
   353  	bb := &ListItemRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   354  	bb.baseURL += "/" + id
   355  	return bb
   356  }
   357  
   358  // ListItemsCollectionRequest is request for ListItem collection
   359  type ListItemsCollectionRequest struct{ BaseRequest }
   360  
   361  // Paging perfoms paging operation for ListItem collection
   362  func (r *ListItemsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]ListItem, error) {
   363  	req, err := r.NewJSONRequest(method, path, obj)
   364  	if err != nil {
   365  		return nil, err
   366  	}
   367  	if ctx != nil {
   368  		req = req.WithContext(ctx)
   369  	}
   370  	res, err := r.client.Do(req)
   371  	if err != nil {
   372  		return nil, err
   373  	}
   374  	var values []ListItem
   375  	for {
   376  		if res.StatusCode != http.StatusOK {
   377  			b, _ := ioutil.ReadAll(res.Body)
   378  			res.Body.Close()
   379  			errRes := &ErrorResponse{Response: res}
   380  			err := jsonx.Unmarshal(b, errRes)
   381  			if err != nil {
   382  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
   383  			}
   384  			return nil, errRes
   385  		}
   386  		var (
   387  			paging Paging
   388  			value  []ListItem
   389  		)
   390  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
   391  		res.Body.Close()
   392  		if err != nil {
   393  			return nil, err
   394  		}
   395  		err = jsonx.Unmarshal(paging.Value, &value)
   396  		if err != nil {
   397  			return nil, err
   398  		}
   399  		values = append(values, value...)
   400  		if n >= 0 {
   401  			n--
   402  		}
   403  		if n == 0 || len(paging.NextLink) == 0 {
   404  			return values, nil
   405  		}
   406  		req, err = http.NewRequest("GET", paging.NextLink, nil)
   407  		if ctx != nil {
   408  			req = req.WithContext(ctx)
   409  		}
   410  		res, err = r.client.Do(req)
   411  		if err != nil {
   412  			return nil, err
   413  		}
   414  	}
   415  }
   416  
   417  // GetN performs GET request for ListItem collection, max N pages
   418  func (r *ListItemsCollectionRequest) GetN(ctx context.Context, n int) ([]ListItem, error) {
   419  	var query string
   420  	if r.query != nil {
   421  		query = "?" + r.query.Encode()
   422  	}
   423  	return r.Paging(ctx, "GET", query, nil, n)
   424  }
   425  
   426  // Get performs GET request for ListItem collection
   427  func (r *ListItemsCollectionRequest) Get(ctx context.Context) ([]ListItem, error) {
   428  	return r.GetN(ctx, 0)
   429  }
   430  
   431  // Add performs POST request for ListItem collection
   432  func (r *ListItemsCollectionRequest) Add(ctx context.Context, reqObj *ListItem) (resObj *ListItem, err error) {
   433  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
   434  	return
   435  }
   436  
   437  // Subscriptions returns request builder for Subscription collection
   438  func (b *ListRequestBuilder) Subscriptions() *ListSubscriptionsCollectionRequestBuilder {
   439  	bb := &ListSubscriptionsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   440  	bb.baseURL += "/subscriptions"
   441  	return bb
   442  }
   443  
   444  // ListSubscriptionsCollectionRequestBuilder is request builder for Subscription collection
   445  type ListSubscriptionsCollectionRequestBuilder struct{ BaseRequestBuilder }
   446  
   447  // Request returns request for Subscription collection
   448  func (b *ListSubscriptionsCollectionRequestBuilder) Request() *ListSubscriptionsCollectionRequest {
   449  	return &ListSubscriptionsCollectionRequest{
   450  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
   451  	}
   452  }
   453  
   454  // ID returns request builder for Subscription item
   455  func (b *ListSubscriptionsCollectionRequestBuilder) ID(id string) *SubscriptionRequestBuilder {
   456  	bb := &SubscriptionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   457  	bb.baseURL += "/" + id
   458  	return bb
   459  }
   460  
   461  // ListSubscriptionsCollectionRequest is request for Subscription collection
   462  type ListSubscriptionsCollectionRequest struct{ BaseRequest }
   463  
   464  // Paging perfoms paging operation for Subscription collection
   465  func (r *ListSubscriptionsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]Subscription, error) {
   466  	req, err := r.NewJSONRequest(method, path, obj)
   467  	if err != nil {
   468  		return nil, err
   469  	}
   470  	if ctx != nil {
   471  		req = req.WithContext(ctx)
   472  	}
   473  	res, err := r.client.Do(req)
   474  	if err != nil {
   475  		return nil, err
   476  	}
   477  	var values []Subscription
   478  	for {
   479  		if res.StatusCode != http.StatusOK {
   480  			b, _ := ioutil.ReadAll(res.Body)
   481  			res.Body.Close()
   482  			errRes := &ErrorResponse{Response: res}
   483  			err := jsonx.Unmarshal(b, errRes)
   484  			if err != nil {
   485  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
   486  			}
   487  			return nil, errRes
   488  		}
   489  		var (
   490  			paging Paging
   491  			value  []Subscription
   492  		)
   493  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
   494  		res.Body.Close()
   495  		if err != nil {
   496  			return nil, err
   497  		}
   498  		err = jsonx.Unmarshal(paging.Value, &value)
   499  		if err != nil {
   500  			return nil, err
   501  		}
   502  		values = append(values, value...)
   503  		if n >= 0 {
   504  			n--
   505  		}
   506  		if n == 0 || len(paging.NextLink) == 0 {
   507  			return values, nil
   508  		}
   509  		req, err = http.NewRequest("GET", paging.NextLink, nil)
   510  		if ctx != nil {
   511  			req = req.WithContext(ctx)
   512  		}
   513  		res, err = r.client.Do(req)
   514  		if err != nil {
   515  			return nil, err
   516  		}
   517  	}
   518  }
   519  
   520  // GetN performs GET request for Subscription collection, max N pages
   521  func (r *ListSubscriptionsCollectionRequest) GetN(ctx context.Context, n int) ([]Subscription, error) {
   522  	var query string
   523  	if r.query != nil {
   524  		query = "?" + r.query.Encode()
   525  	}
   526  	return r.Paging(ctx, "GET", query, nil, n)
   527  }
   528  
   529  // Get performs GET request for Subscription collection
   530  func (r *ListSubscriptionsCollectionRequest) Get(ctx context.Context) ([]Subscription, error) {
   531  	return r.GetN(ctx, 0)
   532  }
   533  
   534  // Add performs POST request for Subscription collection
   535  func (r *ListSubscriptionsCollectionRequest) Add(ctx context.Context, reqObj *Subscription) (resObj *Subscription, err error) {
   536  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
   537  	return
   538  }
   539  
   540  // Activities returns request builder for ItemActivityOLD collection
   541  func (b *ListItemRequestBuilder) Activities() *ListItemActivitiesCollectionRequestBuilder {
   542  	bb := &ListItemActivitiesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   543  	bb.baseURL += "/activities"
   544  	return bb
   545  }
   546  
   547  // ListItemActivitiesCollectionRequestBuilder is request builder for ItemActivityOLD collection
   548  type ListItemActivitiesCollectionRequestBuilder struct{ BaseRequestBuilder }
   549  
   550  // Request returns request for ItemActivityOLD collection
   551  func (b *ListItemActivitiesCollectionRequestBuilder) Request() *ListItemActivitiesCollectionRequest {
   552  	return &ListItemActivitiesCollectionRequest{
   553  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
   554  	}
   555  }
   556  
   557  // ID returns request builder for ItemActivityOLD item
   558  func (b *ListItemActivitiesCollectionRequestBuilder) ID(id string) *ItemActivityOLDRequestBuilder {
   559  	bb := &ItemActivityOLDRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   560  	bb.baseURL += "/" + id
   561  	return bb
   562  }
   563  
   564  // ListItemActivitiesCollectionRequest is request for ItemActivityOLD collection
   565  type ListItemActivitiesCollectionRequest struct{ BaseRequest }
   566  
   567  // Paging perfoms paging operation for ItemActivityOLD collection
   568  func (r *ListItemActivitiesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]ItemActivityOLD, error) {
   569  	req, err := r.NewJSONRequest(method, path, obj)
   570  	if err != nil {
   571  		return nil, err
   572  	}
   573  	if ctx != nil {
   574  		req = req.WithContext(ctx)
   575  	}
   576  	res, err := r.client.Do(req)
   577  	if err != nil {
   578  		return nil, err
   579  	}
   580  	var values []ItemActivityOLD
   581  	for {
   582  		if res.StatusCode != http.StatusOK {
   583  			b, _ := ioutil.ReadAll(res.Body)
   584  			res.Body.Close()
   585  			errRes := &ErrorResponse{Response: res}
   586  			err := jsonx.Unmarshal(b, errRes)
   587  			if err != nil {
   588  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
   589  			}
   590  			return nil, errRes
   591  		}
   592  		var (
   593  			paging Paging
   594  			value  []ItemActivityOLD
   595  		)
   596  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
   597  		res.Body.Close()
   598  		if err != nil {
   599  			return nil, err
   600  		}
   601  		err = jsonx.Unmarshal(paging.Value, &value)
   602  		if err != nil {
   603  			return nil, err
   604  		}
   605  		values = append(values, value...)
   606  		if n >= 0 {
   607  			n--
   608  		}
   609  		if n == 0 || len(paging.NextLink) == 0 {
   610  			return values, nil
   611  		}
   612  		req, err = http.NewRequest("GET", paging.NextLink, nil)
   613  		if ctx != nil {
   614  			req = req.WithContext(ctx)
   615  		}
   616  		res, err = r.client.Do(req)
   617  		if err != nil {
   618  			return nil, err
   619  		}
   620  	}
   621  }
   622  
   623  // GetN performs GET request for ItemActivityOLD collection, max N pages
   624  func (r *ListItemActivitiesCollectionRequest) GetN(ctx context.Context, n int) ([]ItemActivityOLD, error) {
   625  	var query string
   626  	if r.query != nil {
   627  		query = "?" + r.query.Encode()
   628  	}
   629  	return r.Paging(ctx, "GET", query, nil, n)
   630  }
   631  
   632  // Get performs GET request for ItemActivityOLD collection
   633  func (r *ListItemActivitiesCollectionRequest) Get(ctx context.Context) ([]ItemActivityOLD, error) {
   634  	return r.GetN(ctx, 0)
   635  }
   636  
   637  // Add performs POST request for ItemActivityOLD collection
   638  func (r *ListItemActivitiesCollectionRequest) Add(ctx context.Context, reqObj *ItemActivityOLD) (resObj *ItemActivityOLD, err error) {
   639  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
   640  	return
   641  }
   642  
   643  // Analytics is navigation property
   644  func (b *ListItemRequestBuilder) Analytics() *ItemAnalyticsRequestBuilder {
   645  	bb := &ItemAnalyticsRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   646  	bb.baseURL += "/analytics"
   647  	return bb
   648  }
   649  
   650  // DriveItem is navigation property
   651  func (b *ListItemRequestBuilder) DriveItem() *DriveItemRequestBuilder {
   652  	bb := &DriveItemRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   653  	bb.baseURL += "/driveItem"
   654  	return bb
   655  }
   656  
   657  // Fields is navigation property
   658  func (b *ListItemRequestBuilder) Fields() *FieldValueSetRequestBuilder {
   659  	bb := &FieldValueSetRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   660  	bb.baseURL += "/fields"
   661  	return bb
   662  }
   663  
   664  // Versions returns request builder for ListItemVersion collection
   665  func (b *ListItemRequestBuilder) Versions() *ListItemVersionsCollectionRequestBuilder {
   666  	bb := &ListItemVersionsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   667  	bb.baseURL += "/versions"
   668  	return bb
   669  }
   670  
   671  // ListItemVersionsCollectionRequestBuilder is request builder for ListItemVersion collection
   672  type ListItemVersionsCollectionRequestBuilder struct{ BaseRequestBuilder }
   673  
   674  // Request returns request for ListItemVersion collection
   675  func (b *ListItemVersionsCollectionRequestBuilder) Request() *ListItemVersionsCollectionRequest {
   676  	return &ListItemVersionsCollectionRequest{
   677  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
   678  	}
   679  }
   680  
   681  // ID returns request builder for ListItemVersion item
   682  func (b *ListItemVersionsCollectionRequestBuilder) ID(id string) *ListItemVersionRequestBuilder {
   683  	bb := &ListItemVersionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   684  	bb.baseURL += "/" + id
   685  	return bb
   686  }
   687  
   688  // ListItemVersionsCollectionRequest is request for ListItemVersion collection
   689  type ListItemVersionsCollectionRequest struct{ BaseRequest }
   690  
   691  // Paging perfoms paging operation for ListItemVersion collection
   692  func (r *ListItemVersionsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]ListItemVersion, error) {
   693  	req, err := r.NewJSONRequest(method, path, obj)
   694  	if err != nil {
   695  		return nil, err
   696  	}
   697  	if ctx != nil {
   698  		req = req.WithContext(ctx)
   699  	}
   700  	res, err := r.client.Do(req)
   701  	if err != nil {
   702  		return nil, err
   703  	}
   704  	var values []ListItemVersion
   705  	for {
   706  		if res.StatusCode != http.StatusOK {
   707  			b, _ := ioutil.ReadAll(res.Body)
   708  			res.Body.Close()
   709  			errRes := &ErrorResponse{Response: res}
   710  			err := jsonx.Unmarshal(b, errRes)
   711  			if err != nil {
   712  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
   713  			}
   714  			return nil, errRes
   715  		}
   716  		var (
   717  			paging Paging
   718  			value  []ListItemVersion
   719  		)
   720  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
   721  		res.Body.Close()
   722  		if err != nil {
   723  			return nil, err
   724  		}
   725  		err = jsonx.Unmarshal(paging.Value, &value)
   726  		if err != nil {
   727  			return nil, err
   728  		}
   729  		values = append(values, value...)
   730  		if n >= 0 {
   731  			n--
   732  		}
   733  		if n == 0 || len(paging.NextLink) == 0 {
   734  			return values, nil
   735  		}
   736  		req, err = http.NewRequest("GET", paging.NextLink, nil)
   737  		if ctx != nil {
   738  			req = req.WithContext(ctx)
   739  		}
   740  		res, err = r.client.Do(req)
   741  		if err != nil {
   742  			return nil, err
   743  		}
   744  	}
   745  }
   746  
   747  // GetN performs GET request for ListItemVersion collection, max N pages
   748  func (r *ListItemVersionsCollectionRequest) GetN(ctx context.Context, n int) ([]ListItemVersion, error) {
   749  	var query string
   750  	if r.query != nil {
   751  		query = "?" + r.query.Encode()
   752  	}
   753  	return r.Paging(ctx, "GET", query, nil, n)
   754  }
   755  
   756  // Get performs GET request for ListItemVersion collection
   757  func (r *ListItemVersionsCollectionRequest) Get(ctx context.Context) ([]ListItemVersion, error) {
   758  	return r.GetN(ctx, 0)
   759  }
   760  
   761  // Add performs POST request for ListItemVersion collection
   762  func (r *ListItemVersionsCollectionRequest) Add(ctx context.Context, reqObj *ListItemVersion) (resObj *ListItemVersion, err error) {
   763  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
   764  	return
   765  }
   766  
   767  // Fields is navigation property
   768  func (b *ListItemVersionRequestBuilder) Fields() *FieldValueSetRequestBuilder {
   769  	bb := &FieldValueSetRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   770  	bb.baseURL += "/fields"
   771  	return bb
   772  }