github.com/yaegashi/msgraph.go@v0.1.4/beta/ActionProfile.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  // Account returns request builder for UserAccountInformation collection
    15  func (b *ProfileRequestBuilder) Account() *ProfileAccountCollectionRequestBuilder {
    16  	bb := &ProfileAccountCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
    17  	bb.baseURL += "/account"
    18  	return bb
    19  }
    20  
    21  // ProfileAccountCollectionRequestBuilder is request builder for UserAccountInformation collection
    22  type ProfileAccountCollectionRequestBuilder struct{ BaseRequestBuilder }
    23  
    24  // Request returns request for UserAccountInformation collection
    25  func (b *ProfileAccountCollectionRequestBuilder) Request() *ProfileAccountCollectionRequest {
    26  	return &ProfileAccountCollectionRequest{
    27  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
    28  	}
    29  }
    30  
    31  // ID returns request builder for UserAccountInformation item
    32  func (b *ProfileAccountCollectionRequestBuilder) ID(id string) *UserAccountInformationRequestBuilder {
    33  	bb := &UserAccountInformationRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
    34  	bb.baseURL += "/" + id
    35  	return bb
    36  }
    37  
    38  // ProfileAccountCollectionRequest is request for UserAccountInformation collection
    39  type ProfileAccountCollectionRequest struct{ BaseRequest }
    40  
    41  // Paging perfoms paging operation for UserAccountInformation collection
    42  func (r *ProfileAccountCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]UserAccountInformation, error) {
    43  	req, err := r.NewJSONRequest(method, path, obj)
    44  	if err != nil {
    45  		return nil, err
    46  	}
    47  	if ctx != nil {
    48  		req = req.WithContext(ctx)
    49  	}
    50  	res, err := r.client.Do(req)
    51  	if err != nil {
    52  		return nil, err
    53  	}
    54  	var values []UserAccountInformation
    55  	for {
    56  		if res.StatusCode != http.StatusOK {
    57  			b, _ := ioutil.ReadAll(res.Body)
    58  			res.Body.Close()
    59  			errRes := &ErrorResponse{Response: res}
    60  			err := jsonx.Unmarshal(b, errRes)
    61  			if err != nil {
    62  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
    63  			}
    64  			return nil, errRes
    65  		}
    66  		var (
    67  			paging Paging
    68  			value  []UserAccountInformation
    69  		)
    70  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
    71  		res.Body.Close()
    72  		if err != nil {
    73  			return nil, err
    74  		}
    75  		err = jsonx.Unmarshal(paging.Value, &value)
    76  		if err != nil {
    77  			return nil, err
    78  		}
    79  		values = append(values, value...)
    80  		if n >= 0 {
    81  			n--
    82  		}
    83  		if n == 0 || len(paging.NextLink) == 0 {
    84  			return values, nil
    85  		}
    86  		req, err = http.NewRequest("GET", paging.NextLink, nil)
    87  		if ctx != nil {
    88  			req = req.WithContext(ctx)
    89  		}
    90  		res, err = r.client.Do(req)
    91  		if err != nil {
    92  			return nil, err
    93  		}
    94  	}
    95  }
    96  
    97  // GetN performs GET request for UserAccountInformation collection, max N pages
    98  func (r *ProfileAccountCollectionRequest) GetN(ctx context.Context, n int) ([]UserAccountInformation, error) {
    99  	var query string
   100  	if r.query != nil {
   101  		query = "?" + r.query.Encode()
   102  	}
   103  	return r.Paging(ctx, "GET", query, nil, n)
   104  }
   105  
   106  // Get performs GET request for UserAccountInformation collection
   107  func (r *ProfileAccountCollectionRequest) Get(ctx context.Context) ([]UserAccountInformation, error) {
   108  	return r.GetN(ctx, 0)
   109  }
   110  
   111  // Add performs POST request for UserAccountInformation collection
   112  func (r *ProfileAccountCollectionRequest) Add(ctx context.Context, reqObj *UserAccountInformation) (resObj *UserAccountInformation, err error) {
   113  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
   114  	return
   115  }
   116  
   117  // Anniversaries returns request builder for PersonAnniversary collection
   118  func (b *ProfileRequestBuilder) Anniversaries() *ProfileAnniversariesCollectionRequestBuilder {
   119  	bb := &ProfileAnniversariesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   120  	bb.baseURL += "/anniversaries"
   121  	return bb
   122  }
   123  
   124  // ProfileAnniversariesCollectionRequestBuilder is request builder for PersonAnniversary collection
   125  type ProfileAnniversariesCollectionRequestBuilder struct{ BaseRequestBuilder }
   126  
   127  // Request returns request for PersonAnniversary collection
   128  func (b *ProfileAnniversariesCollectionRequestBuilder) Request() *ProfileAnniversariesCollectionRequest {
   129  	return &ProfileAnniversariesCollectionRequest{
   130  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
   131  	}
   132  }
   133  
   134  // ID returns request builder for PersonAnniversary item
   135  func (b *ProfileAnniversariesCollectionRequestBuilder) ID(id string) *PersonAnniversaryRequestBuilder {
   136  	bb := &PersonAnniversaryRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   137  	bb.baseURL += "/" + id
   138  	return bb
   139  }
   140  
   141  // ProfileAnniversariesCollectionRequest is request for PersonAnniversary collection
   142  type ProfileAnniversariesCollectionRequest struct{ BaseRequest }
   143  
   144  // Paging perfoms paging operation for PersonAnniversary collection
   145  func (r *ProfileAnniversariesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]PersonAnniversary, error) {
   146  	req, err := r.NewJSONRequest(method, path, obj)
   147  	if err != nil {
   148  		return nil, err
   149  	}
   150  	if ctx != nil {
   151  		req = req.WithContext(ctx)
   152  	}
   153  	res, err := r.client.Do(req)
   154  	if err != nil {
   155  		return nil, err
   156  	}
   157  	var values []PersonAnniversary
   158  	for {
   159  		if res.StatusCode != http.StatusOK {
   160  			b, _ := ioutil.ReadAll(res.Body)
   161  			res.Body.Close()
   162  			errRes := &ErrorResponse{Response: res}
   163  			err := jsonx.Unmarshal(b, errRes)
   164  			if err != nil {
   165  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
   166  			}
   167  			return nil, errRes
   168  		}
   169  		var (
   170  			paging Paging
   171  			value  []PersonAnniversary
   172  		)
   173  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
   174  		res.Body.Close()
   175  		if err != nil {
   176  			return nil, err
   177  		}
   178  		err = jsonx.Unmarshal(paging.Value, &value)
   179  		if err != nil {
   180  			return nil, err
   181  		}
   182  		values = append(values, value...)
   183  		if n >= 0 {
   184  			n--
   185  		}
   186  		if n == 0 || len(paging.NextLink) == 0 {
   187  			return values, nil
   188  		}
   189  		req, err = http.NewRequest("GET", paging.NextLink, nil)
   190  		if ctx != nil {
   191  			req = req.WithContext(ctx)
   192  		}
   193  		res, err = r.client.Do(req)
   194  		if err != nil {
   195  			return nil, err
   196  		}
   197  	}
   198  }
   199  
   200  // GetN performs GET request for PersonAnniversary collection, max N pages
   201  func (r *ProfileAnniversariesCollectionRequest) GetN(ctx context.Context, n int) ([]PersonAnniversary, error) {
   202  	var query string
   203  	if r.query != nil {
   204  		query = "?" + r.query.Encode()
   205  	}
   206  	return r.Paging(ctx, "GET", query, nil, n)
   207  }
   208  
   209  // Get performs GET request for PersonAnniversary collection
   210  func (r *ProfileAnniversariesCollectionRequest) Get(ctx context.Context) ([]PersonAnniversary, error) {
   211  	return r.GetN(ctx, 0)
   212  }
   213  
   214  // Add performs POST request for PersonAnniversary collection
   215  func (r *ProfileAnniversariesCollectionRequest) Add(ctx context.Context, reqObj *PersonAnniversary) (resObj *PersonAnniversary, err error) {
   216  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
   217  	return
   218  }
   219  
   220  // EducationalActivities returns request builder for EducationalActivity collection
   221  func (b *ProfileRequestBuilder) EducationalActivities() *ProfileEducationalActivitiesCollectionRequestBuilder {
   222  	bb := &ProfileEducationalActivitiesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   223  	bb.baseURL += "/educationalActivities"
   224  	return bb
   225  }
   226  
   227  // ProfileEducationalActivitiesCollectionRequestBuilder is request builder for EducationalActivity collection
   228  type ProfileEducationalActivitiesCollectionRequestBuilder struct{ BaseRequestBuilder }
   229  
   230  // Request returns request for EducationalActivity collection
   231  func (b *ProfileEducationalActivitiesCollectionRequestBuilder) Request() *ProfileEducationalActivitiesCollectionRequest {
   232  	return &ProfileEducationalActivitiesCollectionRequest{
   233  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
   234  	}
   235  }
   236  
   237  // ID returns request builder for EducationalActivity item
   238  func (b *ProfileEducationalActivitiesCollectionRequestBuilder) ID(id string) *EducationalActivityRequestBuilder {
   239  	bb := &EducationalActivityRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   240  	bb.baseURL += "/" + id
   241  	return bb
   242  }
   243  
   244  // ProfileEducationalActivitiesCollectionRequest is request for EducationalActivity collection
   245  type ProfileEducationalActivitiesCollectionRequest struct{ BaseRequest }
   246  
   247  // Paging perfoms paging operation for EducationalActivity collection
   248  func (r *ProfileEducationalActivitiesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]EducationalActivity, error) {
   249  	req, err := r.NewJSONRequest(method, path, obj)
   250  	if err != nil {
   251  		return nil, err
   252  	}
   253  	if ctx != nil {
   254  		req = req.WithContext(ctx)
   255  	}
   256  	res, err := r.client.Do(req)
   257  	if err != nil {
   258  		return nil, err
   259  	}
   260  	var values []EducationalActivity
   261  	for {
   262  		if res.StatusCode != http.StatusOK {
   263  			b, _ := ioutil.ReadAll(res.Body)
   264  			res.Body.Close()
   265  			errRes := &ErrorResponse{Response: res}
   266  			err := jsonx.Unmarshal(b, errRes)
   267  			if err != nil {
   268  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
   269  			}
   270  			return nil, errRes
   271  		}
   272  		var (
   273  			paging Paging
   274  			value  []EducationalActivity
   275  		)
   276  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
   277  		res.Body.Close()
   278  		if err != nil {
   279  			return nil, err
   280  		}
   281  		err = jsonx.Unmarshal(paging.Value, &value)
   282  		if err != nil {
   283  			return nil, err
   284  		}
   285  		values = append(values, value...)
   286  		if n >= 0 {
   287  			n--
   288  		}
   289  		if n == 0 || len(paging.NextLink) == 0 {
   290  			return values, nil
   291  		}
   292  		req, err = http.NewRequest("GET", paging.NextLink, nil)
   293  		if ctx != nil {
   294  			req = req.WithContext(ctx)
   295  		}
   296  		res, err = r.client.Do(req)
   297  		if err != nil {
   298  			return nil, err
   299  		}
   300  	}
   301  }
   302  
   303  // GetN performs GET request for EducationalActivity collection, max N pages
   304  func (r *ProfileEducationalActivitiesCollectionRequest) GetN(ctx context.Context, n int) ([]EducationalActivity, error) {
   305  	var query string
   306  	if r.query != nil {
   307  		query = "?" + r.query.Encode()
   308  	}
   309  	return r.Paging(ctx, "GET", query, nil, n)
   310  }
   311  
   312  // Get performs GET request for EducationalActivity collection
   313  func (r *ProfileEducationalActivitiesCollectionRequest) Get(ctx context.Context) ([]EducationalActivity, error) {
   314  	return r.GetN(ctx, 0)
   315  }
   316  
   317  // Add performs POST request for EducationalActivity collection
   318  func (r *ProfileEducationalActivitiesCollectionRequest) Add(ctx context.Context, reqObj *EducationalActivity) (resObj *EducationalActivity, err error) {
   319  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
   320  	return
   321  }
   322  
   323  // Emails returns request builder for ItemEmail collection
   324  func (b *ProfileRequestBuilder) Emails() *ProfileEmailsCollectionRequestBuilder {
   325  	bb := &ProfileEmailsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   326  	bb.baseURL += "/emails"
   327  	return bb
   328  }
   329  
   330  // ProfileEmailsCollectionRequestBuilder is request builder for ItemEmail collection
   331  type ProfileEmailsCollectionRequestBuilder struct{ BaseRequestBuilder }
   332  
   333  // Request returns request for ItemEmail collection
   334  func (b *ProfileEmailsCollectionRequestBuilder) Request() *ProfileEmailsCollectionRequest {
   335  	return &ProfileEmailsCollectionRequest{
   336  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
   337  	}
   338  }
   339  
   340  // ID returns request builder for ItemEmail item
   341  func (b *ProfileEmailsCollectionRequestBuilder) ID(id string) *ItemEmailRequestBuilder {
   342  	bb := &ItemEmailRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   343  	bb.baseURL += "/" + id
   344  	return bb
   345  }
   346  
   347  // ProfileEmailsCollectionRequest is request for ItemEmail collection
   348  type ProfileEmailsCollectionRequest struct{ BaseRequest }
   349  
   350  // Paging perfoms paging operation for ItemEmail collection
   351  func (r *ProfileEmailsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]ItemEmail, error) {
   352  	req, err := r.NewJSONRequest(method, path, obj)
   353  	if err != nil {
   354  		return nil, err
   355  	}
   356  	if ctx != nil {
   357  		req = req.WithContext(ctx)
   358  	}
   359  	res, err := r.client.Do(req)
   360  	if err != nil {
   361  		return nil, err
   362  	}
   363  	var values []ItemEmail
   364  	for {
   365  		if res.StatusCode != http.StatusOK {
   366  			b, _ := ioutil.ReadAll(res.Body)
   367  			res.Body.Close()
   368  			errRes := &ErrorResponse{Response: res}
   369  			err := jsonx.Unmarshal(b, errRes)
   370  			if err != nil {
   371  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
   372  			}
   373  			return nil, errRes
   374  		}
   375  		var (
   376  			paging Paging
   377  			value  []ItemEmail
   378  		)
   379  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
   380  		res.Body.Close()
   381  		if err != nil {
   382  			return nil, err
   383  		}
   384  		err = jsonx.Unmarshal(paging.Value, &value)
   385  		if err != nil {
   386  			return nil, err
   387  		}
   388  		values = append(values, value...)
   389  		if n >= 0 {
   390  			n--
   391  		}
   392  		if n == 0 || len(paging.NextLink) == 0 {
   393  			return values, nil
   394  		}
   395  		req, err = http.NewRequest("GET", paging.NextLink, nil)
   396  		if ctx != nil {
   397  			req = req.WithContext(ctx)
   398  		}
   399  		res, err = r.client.Do(req)
   400  		if err != nil {
   401  			return nil, err
   402  		}
   403  	}
   404  }
   405  
   406  // GetN performs GET request for ItemEmail collection, max N pages
   407  func (r *ProfileEmailsCollectionRequest) GetN(ctx context.Context, n int) ([]ItemEmail, error) {
   408  	var query string
   409  	if r.query != nil {
   410  		query = "?" + r.query.Encode()
   411  	}
   412  	return r.Paging(ctx, "GET", query, nil, n)
   413  }
   414  
   415  // Get performs GET request for ItemEmail collection
   416  func (r *ProfileEmailsCollectionRequest) Get(ctx context.Context) ([]ItemEmail, error) {
   417  	return r.GetN(ctx, 0)
   418  }
   419  
   420  // Add performs POST request for ItemEmail collection
   421  func (r *ProfileEmailsCollectionRequest) Add(ctx context.Context, reqObj *ItemEmail) (resObj *ItemEmail, err error) {
   422  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
   423  	return
   424  }
   425  
   426  // Interests returns request builder for PersonInterest collection
   427  func (b *ProfileRequestBuilder) Interests() *ProfileInterestsCollectionRequestBuilder {
   428  	bb := &ProfileInterestsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   429  	bb.baseURL += "/interests"
   430  	return bb
   431  }
   432  
   433  // ProfileInterestsCollectionRequestBuilder is request builder for PersonInterest collection
   434  type ProfileInterestsCollectionRequestBuilder struct{ BaseRequestBuilder }
   435  
   436  // Request returns request for PersonInterest collection
   437  func (b *ProfileInterestsCollectionRequestBuilder) Request() *ProfileInterestsCollectionRequest {
   438  	return &ProfileInterestsCollectionRequest{
   439  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
   440  	}
   441  }
   442  
   443  // ID returns request builder for PersonInterest item
   444  func (b *ProfileInterestsCollectionRequestBuilder) ID(id string) *PersonInterestRequestBuilder {
   445  	bb := &PersonInterestRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   446  	bb.baseURL += "/" + id
   447  	return bb
   448  }
   449  
   450  // ProfileInterestsCollectionRequest is request for PersonInterest collection
   451  type ProfileInterestsCollectionRequest struct{ BaseRequest }
   452  
   453  // Paging perfoms paging operation for PersonInterest collection
   454  func (r *ProfileInterestsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]PersonInterest, error) {
   455  	req, err := r.NewJSONRequest(method, path, obj)
   456  	if err != nil {
   457  		return nil, err
   458  	}
   459  	if ctx != nil {
   460  		req = req.WithContext(ctx)
   461  	}
   462  	res, err := r.client.Do(req)
   463  	if err != nil {
   464  		return nil, err
   465  	}
   466  	var values []PersonInterest
   467  	for {
   468  		if res.StatusCode != http.StatusOK {
   469  			b, _ := ioutil.ReadAll(res.Body)
   470  			res.Body.Close()
   471  			errRes := &ErrorResponse{Response: res}
   472  			err := jsonx.Unmarshal(b, errRes)
   473  			if err != nil {
   474  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
   475  			}
   476  			return nil, errRes
   477  		}
   478  		var (
   479  			paging Paging
   480  			value  []PersonInterest
   481  		)
   482  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
   483  		res.Body.Close()
   484  		if err != nil {
   485  			return nil, err
   486  		}
   487  		err = jsonx.Unmarshal(paging.Value, &value)
   488  		if err != nil {
   489  			return nil, err
   490  		}
   491  		values = append(values, value...)
   492  		if n >= 0 {
   493  			n--
   494  		}
   495  		if n == 0 || len(paging.NextLink) == 0 {
   496  			return values, nil
   497  		}
   498  		req, err = http.NewRequest("GET", paging.NextLink, nil)
   499  		if ctx != nil {
   500  			req = req.WithContext(ctx)
   501  		}
   502  		res, err = r.client.Do(req)
   503  		if err != nil {
   504  			return nil, err
   505  		}
   506  	}
   507  }
   508  
   509  // GetN performs GET request for PersonInterest collection, max N pages
   510  func (r *ProfileInterestsCollectionRequest) GetN(ctx context.Context, n int) ([]PersonInterest, error) {
   511  	var query string
   512  	if r.query != nil {
   513  		query = "?" + r.query.Encode()
   514  	}
   515  	return r.Paging(ctx, "GET", query, nil, n)
   516  }
   517  
   518  // Get performs GET request for PersonInterest collection
   519  func (r *ProfileInterestsCollectionRequest) Get(ctx context.Context) ([]PersonInterest, error) {
   520  	return r.GetN(ctx, 0)
   521  }
   522  
   523  // Add performs POST request for PersonInterest collection
   524  func (r *ProfileInterestsCollectionRequest) Add(ctx context.Context, reqObj *PersonInterest) (resObj *PersonInterest, err error) {
   525  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
   526  	return
   527  }
   528  
   529  // Languages returns request builder for LanguageProficiency collection
   530  func (b *ProfileRequestBuilder) Languages() *ProfileLanguagesCollectionRequestBuilder {
   531  	bb := &ProfileLanguagesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   532  	bb.baseURL += "/languages"
   533  	return bb
   534  }
   535  
   536  // ProfileLanguagesCollectionRequestBuilder is request builder for LanguageProficiency collection
   537  type ProfileLanguagesCollectionRequestBuilder struct{ BaseRequestBuilder }
   538  
   539  // Request returns request for LanguageProficiency collection
   540  func (b *ProfileLanguagesCollectionRequestBuilder) Request() *ProfileLanguagesCollectionRequest {
   541  	return &ProfileLanguagesCollectionRequest{
   542  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
   543  	}
   544  }
   545  
   546  // ID returns request builder for LanguageProficiency item
   547  func (b *ProfileLanguagesCollectionRequestBuilder) ID(id string) *LanguageProficiencyRequestBuilder {
   548  	bb := &LanguageProficiencyRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   549  	bb.baseURL += "/" + id
   550  	return bb
   551  }
   552  
   553  // ProfileLanguagesCollectionRequest is request for LanguageProficiency collection
   554  type ProfileLanguagesCollectionRequest struct{ BaseRequest }
   555  
   556  // Paging perfoms paging operation for LanguageProficiency collection
   557  func (r *ProfileLanguagesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]LanguageProficiency, error) {
   558  	req, err := r.NewJSONRequest(method, path, obj)
   559  	if err != nil {
   560  		return nil, err
   561  	}
   562  	if ctx != nil {
   563  		req = req.WithContext(ctx)
   564  	}
   565  	res, err := r.client.Do(req)
   566  	if err != nil {
   567  		return nil, err
   568  	}
   569  	var values []LanguageProficiency
   570  	for {
   571  		if res.StatusCode != http.StatusOK {
   572  			b, _ := ioutil.ReadAll(res.Body)
   573  			res.Body.Close()
   574  			errRes := &ErrorResponse{Response: res}
   575  			err := jsonx.Unmarshal(b, errRes)
   576  			if err != nil {
   577  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
   578  			}
   579  			return nil, errRes
   580  		}
   581  		var (
   582  			paging Paging
   583  			value  []LanguageProficiency
   584  		)
   585  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
   586  		res.Body.Close()
   587  		if err != nil {
   588  			return nil, err
   589  		}
   590  		err = jsonx.Unmarshal(paging.Value, &value)
   591  		if err != nil {
   592  			return nil, err
   593  		}
   594  		values = append(values, value...)
   595  		if n >= 0 {
   596  			n--
   597  		}
   598  		if n == 0 || len(paging.NextLink) == 0 {
   599  			return values, nil
   600  		}
   601  		req, err = http.NewRequest("GET", paging.NextLink, nil)
   602  		if ctx != nil {
   603  			req = req.WithContext(ctx)
   604  		}
   605  		res, err = r.client.Do(req)
   606  		if err != nil {
   607  			return nil, err
   608  		}
   609  	}
   610  }
   611  
   612  // GetN performs GET request for LanguageProficiency collection, max N pages
   613  func (r *ProfileLanguagesCollectionRequest) GetN(ctx context.Context, n int) ([]LanguageProficiency, error) {
   614  	var query string
   615  	if r.query != nil {
   616  		query = "?" + r.query.Encode()
   617  	}
   618  	return r.Paging(ctx, "GET", query, nil, n)
   619  }
   620  
   621  // Get performs GET request for LanguageProficiency collection
   622  func (r *ProfileLanguagesCollectionRequest) Get(ctx context.Context) ([]LanguageProficiency, error) {
   623  	return r.GetN(ctx, 0)
   624  }
   625  
   626  // Add performs POST request for LanguageProficiency collection
   627  func (r *ProfileLanguagesCollectionRequest) Add(ctx context.Context, reqObj *LanguageProficiency) (resObj *LanguageProficiency, err error) {
   628  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
   629  	return
   630  }
   631  
   632  // Names returns request builder for PersonName collection
   633  func (b *ProfileRequestBuilder) Names() *ProfileNamesCollectionRequestBuilder {
   634  	bb := &ProfileNamesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   635  	bb.baseURL += "/names"
   636  	return bb
   637  }
   638  
   639  // ProfileNamesCollectionRequestBuilder is request builder for PersonName collection
   640  type ProfileNamesCollectionRequestBuilder struct{ BaseRequestBuilder }
   641  
   642  // Request returns request for PersonName collection
   643  func (b *ProfileNamesCollectionRequestBuilder) Request() *ProfileNamesCollectionRequest {
   644  	return &ProfileNamesCollectionRequest{
   645  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
   646  	}
   647  }
   648  
   649  // ID returns request builder for PersonName item
   650  func (b *ProfileNamesCollectionRequestBuilder) ID(id string) *PersonNameRequestBuilder {
   651  	bb := &PersonNameRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   652  	bb.baseURL += "/" + id
   653  	return bb
   654  }
   655  
   656  // ProfileNamesCollectionRequest is request for PersonName collection
   657  type ProfileNamesCollectionRequest struct{ BaseRequest }
   658  
   659  // Paging perfoms paging operation for PersonName collection
   660  func (r *ProfileNamesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]PersonName, error) {
   661  	req, err := r.NewJSONRequest(method, path, obj)
   662  	if err != nil {
   663  		return nil, err
   664  	}
   665  	if ctx != nil {
   666  		req = req.WithContext(ctx)
   667  	}
   668  	res, err := r.client.Do(req)
   669  	if err != nil {
   670  		return nil, err
   671  	}
   672  	var values []PersonName
   673  	for {
   674  		if res.StatusCode != http.StatusOK {
   675  			b, _ := ioutil.ReadAll(res.Body)
   676  			res.Body.Close()
   677  			errRes := &ErrorResponse{Response: res}
   678  			err := jsonx.Unmarshal(b, errRes)
   679  			if err != nil {
   680  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
   681  			}
   682  			return nil, errRes
   683  		}
   684  		var (
   685  			paging Paging
   686  			value  []PersonName
   687  		)
   688  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
   689  		res.Body.Close()
   690  		if err != nil {
   691  			return nil, err
   692  		}
   693  		err = jsonx.Unmarshal(paging.Value, &value)
   694  		if err != nil {
   695  			return nil, err
   696  		}
   697  		values = append(values, value...)
   698  		if n >= 0 {
   699  			n--
   700  		}
   701  		if n == 0 || len(paging.NextLink) == 0 {
   702  			return values, nil
   703  		}
   704  		req, err = http.NewRequest("GET", paging.NextLink, nil)
   705  		if ctx != nil {
   706  			req = req.WithContext(ctx)
   707  		}
   708  		res, err = r.client.Do(req)
   709  		if err != nil {
   710  			return nil, err
   711  		}
   712  	}
   713  }
   714  
   715  // GetN performs GET request for PersonName collection, max N pages
   716  func (r *ProfileNamesCollectionRequest) GetN(ctx context.Context, n int) ([]PersonName, error) {
   717  	var query string
   718  	if r.query != nil {
   719  		query = "?" + r.query.Encode()
   720  	}
   721  	return r.Paging(ctx, "GET", query, nil, n)
   722  }
   723  
   724  // Get performs GET request for PersonName collection
   725  func (r *ProfileNamesCollectionRequest) Get(ctx context.Context) ([]PersonName, error) {
   726  	return r.GetN(ctx, 0)
   727  }
   728  
   729  // Add performs POST request for PersonName collection
   730  func (r *ProfileNamesCollectionRequest) Add(ctx context.Context, reqObj *PersonName) (resObj *PersonName, err error) {
   731  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
   732  	return
   733  }
   734  
   735  // Phones returns request builder for ItemPhone collection
   736  func (b *ProfileRequestBuilder) Phones() *ProfilePhonesCollectionRequestBuilder {
   737  	bb := &ProfilePhonesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   738  	bb.baseURL += "/phones"
   739  	return bb
   740  }
   741  
   742  // ProfilePhonesCollectionRequestBuilder is request builder for ItemPhone collection
   743  type ProfilePhonesCollectionRequestBuilder struct{ BaseRequestBuilder }
   744  
   745  // Request returns request for ItemPhone collection
   746  func (b *ProfilePhonesCollectionRequestBuilder) Request() *ProfilePhonesCollectionRequest {
   747  	return &ProfilePhonesCollectionRequest{
   748  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
   749  	}
   750  }
   751  
   752  // ID returns request builder for ItemPhone item
   753  func (b *ProfilePhonesCollectionRequestBuilder) ID(id string) *ItemPhoneRequestBuilder {
   754  	bb := &ItemPhoneRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   755  	bb.baseURL += "/" + id
   756  	return bb
   757  }
   758  
   759  // ProfilePhonesCollectionRequest is request for ItemPhone collection
   760  type ProfilePhonesCollectionRequest struct{ BaseRequest }
   761  
   762  // Paging perfoms paging operation for ItemPhone collection
   763  func (r *ProfilePhonesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]ItemPhone, error) {
   764  	req, err := r.NewJSONRequest(method, path, obj)
   765  	if err != nil {
   766  		return nil, err
   767  	}
   768  	if ctx != nil {
   769  		req = req.WithContext(ctx)
   770  	}
   771  	res, err := r.client.Do(req)
   772  	if err != nil {
   773  		return nil, err
   774  	}
   775  	var values []ItemPhone
   776  	for {
   777  		if res.StatusCode != http.StatusOK {
   778  			b, _ := ioutil.ReadAll(res.Body)
   779  			res.Body.Close()
   780  			errRes := &ErrorResponse{Response: res}
   781  			err := jsonx.Unmarshal(b, errRes)
   782  			if err != nil {
   783  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
   784  			}
   785  			return nil, errRes
   786  		}
   787  		var (
   788  			paging Paging
   789  			value  []ItemPhone
   790  		)
   791  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
   792  		res.Body.Close()
   793  		if err != nil {
   794  			return nil, err
   795  		}
   796  		err = jsonx.Unmarshal(paging.Value, &value)
   797  		if err != nil {
   798  			return nil, err
   799  		}
   800  		values = append(values, value...)
   801  		if n >= 0 {
   802  			n--
   803  		}
   804  		if n == 0 || len(paging.NextLink) == 0 {
   805  			return values, nil
   806  		}
   807  		req, err = http.NewRequest("GET", paging.NextLink, nil)
   808  		if ctx != nil {
   809  			req = req.WithContext(ctx)
   810  		}
   811  		res, err = r.client.Do(req)
   812  		if err != nil {
   813  			return nil, err
   814  		}
   815  	}
   816  }
   817  
   818  // GetN performs GET request for ItemPhone collection, max N pages
   819  func (r *ProfilePhonesCollectionRequest) GetN(ctx context.Context, n int) ([]ItemPhone, error) {
   820  	var query string
   821  	if r.query != nil {
   822  		query = "?" + r.query.Encode()
   823  	}
   824  	return r.Paging(ctx, "GET", query, nil, n)
   825  }
   826  
   827  // Get performs GET request for ItemPhone collection
   828  func (r *ProfilePhonesCollectionRequest) Get(ctx context.Context) ([]ItemPhone, error) {
   829  	return r.GetN(ctx, 0)
   830  }
   831  
   832  // Add performs POST request for ItemPhone collection
   833  func (r *ProfilePhonesCollectionRequest) Add(ctx context.Context, reqObj *ItemPhone) (resObj *ItemPhone, err error) {
   834  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
   835  	return
   836  }
   837  
   838  // Positions returns request builder for WorkPosition collection
   839  func (b *ProfileRequestBuilder) Positions() *ProfilePositionsCollectionRequestBuilder {
   840  	bb := &ProfilePositionsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   841  	bb.baseURL += "/positions"
   842  	return bb
   843  }
   844  
   845  // ProfilePositionsCollectionRequestBuilder is request builder for WorkPosition collection
   846  type ProfilePositionsCollectionRequestBuilder struct{ BaseRequestBuilder }
   847  
   848  // Request returns request for WorkPosition collection
   849  func (b *ProfilePositionsCollectionRequestBuilder) Request() *ProfilePositionsCollectionRequest {
   850  	return &ProfilePositionsCollectionRequest{
   851  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
   852  	}
   853  }
   854  
   855  // ID returns request builder for WorkPosition item
   856  func (b *ProfilePositionsCollectionRequestBuilder) ID(id string) *WorkPositionRequestBuilder {
   857  	bb := &WorkPositionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   858  	bb.baseURL += "/" + id
   859  	return bb
   860  }
   861  
   862  // ProfilePositionsCollectionRequest is request for WorkPosition collection
   863  type ProfilePositionsCollectionRequest struct{ BaseRequest }
   864  
   865  // Paging perfoms paging operation for WorkPosition collection
   866  func (r *ProfilePositionsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]WorkPosition, error) {
   867  	req, err := r.NewJSONRequest(method, path, obj)
   868  	if err != nil {
   869  		return nil, err
   870  	}
   871  	if ctx != nil {
   872  		req = req.WithContext(ctx)
   873  	}
   874  	res, err := r.client.Do(req)
   875  	if err != nil {
   876  		return nil, err
   877  	}
   878  	var values []WorkPosition
   879  	for {
   880  		if res.StatusCode != http.StatusOK {
   881  			b, _ := ioutil.ReadAll(res.Body)
   882  			res.Body.Close()
   883  			errRes := &ErrorResponse{Response: res}
   884  			err := jsonx.Unmarshal(b, errRes)
   885  			if err != nil {
   886  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
   887  			}
   888  			return nil, errRes
   889  		}
   890  		var (
   891  			paging Paging
   892  			value  []WorkPosition
   893  		)
   894  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
   895  		res.Body.Close()
   896  		if err != nil {
   897  			return nil, err
   898  		}
   899  		err = jsonx.Unmarshal(paging.Value, &value)
   900  		if err != nil {
   901  			return nil, err
   902  		}
   903  		values = append(values, value...)
   904  		if n >= 0 {
   905  			n--
   906  		}
   907  		if n == 0 || len(paging.NextLink) == 0 {
   908  			return values, nil
   909  		}
   910  		req, err = http.NewRequest("GET", paging.NextLink, nil)
   911  		if ctx != nil {
   912  			req = req.WithContext(ctx)
   913  		}
   914  		res, err = r.client.Do(req)
   915  		if err != nil {
   916  			return nil, err
   917  		}
   918  	}
   919  }
   920  
   921  // GetN performs GET request for WorkPosition collection, max N pages
   922  func (r *ProfilePositionsCollectionRequest) GetN(ctx context.Context, n int) ([]WorkPosition, error) {
   923  	var query string
   924  	if r.query != nil {
   925  		query = "?" + r.query.Encode()
   926  	}
   927  	return r.Paging(ctx, "GET", query, nil, n)
   928  }
   929  
   930  // Get performs GET request for WorkPosition collection
   931  func (r *ProfilePositionsCollectionRequest) Get(ctx context.Context) ([]WorkPosition, error) {
   932  	return r.GetN(ctx, 0)
   933  }
   934  
   935  // Add performs POST request for WorkPosition collection
   936  func (r *ProfilePositionsCollectionRequest) Add(ctx context.Context, reqObj *WorkPosition) (resObj *WorkPosition, err error) {
   937  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
   938  	return
   939  }
   940  
   941  // Projects returns request builder for ProjectParticipation collection
   942  func (b *ProfileRequestBuilder) Projects() *ProfileProjectsCollectionRequestBuilder {
   943  	bb := &ProfileProjectsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   944  	bb.baseURL += "/projects"
   945  	return bb
   946  }
   947  
   948  // ProfileProjectsCollectionRequestBuilder is request builder for ProjectParticipation collection
   949  type ProfileProjectsCollectionRequestBuilder struct{ BaseRequestBuilder }
   950  
   951  // Request returns request for ProjectParticipation collection
   952  func (b *ProfileProjectsCollectionRequestBuilder) Request() *ProfileProjectsCollectionRequest {
   953  	return &ProfileProjectsCollectionRequest{
   954  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
   955  	}
   956  }
   957  
   958  // ID returns request builder for ProjectParticipation item
   959  func (b *ProfileProjectsCollectionRequestBuilder) ID(id string) *ProjectParticipationRequestBuilder {
   960  	bb := &ProjectParticipationRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   961  	bb.baseURL += "/" + id
   962  	return bb
   963  }
   964  
   965  // ProfileProjectsCollectionRequest is request for ProjectParticipation collection
   966  type ProfileProjectsCollectionRequest struct{ BaseRequest }
   967  
   968  // Paging perfoms paging operation for ProjectParticipation collection
   969  func (r *ProfileProjectsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]ProjectParticipation, error) {
   970  	req, err := r.NewJSONRequest(method, path, obj)
   971  	if err != nil {
   972  		return nil, err
   973  	}
   974  	if ctx != nil {
   975  		req = req.WithContext(ctx)
   976  	}
   977  	res, err := r.client.Do(req)
   978  	if err != nil {
   979  		return nil, err
   980  	}
   981  	var values []ProjectParticipation
   982  	for {
   983  		if res.StatusCode != http.StatusOK {
   984  			b, _ := ioutil.ReadAll(res.Body)
   985  			res.Body.Close()
   986  			errRes := &ErrorResponse{Response: res}
   987  			err := jsonx.Unmarshal(b, errRes)
   988  			if err != nil {
   989  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
   990  			}
   991  			return nil, errRes
   992  		}
   993  		var (
   994  			paging Paging
   995  			value  []ProjectParticipation
   996  		)
   997  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
   998  		res.Body.Close()
   999  		if err != nil {
  1000  			return nil, err
  1001  		}
  1002  		err = jsonx.Unmarshal(paging.Value, &value)
  1003  		if err != nil {
  1004  			return nil, err
  1005  		}
  1006  		values = append(values, value...)
  1007  		if n >= 0 {
  1008  			n--
  1009  		}
  1010  		if n == 0 || len(paging.NextLink) == 0 {
  1011  			return values, nil
  1012  		}
  1013  		req, err = http.NewRequest("GET", paging.NextLink, nil)
  1014  		if ctx != nil {
  1015  			req = req.WithContext(ctx)
  1016  		}
  1017  		res, err = r.client.Do(req)
  1018  		if err != nil {
  1019  			return nil, err
  1020  		}
  1021  	}
  1022  }
  1023  
  1024  // GetN performs GET request for ProjectParticipation collection, max N pages
  1025  func (r *ProfileProjectsCollectionRequest) GetN(ctx context.Context, n int) ([]ProjectParticipation, error) {
  1026  	var query string
  1027  	if r.query != nil {
  1028  		query = "?" + r.query.Encode()
  1029  	}
  1030  	return r.Paging(ctx, "GET", query, nil, n)
  1031  }
  1032  
  1033  // Get performs GET request for ProjectParticipation collection
  1034  func (r *ProfileProjectsCollectionRequest) Get(ctx context.Context) ([]ProjectParticipation, error) {
  1035  	return r.GetN(ctx, 0)
  1036  }
  1037  
  1038  // Add performs POST request for ProjectParticipation collection
  1039  func (r *ProfileProjectsCollectionRequest) Add(ctx context.Context, reqObj *ProjectParticipation) (resObj *ProjectParticipation, err error) {
  1040  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
  1041  	return
  1042  }
  1043  
  1044  // Skills returns request builder for SkillProficiency collection
  1045  func (b *ProfileRequestBuilder) Skills() *ProfileSkillsCollectionRequestBuilder {
  1046  	bb := &ProfileSkillsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  1047  	bb.baseURL += "/skills"
  1048  	return bb
  1049  }
  1050  
  1051  // ProfileSkillsCollectionRequestBuilder is request builder for SkillProficiency collection
  1052  type ProfileSkillsCollectionRequestBuilder struct{ BaseRequestBuilder }
  1053  
  1054  // Request returns request for SkillProficiency collection
  1055  func (b *ProfileSkillsCollectionRequestBuilder) Request() *ProfileSkillsCollectionRequest {
  1056  	return &ProfileSkillsCollectionRequest{
  1057  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
  1058  	}
  1059  }
  1060  
  1061  // ID returns request builder for SkillProficiency item
  1062  func (b *ProfileSkillsCollectionRequestBuilder) ID(id string) *SkillProficiencyRequestBuilder {
  1063  	bb := &SkillProficiencyRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  1064  	bb.baseURL += "/" + id
  1065  	return bb
  1066  }
  1067  
  1068  // ProfileSkillsCollectionRequest is request for SkillProficiency collection
  1069  type ProfileSkillsCollectionRequest struct{ BaseRequest }
  1070  
  1071  // Paging perfoms paging operation for SkillProficiency collection
  1072  func (r *ProfileSkillsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]SkillProficiency, error) {
  1073  	req, err := r.NewJSONRequest(method, path, obj)
  1074  	if err != nil {
  1075  		return nil, err
  1076  	}
  1077  	if ctx != nil {
  1078  		req = req.WithContext(ctx)
  1079  	}
  1080  	res, err := r.client.Do(req)
  1081  	if err != nil {
  1082  		return nil, err
  1083  	}
  1084  	var values []SkillProficiency
  1085  	for {
  1086  		if res.StatusCode != http.StatusOK {
  1087  			b, _ := ioutil.ReadAll(res.Body)
  1088  			res.Body.Close()
  1089  			errRes := &ErrorResponse{Response: res}
  1090  			err := jsonx.Unmarshal(b, errRes)
  1091  			if err != nil {
  1092  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
  1093  			}
  1094  			return nil, errRes
  1095  		}
  1096  		var (
  1097  			paging Paging
  1098  			value  []SkillProficiency
  1099  		)
  1100  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
  1101  		res.Body.Close()
  1102  		if err != nil {
  1103  			return nil, err
  1104  		}
  1105  		err = jsonx.Unmarshal(paging.Value, &value)
  1106  		if err != nil {
  1107  			return nil, err
  1108  		}
  1109  		values = append(values, value...)
  1110  		if n >= 0 {
  1111  			n--
  1112  		}
  1113  		if n == 0 || len(paging.NextLink) == 0 {
  1114  			return values, nil
  1115  		}
  1116  		req, err = http.NewRequest("GET", paging.NextLink, nil)
  1117  		if ctx != nil {
  1118  			req = req.WithContext(ctx)
  1119  		}
  1120  		res, err = r.client.Do(req)
  1121  		if err != nil {
  1122  			return nil, err
  1123  		}
  1124  	}
  1125  }
  1126  
  1127  // GetN performs GET request for SkillProficiency collection, max N pages
  1128  func (r *ProfileSkillsCollectionRequest) GetN(ctx context.Context, n int) ([]SkillProficiency, error) {
  1129  	var query string
  1130  	if r.query != nil {
  1131  		query = "?" + r.query.Encode()
  1132  	}
  1133  	return r.Paging(ctx, "GET", query, nil, n)
  1134  }
  1135  
  1136  // Get performs GET request for SkillProficiency collection
  1137  func (r *ProfileSkillsCollectionRequest) Get(ctx context.Context) ([]SkillProficiency, error) {
  1138  	return r.GetN(ctx, 0)
  1139  }
  1140  
  1141  // Add performs POST request for SkillProficiency collection
  1142  func (r *ProfileSkillsCollectionRequest) Add(ctx context.Context, reqObj *SkillProficiency) (resObj *SkillProficiency, err error) {
  1143  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
  1144  	return
  1145  }
  1146  
  1147  // WebAccounts returns request builder for WebAccount collection
  1148  func (b *ProfileRequestBuilder) WebAccounts() *ProfileWebAccountsCollectionRequestBuilder {
  1149  	bb := &ProfileWebAccountsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  1150  	bb.baseURL += "/webAccounts"
  1151  	return bb
  1152  }
  1153  
  1154  // ProfileWebAccountsCollectionRequestBuilder is request builder for WebAccount collection
  1155  type ProfileWebAccountsCollectionRequestBuilder struct{ BaseRequestBuilder }
  1156  
  1157  // Request returns request for WebAccount collection
  1158  func (b *ProfileWebAccountsCollectionRequestBuilder) Request() *ProfileWebAccountsCollectionRequest {
  1159  	return &ProfileWebAccountsCollectionRequest{
  1160  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
  1161  	}
  1162  }
  1163  
  1164  // ID returns request builder for WebAccount item
  1165  func (b *ProfileWebAccountsCollectionRequestBuilder) ID(id string) *WebAccountRequestBuilder {
  1166  	bb := &WebAccountRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  1167  	bb.baseURL += "/" + id
  1168  	return bb
  1169  }
  1170  
  1171  // ProfileWebAccountsCollectionRequest is request for WebAccount collection
  1172  type ProfileWebAccountsCollectionRequest struct{ BaseRequest }
  1173  
  1174  // Paging perfoms paging operation for WebAccount collection
  1175  func (r *ProfileWebAccountsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]WebAccount, error) {
  1176  	req, err := r.NewJSONRequest(method, path, obj)
  1177  	if err != nil {
  1178  		return nil, err
  1179  	}
  1180  	if ctx != nil {
  1181  		req = req.WithContext(ctx)
  1182  	}
  1183  	res, err := r.client.Do(req)
  1184  	if err != nil {
  1185  		return nil, err
  1186  	}
  1187  	var values []WebAccount
  1188  	for {
  1189  		if res.StatusCode != http.StatusOK {
  1190  			b, _ := ioutil.ReadAll(res.Body)
  1191  			res.Body.Close()
  1192  			errRes := &ErrorResponse{Response: res}
  1193  			err := jsonx.Unmarshal(b, errRes)
  1194  			if err != nil {
  1195  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
  1196  			}
  1197  			return nil, errRes
  1198  		}
  1199  		var (
  1200  			paging Paging
  1201  			value  []WebAccount
  1202  		)
  1203  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
  1204  		res.Body.Close()
  1205  		if err != nil {
  1206  			return nil, err
  1207  		}
  1208  		err = jsonx.Unmarshal(paging.Value, &value)
  1209  		if err != nil {
  1210  			return nil, err
  1211  		}
  1212  		values = append(values, value...)
  1213  		if n >= 0 {
  1214  			n--
  1215  		}
  1216  		if n == 0 || len(paging.NextLink) == 0 {
  1217  			return values, nil
  1218  		}
  1219  		req, err = http.NewRequest("GET", paging.NextLink, nil)
  1220  		if ctx != nil {
  1221  			req = req.WithContext(ctx)
  1222  		}
  1223  		res, err = r.client.Do(req)
  1224  		if err != nil {
  1225  			return nil, err
  1226  		}
  1227  	}
  1228  }
  1229  
  1230  // GetN performs GET request for WebAccount collection, max N pages
  1231  func (r *ProfileWebAccountsCollectionRequest) GetN(ctx context.Context, n int) ([]WebAccount, error) {
  1232  	var query string
  1233  	if r.query != nil {
  1234  		query = "?" + r.query.Encode()
  1235  	}
  1236  	return r.Paging(ctx, "GET", query, nil, n)
  1237  }
  1238  
  1239  // Get performs GET request for WebAccount collection
  1240  func (r *ProfileWebAccountsCollectionRequest) Get(ctx context.Context) ([]WebAccount, error) {
  1241  	return r.GetN(ctx, 0)
  1242  }
  1243  
  1244  // Add performs POST request for WebAccount collection
  1245  func (r *ProfileWebAccountsCollectionRequest) Add(ctx context.Context, reqObj *WebAccount) (resObj *WebAccount, err error) {
  1246  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
  1247  	return
  1248  }
  1249  
  1250  // Websites returns request builder for PersonWebsite collection
  1251  func (b *ProfileRequestBuilder) Websites() *ProfileWebsitesCollectionRequestBuilder {
  1252  	bb := &ProfileWebsitesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  1253  	bb.baseURL += "/websites"
  1254  	return bb
  1255  }
  1256  
  1257  // ProfileWebsitesCollectionRequestBuilder is request builder for PersonWebsite collection
  1258  type ProfileWebsitesCollectionRequestBuilder struct{ BaseRequestBuilder }
  1259  
  1260  // Request returns request for PersonWebsite collection
  1261  func (b *ProfileWebsitesCollectionRequestBuilder) Request() *ProfileWebsitesCollectionRequest {
  1262  	return &ProfileWebsitesCollectionRequest{
  1263  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
  1264  	}
  1265  }
  1266  
  1267  // ID returns request builder for PersonWebsite item
  1268  func (b *ProfileWebsitesCollectionRequestBuilder) ID(id string) *PersonWebsiteRequestBuilder {
  1269  	bb := &PersonWebsiteRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  1270  	bb.baseURL += "/" + id
  1271  	return bb
  1272  }
  1273  
  1274  // ProfileWebsitesCollectionRequest is request for PersonWebsite collection
  1275  type ProfileWebsitesCollectionRequest struct{ BaseRequest }
  1276  
  1277  // Paging perfoms paging operation for PersonWebsite collection
  1278  func (r *ProfileWebsitesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]PersonWebsite, error) {
  1279  	req, err := r.NewJSONRequest(method, path, obj)
  1280  	if err != nil {
  1281  		return nil, err
  1282  	}
  1283  	if ctx != nil {
  1284  		req = req.WithContext(ctx)
  1285  	}
  1286  	res, err := r.client.Do(req)
  1287  	if err != nil {
  1288  		return nil, err
  1289  	}
  1290  	var values []PersonWebsite
  1291  	for {
  1292  		if res.StatusCode != http.StatusOK {
  1293  			b, _ := ioutil.ReadAll(res.Body)
  1294  			res.Body.Close()
  1295  			errRes := &ErrorResponse{Response: res}
  1296  			err := jsonx.Unmarshal(b, errRes)
  1297  			if err != nil {
  1298  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
  1299  			}
  1300  			return nil, errRes
  1301  		}
  1302  		var (
  1303  			paging Paging
  1304  			value  []PersonWebsite
  1305  		)
  1306  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
  1307  		res.Body.Close()
  1308  		if err != nil {
  1309  			return nil, err
  1310  		}
  1311  		err = jsonx.Unmarshal(paging.Value, &value)
  1312  		if err != nil {
  1313  			return nil, err
  1314  		}
  1315  		values = append(values, value...)
  1316  		if n >= 0 {
  1317  			n--
  1318  		}
  1319  		if n == 0 || len(paging.NextLink) == 0 {
  1320  			return values, nil
  1321  		}
  1322  		req, err = http.NewRequest("GET", paging.NextLink, nil)
  1323  		if ctx != nil {
  1324  			req = req.WithContext(ctx)
  1325  		}
  1326  		res, err = r.client.Do(req)
  1327  		if err != nil {
  1328  			return nil, err
  1329  		}
  1330  	}
  1331  }
  1332  
  1333  // GetN performs GET request for PersonWebsite collection, max N pages
  1334  func (r *ProfileWebsitesCollectionRequest) GetN(ctx context.Context, n int) ([]PersonWebsite, error) {
  1335  	var query string
  1336  	if r.query != nil {
  1337  		query = "?" + r.query.Encode()
  1338  	}
  1339  	return r.Paging(ctx, "GET", query, nil, n)
  1340  }
  1341  
  1342  // Get performs GET request for PersonWebsite collection
  1343  func (r *ProfileWebsitesCollectionRequest) Get(ctx context.Context) ([]PersonWebsite, error) {
  1344  	return r.GetN(ctx, 0)
  1345  }
  1346  
  1347  // Add performs POST request for PersonWebsite collection
  1348  func (r *ProfileWebsitesCollectionRequest) Add(ctx context.Context, reqObj *PersonWebsite) (resObj *PersonWebsite, err error) {
  1349  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
  1350  	return
  1351  }