diff options
Diffstat (limited to 'vendor/github.com/yaegashi/msgraph.go/beta/ProfileRequest.go')
-rw-r--r-- | vendor/github.com/yaegashi/msgraph.go/beta/ProfileRequest.go | 1267 |
1 files changed, 1267 insertions, 0 deletions
diff --git a/vendor/github.com/yaegashi/msgraph.go/beta/ProfileRequest.go b/vendor/github.com/yaegashi/msgraph.go/beta/ProfileRequest.go new file mode 100644 index 00000000..6a92ad6a --- /dev/null +++ b/vendor/github.com/yaegashi/msgraph.go/beta/ProfileRequest.go @@ -0,0 +1,1267 @@ +// Code generated by msgraph-generate.go DO NOT EDIT. + +package msgraph + +import ( + "context" + "fmt" + "io/ioutil" + "net/http" + + "github.com/yaegashi/msgraph.go/jsonx" +) + +// ProfileRequestBuilder is request builder for Profile +type ProfileRequestBuilder struct{ BaseRequestBuilder } + +// Request returns ProfileRequest +func (b *ProfileRequestBuilder) Request() *ProfileRequest { + return &ProfileRequest{ + BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, + } +} + +// ProfileRequest is request for Profile +type ProfileRequest struct{ BaseRequest } + +// Get performs GET request for Profile +func (r *ProfileRequest) Get(ctx context.Context) (resObj *Profile, err error) { + var query string + if r.query != nil { + query = "?" + r.query.Encode() + } + err = r.JSONRequest(ctx, "GET", query, nil, &resObj) + return +} + +// Update performs PATCH request for Profile +func (r *ProfileRequest) Update(ctx context.Context, reqObj *Profile) error { + return r.JSONRequest(ctx, "PATCH", "", reqObj, nil) +} + +// Delete performs DELETE request for Profile +func (r *ProfileRequest) Delete(ctx context.Context) error { + return r.JSONRequest(ctx, "DELETE", "", nil, nil) +} + +// Account returns request builder for UserAccountInformation collection +func (b *ProfileRequestBuilder) Account() *ProfileAccountCollectionRequestBuilder { + bb := &ProfileAccountCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} + bb.baseURL += "/account" + return bb +} + +// ProfileAccountCollectionRequestBuilder is request builder for UserAccountInformation collection +type ProfileAccountCollectionRequestBuilder struct{ BaseRequestBuilder } + +// Request returns request for UserAccountInformation collection +func (b *ProfileAccountCollectionRequestBuilder) Request() *ProfileAccountCollectionRequest { + return &ProfileAccountCollectionRequest{ + BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, + } +} + +// ID returns request builder for UserAccountInformation item +func (b *ProfileAccountCollectionRequestBuilder) ID(id string) *UserAccountInformationRequestBuilder { + bb := &UserAccountInformationRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} + bb.baseURL += "/" + id + return bb +} + +// ProfileAccountCollectionRequest is request for UserAccountInformation collection +type ProfileAccountCollectionRequest struct{ BaseRequest } + +// Paging perfoms paging operation for UserAccountInformation collection +func (r *ProfileAccountCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}) ([]UserAccountInformation, error) { + req, err := r.NewJSONRequest(method, path, obj) + if err != nil { + return nil, err + } + if ctx != nil { + req = req.WithContext(ctx) + } + res, err := r.client.Do(req) + if err != nil { + return nil, err + } + var values []UserAccountInformation + for { + defer res.Body.Close() + if res.StatusCode != http.StatusOK { + b, _ := ioutil.ReadAll(res.Body) + errRes := &ErrorResponse{Response: res} + err := jsonx.Unmarshal(b, errRes) + if err != nil { + return nil, fmt.Errorf("%s: %s", res.Status, string(b)) + } + return nil, errRes + } + var ( + paging Paging + value []UserAccountInformation + ) + err := jsonx.NewDecoder(res.Body).Decode(&paging) + if err != nil { + return nil, err + } + err = jsonx.Unmarshal(paging.Value, &value) + if err != nil { + return nil, err + } + values = append(values, value...) + if len(paging.NextLink) == 0 { + return values, nil + } + req, err = http.NewRequest("GET", paging.NextLink, nil) + if ctx != nil { + req = req.WithContext(ctx) + } + res, err = r.client.Do(req) + if err != nil { + return nil, err + } + } +} + +// Get performs GET request for UserAccountInformation collection +func (r *ProfileAccountCollectionRequest) Get(ctx context.Context) ([]UserAccountInformation, error) { + var query string + if r.query != nil { + query = "?" + r.query.Encode() + } + return r.Paging(ctx, "GET", query, nil) +} + +// Add performs POST request for UserAccountInformation collection +func (r *ProfileAccountCollectionRequest) Add(ctx context.Context, reqObj *UserAccountInformation) (resObj *UserAccountInformation, err error) { + err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) + return +} + +// Anniversaries returns request builder for PersonAnniversary collection +func (b *ProfileRequestBuilder) Anniversaries() *ProfileAnniversariesCollectionRequestBuilder { + bb := &ProfileAnniversariesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} + bb.baseURL += "/anniversaries" + return bb +} + +// ProfileAnniversariesCollectionRequestBuilder is request builder for PersonAnniversary collection +type ProfileAnniversariesCollectionRequestBuilder struct{ BaseRequestBuilder } + +// Request returns request for PersonAnniversary collection +func (b *ProfileAnniversariesCollectionRequestBuilder) Request() *ProfileAnniversariesCollectionRequest { + return &ProfileAnniversariesCollectionRequest{ + BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, + } +} + +// ID returns request builder for PersonAnniversary item +func (b *ProfileAnniversariesCollectionRequestBuilder) ID(id string) *PersonAnniversaryRequestBuilder { + bb := &PersonAnniversaryRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} + bb.baseURL += "/" + id + return bb +} + +// ProfileAnniversariesCollectionRequest is request for PersonAnniversary collection +type ProfileAnniversariesCollectionRequest struct{ BaseRequest } + +// Paging perfoms paging operation for PersonAnniversary collection +func (r *ProfileAnniversariesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}) ([]PersonAnniversary, error) { + req, err := r.NewJSONRequest(method, path, obj) + if err != nil { + return nil, err + } + if ctx != nil { + req = req.WithContext(ctx) + } + res, err := r.client.Do(req) + if err != nil { + return nil, err + } + var values []PersonAnniversary + for { + defer res.Body.Close() + if res.StatusCode != http.StatusOK { + b, _ := ioutil.ReadAll(res.Body) + errRes := &ErrorResponse{Response: res} + err := jsonx.Unmarshal(b, errRes) + if err != nil { + return nil, fmt.Errorf("%s: %s", res.Status, string(b)) + } + return nil, errRes + } + var ( + paging Paging + value []PersonAnniversary + ) + err := jsonx.NewDecoder(res.Body).Decode(&paging) + if err != nil { + return nil, err + } + err = jsonx.Unmarshal(paging.Value, &value) + if err != nil { + return nil, err + } + values = append(values, value...) + if len(paging.NextLink) == 0 { + return values, nil + } + req, err = http.NewRequest("GET", paging.NextLink, nil) + if ctx != nil { + req = req.WithContext(ctx) + } + res, err = r.client.Do(req) + if err != nil { + return nil, err + } + } +} + +// Get performs GET request for PersonAnniversary collection +func (r *ProfileAnniversariesCollectionRequest) Get(ctx context.Context) ([]PersonAnniversary, error) { + var query string + if r.query != nil { + query = "?" + r.query.Encode() + } + return r.Paging(ctx, "GET", query, nil) +} + +// Add performs POST request for PersonAnniversary collection +func (r *ProfileAnniversariesCollectionRequest) Add(ctx context.Context, reqObj *PersonAnniversary) (resObj *PersonAnniversary, err error) { + err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) + return +} + +// EducationalActivities returns request builder for EducationalActivity collection +func (b *ProfileRequestBuilder) EducationalActivities() *ProfileEducationalActivitiesCollectionRequestBuilder { + bb := &ProfileEducationalActivitiesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} + bb.baseURL += "/educationalActivities" + return bb +} + +// ProfileEducationalActivitiesCollectionRequestBuilder is request builder for EducationalActivity collection +type ProfileEducationalActivitiesCollectionRequestBuilder struct{ BaseRequestBuilder } + +// Request returns request for EducationalActivity collection +func (b *ProfileEducationalActivitiesCollectionRequestBuilder) Request() *ProfileEducationalActivitiesCollectionRequest { + return &ProfileEducationalActivitiesCollectionRequest{ + BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, + } +} + +// ID returns request builder for EducationalActivity item +func (b *ProfileEducationalActivitiesCollectionRequestBuilder) ID(id string) *EducationalActivityRequestBuilder { + bb := &EducationalActivityRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} + bb.baseURL += "/" + id + return bb +} + +// ProfileEducationalActivitiesCollectionRequest is request for EducationalActivity collection +type ProfileEducationalActivitiesCollectionRequest struct{ BaseRequest } + +// Paging perfoms paging operation for EducationalActivity collection +func (r *ProfileEducationalActivitiesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}) ([]EducationalActivity, error) { + req, err := r.NewJSONRequest(method, path, obj) + if err != nil { + return nil, err + } + if ctx != nil { + req = req.WithContext(ctx) + } + res, err := r.client.Do(req) + if err != nil { + return nil, err + } + var values []EducationalActivity + for { + defer res.Body.Close() + if res.StatusCode != http.StatusOK { + b, _ := ioutil.ReadAll(res.Body) + errRes := &ErrorResponse{Response: res} + err := jsonx.Unmarshal(b, errRes) + if err != nil { + return nil, fmt.Errorf("%s: %s", res.Status, string(b)) + } + return nil, errRes + } + var ( + paging Paging + value []EducationalActivity + ) + err := jsonx.NewDecoder(res.Body).Decode(&paging) + if err != nil { + return nil, err + } + err = jsonx.Unmarshal(paging.Value, &value) + if err != nil { + return nil, err + } + values = append(values, value...) + if len(paging.NextLink) == 0 { + return values, nil + } + req, err = http.NewRequest("GET", paging.NextLink, nil) + if ctx != nil { + req = req.WithContext(ctx) + } + res, err = r.client.Do(req) + if err != nil { + return nil, err + } + } +} + +// Get performs GET request for EducationalActivity collection +func (r *ProfileEducationalActivitiesCollectionRequest) Get(ctx context.Context) ([]EducationalActivity, error) { + var query string + if r.query != nil { + query = "?" + r.query.Encode() + } + return r.Paging(ctx, "GET", query, nil) +} + +// Add performs POST request for EducationalActivity collection +func (r *ProfileEducationalActivitiesCollectionRequest) Add(ctx context.Context, reqObj *EducationalActivity) (resObj *EducationalActivity, err error) { + err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) + return +} + +// Emails returns request builder for ItemEmail collection +func (b *ProfileRequestBuilder) Emails() *ProfileEmailsCollectionRequestBuilder { + bb := &ProfileEmailsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} + bb.baseURL += "/emails" + return bb +} + +// ProfileEmailsCollectionRequestBuilder is request builder for ItemEmail collection +type ProfileEmailsCollectionRequestBuilder struct{ BaseRequestBuilder } + +// Request returns request for ItemEmail collection +func (b *ProfileEmailsCollectionRequestBuilder) Request() *ProfileEmailsCollectionRequest { + return &ProfileEmailsCollectionRequest{ + BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, + } +} + +// ID returns request builder for ItemEmail item +func (b *ProfileEmailsCollectionRequestBuilder) ID(id string) *ItemEmailRequestBuilder { + bb := &ItemEmailRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} + bb.baseURL += "/" + id + return bb +} + +// ProfileEmailsCollectionRequest is request for ItemEmail collection +type ProfileEmailsCollectionRequest struct{ BaseRequest } + +// Paging perfoms paging operation for ItemEmail collection +func (r *ProfileEmailsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}) ([]ItemEmail, error) { + req, err := r.NewJSONRequest(method, path, obj) + if err != nil { + return nil, err + } + if ctx != nil { + req = req.WithContext(ctx) + } + res, err := r.client.Do(req) + if err != nil { + return nil, err + } + var values []ItemEmail + for { + defer res.Body.Close() + if res.StatusCode != http.StatusOK { + b, _ := ioutil.ReadAll(res.Body) + errRes := &ErrorResponse{Response: res} + err := jsonx.Unmarshal(b, errRes) + if err != nil { + return nil, fmt.Errorf("%s: %s", res.Status, string(b)) + } + return nil, errRes + } + var ( + paging Paging + value []ItemEmail + ) + err := jsonx.NewDecoder(res.Body).Decode(&paging) + if err != nil { + return nil, err + } + err = jsonx.Unmarshal(paging.Value, &value) + if err != nil { + return nil, err + } + values = append(values, value...) + if len(paging.NextLink) == 0 { + return values, nil + } + req, err = http.NewRequest("GET", paging.NextLink, nil) + if ctx != nil { + req = req.WithContext(ctx) + } + res, err = r.client.Do(req) + if err != nil { + return nil, err + } + } +} + +// Get performs GET request for ItemEmail collection +func (r *ProfileEmailsCollectionRequest) Get(ctx context.Context) ([]ItemEmail, error) { + var query string + if r.query != nil { + query = "?" + r.query.Encode() + } + return r.Paging(ctx, "GET", query, nil) +} + +// Add performs POST request for ItemEmail collection +func (r *ProfileEmailsCollectionRequest) Add(ctx context.Context, reqObj *ItemEmail) (resObj *ItemEmail, err error) { + err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) + return +} + +// Interests returns request builder for PersonInterest collection +func (b *ProfileRequestBuilder) Interests() *ProfileInterestsCollectionRequestBuilder { + bb := &ProfileInterestsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} + bb.baseURL += "/interests" + return bb +} + +// ProfileInterestsCollectionRequestBuilder is request builder for PersonInterest collection +type ProfileInterestsCollectionRequestBuilder struct{ BaseRequestBuilder } + +// Request returns request for PersonInterest collection +func (b *ProfileInterestsCollectionRequestBuilder) Request() *ProfileInterestsCollectionRequest { + return &ProfileInterestsCollectionRequest{ + BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, + } +} + +// ID returns request builder for PersonInterest item +func (b *ProfileInterestsCollectionRequestBuilder) ID(id string) *PersonInterestRequestBuilder { + bb := &PersonInterestRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} + bb.baseURL += "/" + id + return bb +} + +// ProfileInterestsCollectionRequest is request for PersonInterest collection +type ProfileInterestsCollectionRequest struct{ BaseRequest } + +// Paging perfoms paging operation for PersonInterest collection +func (r *ProfileInterestsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}) ([]PersonInterest, error) { + req, err := r.NewJSONRequest(method, path, obj) + if err != nil { + return nil, err + } + if ctx != nil { + req = req.WithContext(ctx) + } + res, err := r.client.Do(req) + if err != nil { + return nil, err + } + var values []PersonInterest + for { + defer res.Body.Close() + if res.StatusCode != http.StatusOK { + b, _ := ioutil.ReadAll(res.Body) + errRes := &ErrorResponse{Response: res} + err := jsonx.Unmarshal(b, errRes) + if err != nil { + return nil, fmt.Errorf("%s: %s", res.Status, string(b)) + } + return nil, errRes + } + var ( + paging Paging + value []PersonInterest + ) + err := jsonx.NewDecoder(res.Body).Decode(&paging) + if err != nil { + return nil, err + } + err = jsonx.Unmarshal(paging.Value, &value) + if err != nil { + return nil, err + } + values = append(values, value...) + if len(paging.NextLink) == 0 { + return values, nil + } + req, err = http.NewRequest("GET", paging.NextLink, nil) + if ctx != nil { + req = req.WithContext(ctx) + } + res, err = r.client.Do(req) + if err != nil { + return nil, err + } + } +} + +// Get performs GET request for PersonInterest collection +func (r *ProfileInterestsCollectionRequest) Get(ctx context.Context) ([]PersonInterest, error) { + var query string + if r.query != nil { + query = "?" + r.query.Encode() + } + return r.Paging(ctx, "GET", query, nil) +} + +// Add performs POST request for PersonInterest collection +func (r *ProfileInterestsCollectionRequest) Add(ctx context.Context, reqObj *PersonInterest) (resObj *PersonInterest, err error) { + err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) + return +} + +// Languages returns request builder for LanguageProficiency collection +func (b *ProfileRequestBuilder) Languages() *ProfileLanguagesCollectionRequestBuilder { + bb := &ProfileLanguagesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} + bb.baseURL += "/languages" + return bb +} + +// ProfileLanguagesCollectionRequestBuilder is request builder for LanguageProficiency collection +type ProfileLanguagesCollectionRequestBuilder struct{ BaseRequestBuilder } + +// Request returns request for LanguageProficiency collection +func (b *ProfileLanguagesCollectionRequestBuilder) Request() *ProfileLanguagesCollectionRequest { + return &ProfileLanguagesCollectionRequest{ + BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, + } +} + +// ID returns request builder for LanguageProficiency item +func (b *ProfileLanguagesCollectionRequestBuilder) ID(id string) *LanguageProficiencyRequestBuilder { + bb := &LanguageProficiencyRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} + bb.baseURL += "/" + id + return bb +} + +// ProfileLanguagesCollectionRequest is request for LanguageProficiency collection +type ProfileLanguagesCollectionRequest struct{ BaseRequest } + +// Paging perfoms paging operation for LanguageProficiency collection +func (r *ProfileLanguagesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}) ([]LanguageProficiency, error) { + req, err := r.NewJSONRequest(method, path, obj) + if err != nil { + return nil, err + } + if ctx != nil { + req = req.WithContext(ctx) + } + res, err := r.client.Do(req) + if err != nil { + return nil, err + } + var values []LanguageProficiency + for { + defer res.Body.Close() + if res.StatusCode != http.StatusOK { + b, _ := ioutil.ReadAll(res.Body) + errRes := &ErrorResponse{Response: res} + err := jsonx.Unmarshal(b, errRes) + if err != nil { + return nil, fmt.Errorf("%s: %s", res.Status, string(b)) + } + return nil, errRes + } + var ( + paging Paging + value []LanguageProficiency + ) + err := jsonx.NewDecoder(res.Body).Decode(&paging) + if err != nil { + return nil, err + } + err = jsonx.Unmarshal(paging.Value, &value) + if err != nil { + return nil, err + } + values = append(values, value...) + if len(paging.NextLink) == 0 { + return values, nil + } + req, err = http.NewRequest("GET", paging.NextLink, nil) + if ctx != nil { + req = req.WithContext(ctx) + } + res, err = r.client.Do(req) + if err != nil { + return nil, err + } + } +} + +// Get performs GET request for LanguageProficiency collection +func (r *ProfileLanguagesCollectionRequest) Get(ctx context.Context) ([]LanguageProficiency, error) { + var query string + if r.query != nil { + query = "?" + r.query.Encode() + } + return r.Paging(ctx, "GET", query, nil) +} + +// Add performs POST request for LanguageProficiency collection +func (r *ProfileLanguagesCollectionRequest) Add(ctx context.Context, reqObj *LanguageProficiency) (resObj *LanguageProficiency, err error) { + err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) + return +} + +// Names returns request builder for PersonName collection +func (b *ProfileRequestBuilder) Names() *ProfileNamesCollectionRequestBuilder { + bb := &ProfileNamesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} + bb.baseURL += "/names" + return bb +} + +// ProfileNamesCollectionRequestBuilder is request builder for PersonName collection +type ProfileNamesCollectionRequestBuilder struct{ BaseRequestBuilder } + +// Request returns request for PersonName collection +func (b *ProfileNamesCollectionRequestBuilder) Request() *ProfileNamesCollectionRequest { + return &ProfileNamesCollectionRequest{ + BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, + } +} + +// ID returns request builder for PersonName item +func (b *ProfileNamesCollectionRequestBuilder) ID(id string) *PersonNameRequestBuilder { + bb := &PersonNameRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} + bb.baseURL += "/" + id + return bb +} + +// ProfileNamesCollectionRequest is request for PersonName collection +type ProfileNamesCollectionRequest struct{ BaseRequest } + +// Paging perfoms paging operation for PersonName collection +func (r *ProfileNamesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}) ([]PersonName, error) { + req, err := r.NewJSONRequest(method, path, obj) + if err != nil { + return nil, err + } + if ctx != nil { + req = req.WithContext(ctx) + } + res, err := r.client.Do(req) + if err != nil { + return nil, err + } + var values []PersonName + for { + defer res.Body.Close() + if res.StatusCode != http.StatusOK { + b, _ := ioutil.ReadAll(res.Body) + errRes := &ErrorResponse{Response: res} + err := jsonx.Unmarshal(b, errRes) + if err != nil { + return nil, fmt.Errorf("%s: %s", res.Status, string(b)) + } + return nil, errRes + } + var ( + paging Paging + value []PersonName + ) + err := jsonx.NewDecoder(res.Body).Decode(&paging) + if err != nil { + return nil, err + } + err = jsonx.Unmarshal(paging.Value, &value) + if err != nil { + return nil, err + } + values = append(values, value...) + if len(paging.NextLink) == 0 { + return values, nil + } + req, err = http.NewRequest("GET", paging.NextLink, nil) + if ctx != nil { + req = req.WithContext(ctx) + } + res, err = r.client.Do(req) + if err != nil { + return nil, err + } + } +} + +// Get performs GET request for PersonName collection +func (r *ProfileNamesCollectionRequest) Get(ctx context.Context) ([]PersonName, error) { + var query string + if r.query != nil { + query = "?" + r.query.Encode() + } + return r.Paging(ctx, "GET", query, nil) +} + +// Add performs POST request for PersonName collection +func (r *ProfileNamesCollectionRequest) Add(ctx context.Context, reqObj *PersonName) (resObj *PersonName, err error) { + err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) + return +} + +// Phones returns request builder for ItemPhone collection +func (b *ProfileRequestBuilder) Phones() *ProfilePhonesCollectionRequestBuilder { + bb := &ProfilePhonesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} + bb.baseURL += "/phones" + return bb +} + +// ProfilePhonesCollectionRequestBuilder is request builder for ItemPhone collection +type ProfilePhonesCollectionRequestBuilder struct{ BaseRequestBuilder } + +// Request returns request for ItemPhone collection +func (b *ProfilePhonesCollectionRequestBuilder) Request() *ProfilePhonesCollectionRequest { + return &ProfilePhonesCollectionRequest{ + BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, + } +} + +// ID returns request builder for ItemPhone item +func (b *ProfilePhonesCollectionRequestBuilder) ID(id string) *ItemPhoneRequestBuilder { + bb := &ItemPhoneRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} + bb.baseURL += "/" + id + return bb +} + +// ProfilePhonesCollectionRequest is request for ItemPhone collection +type ProfilePhonesCollectionRequest struct{ BaseRequest } + +// Paging perfoms paging operation for ItemPhone collection +func (r *ProfilePhonesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}) ([]ItemPhone, error) { + req, err := r.NewJSONRequest(method, path, obj) + if err != nil { + return nil, err + } + if ctx != nil { + req = req.WithContext(ctx) + } + res, err := r.client.Do(req) + if err != nil { + return nil, err + } + var values []ItemPhone + for { + defer res.Body.Close() + if res.StatusCode != http.StatusOK { + b, _ := ioutil.ReadAll(res.Body) + errRes := &ErrorResponse{Response: res} + err := jsonx.Unmarshal(b, errRes) + if err != nil { + return nil, fmt.Errorf("%s: %s", res.Status, string(b)) + } + return nil, errRes + } + var ( + paging Paging + value []ItemPhone + ) + err := jsonx.NewDecoder(res.Body).Decode(&paging) + if err != nil { + return nil, err + } + err = jsonx.Unmarshal(paging.Value, &value) + if err != nil { + return nil, err + } + values = append(values, value...) + if len(paging.NextLink) == 0 { + return values, nil + } + req, err = http.NewRequest("GET", paging.NextLink, nil) + if ctx != nil { + req = req.WithContext(ctx) + } + res, err = r.client.Do(req) + if err != nil { + return nil, err + } + } +} + +// Get performs GET request for ItemPhone collection +func (r *ProfilePhonesCollectionRequest) Get(ctx context.Context) ([]ItemPhone, error) { + var query string + if r.query != nil { + query = "?" + r.query.Encode() + } + return r.Paging(ctx, "GET", query, nil) +} + +// Add performs POST request for ItemPhone collection +func (r *ProfilePhonesCollectionRequest) Add(ctx context.Context, reqObj *ItemPhone) (resObj *ItemPhone, err error) { + err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) + return +} + +// Positions returns request builder for WorkPosition collection +func (b *ProfileRequestBuilder) Positions() *ProfilePositionsCollectionRequestBuilder { + bb := &ProfilePositionsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} + bb.baseURL += "/positions" + return bb +} + +// ProfilePositionsCollectionRequestBuilder is request builder for WorkPosition collection +type ProfilePositionsCollectionRequestBuilder struct{ BaseRequestBuilder } + +// Request returns request for WorkPosition collection +func (b *ProfilePositionsCollectionRequestBuilder) Request() *ProfilePositionsCollectionRequest { + return &ProfilePositionsCollectionRequest{ + BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, + } +} + +// ID returns request builder for WorkPosition item +func (b *ProfilePositionsCollectionRequestBuilder) ID(id string) *WorkPositionRequestBuilder { + bb := &WorkPositionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} + bb.baseURL += "/" + id + return bb +} + +// ProfilePositionsCollectionRequest is request for WorkPosition collection +type ProfilePositionsCollectionRequest struct{ BaseRequest } + +// Paging perfoms paging operation for WorkPosition collection +func (r *ProfilePositionsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}) ([]WorkPosition, error) { + req, err := r.NewJSONRequest(method, path, obj) + if err != nil { + return nil, err + } + if ctx != nil { + req = req.WithContext(ctx) + } + res, err := r.client.Do(req) + if err != nil { + return nil, err + } + var values []WorkPosition + for { + defer res.Body.Close() + if res.StatusCode != http.StatusOK { + b, _ := ioutil.ReadAll(res.Body) + errRes := &ErrorResponse{Response: res} + err := jsonx.Unmarshal(b, errRes) + if err != nil { + return nil, fmt.Errorf("%s: %s", res.Status, string(b)) + } + return nil, errRes + } + var ( + paging Paging + value []WorkPosition + ) + err := jsonx.NewDecoder(res.Body).Decode(&paging) + if err != nil { + return nil, err + } + err = jsonx.Unmarshal(paging.Value, &value) + if err != nil { + return nil, err + } + values = append(values, value...) + if len(paging.NextLink) == 0 { + return values, nil + } + req, err = http.NewRequest("GET", paging.NextLink, nil) + if ctx != nil { + req = req.WithContext(ctx) + } + res, err = r.client.Do(req) + if err != nil { + return nil, err + } + } +} + +// Get performs GET request for WorkPosition collection +func (r *ProfilePositionsCollectionRequest) Get(ctx context.Context) ([]WorkPosition, error) { + var query string + if r.query != nil { + query = "?" + r.query.Encode() + } + return r.Paging(ctx, "GET", query, nil) +} + +// Add performs POST request for WorkPosition collection +func (r *ProfilePositionsCollectionRequest) Add(ctx context.Context, reqObj *WorkPosition) (resObj *WorkPosition, err error) { + err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) + return +} + +// Projects returns request builder for ProjectParticipation collection +func (b *ProfileRequestBuilder) Projects() *ProfileProjectsCollectionRequestBuilder { + bb := &ProfileProjectsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} + bb.baseURL += "/projects" + return bb +} + +// ProfileProjectsCollectionRequestBuilder is request builder for ProjectParticipation collection +type ProfileProjectsCollectionRequestBuilder struct{ BaseRequestBuilder } + +// Request returns request for ProjectParticipation collection +func (b *ProfileProjectsCollectionRequestBuilder) Request() *ProfileProjectsCollectionRequest { + return &ProfileProjectsCollectionRequest{ + BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, + } +} + +// ID returns request builder for ProjectParticipation item +func (b *ProfileProjectsCollectionRequestBuilder) ID(id string) *ProjectParticipationRequestBuilder { + bb := &ProjectParticipationRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} + bb.baseURL += "/" + id + return bb +} + +// ProfileProjectsCollectionRequest is request for ProjectParticipation collection +type ProfileProjectsCollectionRequest struct{ BaseRequest } + +// Paging perfoms paging operation for ProjectParticipation collection +func (r *ProfileProjectsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}) ([]ProjectParticipation, error) { + req, err := r.NewJSONRequest(method, path, obj) + if err != nil { + return nil, err + } + if ctx != nil { + req = req.WithContext(ctx) + } + res, err := r.client.Do(req) + if err != nil { + return nil, err + } + var values []ProjectParticipation + for { + defer res.Body.Close() + if res.StatusCode != http.StatusOK { + b, _ := ioutil.ReadAll(res.Body) + errRes := &ErrorResponse{Response: res} + err := jsonx.Unmarshal(b, errRes) + if err != nil { + return nil, fmt.Errorf("%s: %s", res.Status, string(b)) + } + return nil, errRes + } + var ( + paging Paging + value []ProjectParticipation + ) + err := jsonx.NewDecoder(res.Body).Decode(&paging) + if err != nil { + return nil, err + } + err = jsonx.Unmarshal(paging.Value, &value) + if err != nil { + return nil, err + } + values = append(values, value...) + if len(paging.NextLink) == 0 { + return values, nil + } + req, err = http.NewRequest("GET", paging.NextLink, nil) + if ctx != nil { + req = req.WithContext(ctx) + } + res, err = r.client.Do(req) + if err != nil { + return nil, err + } + } +} + +// Get performs GET request for ProjectParticipation collection +func (r *ProfileProjectsCollectionRequest) Get(ctx context.Context) ([]ProjectParticipation, error) { + var query string + if r.query != nil { + query = "?" + r.query.Encode() + } + return r.Paging(ctx, "GET", query, nil) +} + +// Add performs POST request for ProjectParticipation collection +func (r *ProfileProjectsCollectionRequest) Add(ctx context.Context, reqObj *ProjectParticipation) (resObj *ProjectParticipation, err error) { + err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) + return +} + +// Skills returns request builder for SkillProficiency collection +func (b *ProfileRequestBuilder) Skills() *ProfileSkillsCollectionRequestBuilder { + bb := &ProfileSkillsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} + bb.baseURL += "/skills" + return bb +} + +// ProfileSkillsCollectionRequestBuilder is request builder for SkillProficiency collection +type ProfileSkillsCollectionRequestBuilder struct{ BaseRequestBuilder } + +// Request returns request for SkillProficiency collection +func (b *ProfileSkillsCollectionRequestBuilder) Request() *ProfileSkillsCollectionRequest { + return &ProfileSkillsCollectionRequest{ + BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, + } +} + +// ID returns request builder for SkillProficiency item +func (b *ProfileSkillsCollectionRequestBuilder) ID(id string) *SkillProficiencyRequestBuilder { + bb := &SkillProficiencyRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} + bb.baseURL += "/" + id + return bb +} + +// ProfileSkillsCollectionRequest is request for SkillProficiency collection +type ProfileSkillsCollectionRequest struct{ BaseRequest } + +// Paging perfoms paging operation for SkillProficiency collection +func (r *ProfileSkillsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}) ([]SkillProficiency, error) { + req, err := r.NewJSONRequest(method, path, obj) + if err != nil { + return nil, err + } + if ctx != nil { + req = req.WithContext(ctx) + } + res, err := r.client.Do(req) + if err != nil { + return nil, err + } + var values []SkillProficiency + for { + defer res.Body.Close() + if res.StatusCode != http.StatusOK { + b, _ := ioutil.ReadAll(res.Body) + errRes := &ErrorResponse{Response: res} + err := jsonx.Unmarshal(b, errRes) + if err != nil { + return nil, fmt.Errorf("%s: %s", res.Status, string(b)) + } + return nil, errRes + } + var ( + paging Paging + value []SkillProficiency + ) + err := jsonx.NewDecoder(res.Body).Decode(&paging) + if err != nil { + return nil, err + } + err = jsonx.Unmarshal(paging.Value, &value) + if err != nil { + return nil, err + } + values = append(values, value...) + if len(paging.NextLink) == 0 { + return values, nil + } + req, err = http.NewRequest("GET", paging.NextLink, nil) + if ctx != nil { + req = req.WithContext(ctx) + } + res, err = r.client.Do(req) + if err != nil { + return nil, err + } + } +} + +// Get performs GET request for SkillProficiency collection +func (r *ProfileSkillsCollectionRequest) Get(ctx context.Context) ([]SkillProficiency, error) { + var query string + if r.query != nil { + query = "?" + r.query.Encode() + } + return r.Paging(ctx, "GET", query, nil) +} + +// Add performs POST request for SkillProficiency collection +func (r *ProfileSkillsCollectionRequest) Add(ctx context.Context, reqObj *SkillProficiency) (resObj *SkillProficiency, err error) { + err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) + return +} + +// WebAccounts returns request builder for WebAccount collection +func (b *ProfileRequestBuilder) WebAccounts() *ProfileWebAccountsCollectionRequestBuilder { + bb := &ProfileWebAccountsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} + bb.baseURL += "/webAccounts" + return bb +} + +// ProfileWebAccountsCollectionRequestBuilder is request builder for WebAccount collection +type ProfileWebAccountsCollectionRequestBuilder struct{ BaseRequestBuilder } + +// Request returns request for WebAccount collection +func (b *ProfileWebAccountsCollectionRequestBuilder) Request() *ProfileWebAccountsCollectionRequest { + return &ProfileWebAccountsCollectionRequest{ + BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, + } +} + +// ID returns request builder for WebAccount item +func (b *ProfileWebAccountsCollectionRequestBuilder) ID(id string) *WebAccountRequestBuilder { + bb := &WebAccountRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} + bb.baseURL += "/" + id + return bb +} + +// ProfileWebAccountsCollectionRequest is request for WebAccount collection +type ProfileWebAccountsCollectionRequest struct{ BaseRequest } + +// Paging perfoms paging operation for WebAccount collection +func (r *ProfileWebAccountsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}) ([]WebAccount, error) { + req, err := r.NewJSONRequest(method, path, obj) + if err != nil { + return nil, err + } + if ctx != nil { + req = req.WithContext(ctx) + } + res, err := r.client.Do(req) + if err != nil { + return nil, err + } + var values []WebAccount + for { + defer res.Body.Close() + if res.StatusCode != http.StatusOK { + b, _ := ioutil.ReadAll(res.Body) + errRes := &ErrorResponse{Response: res} + err := jsonx.Unmarshal(b, errRes) + if err != nil { + return nil, fmt.Errorf("%s: %s", res.Status, string(b)) + } + return nil, errRes + } + var ( + paging Paging + value []WebAccount + ) + err := jsonx.NewDecoder(res.Body).Decode(&paging) + if err != nil { + return nil, err + } + err = jsonx.Unmarshal(paging.Value, &value) + if err != nil { + return nil, err + } + values = append(values, value...) + if len(paging.NextLink) == 0 { + return values, nil + } + req, err = http.NewRequest("GET", paging.NextLink, nil) + if ctx != nil { + req = req.WithContext(ctx) + } + res, err = r.client.Do(req) + if err != nil { + return nil, err + } + } +} + +// Get performs GET request for WebAccount collection +func (r *ProfileWebAccountsCollectionRequest) Get(ctx context.Context) ([]WebAccount, error) { + var query string + if r.query != nil { + query = "?" + r.query.Encode() + } + return r.Paging(ctx, "GET", query, nil) +} + +// Add performs POST request for WebAccount collection +func (r *ProfileWebAccountsCollectionRequest) Add(ctx context.Context, reqObj *WebAccount) (resObj *WebAccount, err error) { + err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) + return +} + +// Websites returns request builder for PersonWebsite collection +func (b *ProfileRequestBuilder) Websites() *ProfileWebsitesCollectionRequestBuilder { + bb := &ProfileWebsitesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} + bb.baseURL += "/websites" + return bb +} + +// ProfileWebsitesCollectionRequestBuilder is request builder for PersonWebsite collection +type ProfileWebsitesCollectionRequestBuilder struct{ BaseRequestBuilder } + +// Request returns request for PersonWebsite collection +func (b *ProfileWebsitesCollectionRequestBuilder) Request() *ProfileWebsitesCollectionRequest { + return &ProfileWebsitesCollectionRequest{ + BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, + } +} + +// ID returns request builder for PersonWebsite item +func (b *ProfileWebsitesCollectionRequestBuilder) ID(id string) *PersonWebsiteRequestBuilder { + bb := &PersonWebsiteRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} + bb.baseURL += "/" + id + return bb +} + +// ProfileWebsitesCollectionRequest is request for PersonWebsite collection +type ProfileWebsitesCollectionRequest struct{ BaseRequest } + +// Paging perfoms paging operation for PersonWebsite collection +func (r *ProfileWebsitesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}) ([]PersonWebsite, error) { + req, err := r.NewJSONRequest(method, path, obj) + if err != nil { + return nil, err + } + if ctx != nil { + req = req.WithContext(ctx) + } + res, err := r.client.Do(req) + if err != nil { + return nil, err + } + var values []PersonWebsite + for { + defer res.Body.Close() + if res.StatusCode != http.StatusOK { + b, _ := ioutil.ReadAll(res.Body) + errRes := &ErrorResponse{Response: res} + err := jsonx.Unmarshal(b, errRes) + if err != nil { + return nil, fmt.Errorf("%s: %s", res.Status, string(b)) + } + return nil, errRes + } + var ( + paging Paging + value []PersonWebsite + ) + err := jsonx.NewDecoder(res.Body).Decode(&paging) + if err != nil { + return nil, err + } + err = jsonx.Unmarshal(paging.Value, &value) + if err != nil { + return nil, err + } + values = append(values, value...) + if len(paging.NextLink) == 0 { + return values, nil + } + req, err = http.NewRequest("GET", paging.NextLink, nil) + if ctx != nil { + req = req.WithContext(ctx) + } + res, err = r.client.Do(req) + if err != nil { + return nil, err + } + } +} + +// Get performs GET request for PersonWebsite collection +func (r *ProfileWebsitesCollectionRequest) Get(ctx context.Context) ([]PersonWebsite, error) { + var query string + if r.query != nil { + query = "?" + r.query.Encode() + } + return r.Paging(ctx, "GET", query, nil) +} + +// Add performs POST request for PersonWebsite collection +func (r *ProfileWebsitesCollectionRequest) Add(ctx context.Context, reqObj *PersonWebsite) (resObj *PersonWebsite, err error) { + err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) + return +} |