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