github.com/yaegashi/msgraph.go@v0.1.4/v1.0/ActionTeam.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  // TeamCloneRequestParameter undocumented
    15  type TeamCloneRequestParameter struct {
    16  	// DisplayName undocumented
    17  	DisplayName *string `json:"displayName,omitempty"`
    18  	// Description undocumented
    19  	Description *string `json:"description,omitempty"`
    20  	// MailNickname undocumented
    21  	MailNickname *string `json:"mailNickname,omitempty"`
    22  	// Classification undocumented
    23  	Classification *string `json:"classification,omitempty"`
    24  	// Visibility undocumented
    25  	Visibility *TeamVisibilityType `json:"visibility,omitempty"`
    26  	// PartsToClone undocumented
    27  	PartsToClone *ClonableTeamParts `json:"partsToClone,omitempty"`
    28  }
    29  
    30  // TeamArchiveRequestParameter undocumented
    31  type TeamArchiveRequestParameter struct {
    32  	// ShouldSetSpoSiteReadOnlyForMembers undocumented
    33  	ShouldSetSpoSiteReadOnlyForMembers *bool `json:"shouldSetSpoSiteReadOnlyForMembers,omitempty"`
    34  }
    35  
    36  // TeamUnarchiveRequestParameter undocumented
    37  type TeamUnarchiveRequestParameter struct {
    38  }
    39  
    40  // Channels returns request builder for Channel collection
    41  func (b *TeamRequestBuilder) Channels() *TeamChannelsCollectionRequestBuilder {
    42  	bb := &TeamChannelsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
    43  	bb.baseURL += "/channels"
    44  	return bb
    45  }
    46  
    47  // TeamChannelsCollectionRequestBuilder is request builder for Channel collection
    48  type TeamChannelsCollectionRequestBuilder struct{ BaseRequestBuilder }
    49  
    50  // Request returns request for Channel collection
    51  func (b *TeamChannelsCollectionRequestBuilder) Request() *TeamChannelsCollectionRequest {
    52  	return &TeamChannelsCollectionRequest{
    53  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
    54  	}
    55  }
    56  
    57  // ID returns request builder for Channel item
    58  func (b *TeamChannelsCollectionRequestBuilder) ID(id string) *ChannelRequestBuilder {
    59  	bb := &ChannelRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
    60  	bb.baseURL += "/" + id
    61  	return bb
    62  }
    63  
    64  // TeamChannelsCollectionRequest is request for Channel collection
    65  type TeamChannelsCollectionRequest struct{ BaseRequest }
    66  
    67  // Paging perfoms paging operation for Channel collection
    68  func (r *TeamChannelsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]Channel, error) {
    69  	req, err := r.NewJSONRequest(method, path, obj)
    70  	if err != nil {
    71  		return nil, err
    72  	}
    73  	if ctx != nil {
    74  		req = req.WithContext(ctx)
    75  	}
    76  	res, err := r.client.Do(req)
    77  	if err != nil {
    78  		return nil, err
    79  	}
    80  	var values []Channel
    81  	for {
    82  		if res.StatusCode != http.StatusOK {
    83  			b, _ := ioutil.ReadAll(res.Body)
    84  			res.Body.Close()
    85  			errRes := &ErrorResponse{Response: res}
    86  			err := jsonx.Unmarshal(b, errRes)
    87  			if err != nil {
    88  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
    89  			}
    90  			return nil, errRes
    91  		}
    92  		var (
    93  			paging Paging
    94  			value  []Channel
    95  		)
    96  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
    97  		res.Body.Close()
    98  		if err != nil {
    99  			return nil, err
   100  		}
   101  		err = jsonx.Unmarshal(paging.Value, &value)
   102  		if err != nil {
   103  			return nil, err
   104  		}
   105  		values = append(values, value...)
   106  		if n >= 0 {
   107  			n--
   108  		}
   109  		if n == 0 || len(paging.NextLink) == 0 {
   110  			return values, nil
   111  		}
   112  		req, err = http.NewRequest("GET", paging.NextLink, nil)
   113  		if ctx != nil {
   114  			req = req.WithContext(ctx)
   115  		}
   116  		res, err = r.client.Do(req)
   117  		if err != nil {
   118  			return nil, err
   119  		}
   120  	}
   121  }
   122  
   123  // GetN performs GET request for Channel collection, max N pages
   124  func (r *TeamChannelsCollectionRequest) GetN(ctx context.Context, n int) ([]Channel, error) {
   125  	var query string
   126  	if r.query != nil {
   127  		query = "?" + r.query.Encode()
   128  	}
   129  	return r.Paging(ctx, "GET", query, nil, n)
   130  }
   131  
   132  // Get performs GET request for Channel collection
   133  func (r *TeamChannelsCollectionRequest) Get(ctx context.Context) ([]Channel, error) {
   134  	return r.GetN(ctx, 0)
   135  }
   136  
   137  // Add performs POST request for Channel collection
   138  func (r *TeamChannelsCollectionRequest) Add(ctx context.Context, reqObj *Channel) (resObj *Channel, err error) {
   139  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
   140  	return
   141  }
   142  
   143  // InstalledApps returns request builder for TeamsAppInstallation collection
   144  func (b *TeamRequestBuilder) InstalledApps() *TeamInstalledAppsCollectionRequestBuilder {
   145  	bb := &TeamInstalledAppsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   146  	bb.baseURL += "/installedApps"
   147  	return bb
   148  }
   149  
   150  // TeamInstalledAppsCollectionRequestBuilder is request builder for TeamsAppInstallation collection
   151  type TeamInstalledAppsCollectionRequestBuilder struct{ BaseRequestBuilder }
   152  
   153  // Request returns request for TeamsAppInstallation collection
   154  func (b *TeamInstalledAppsCollectionRequestBuilder) Request() *TeamInstalledAppsCollectionRequest {
   155  	return &TeamInstalledAppsCollectionRequest{
   156  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
   157  	}
   158  }
   159  
   160  // ID returns request builder for TeamsAppInstallation item
   161  func (b *TeamInstalledAppsCollectionRequestBuilder) ID(id string) *TeamsAppInstallationRequestBuilder {
   162  	bb := &TeamsAppInstallationRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   163  	bb.baseURL += "/" + id
   164  	return bb
   165  }
   166  
   167  // TeamInstalledAppsCollectionRequest is request for TeamsAppInstallation collection
   168  type TeamInstalledAppsCollectionRequest struct{ BaseRequest }
   169  
   170  // Paging perfoms paging operation for TeamsAppInstallation collection
   171  func (r *TeamInstalledAppsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]TeamsAppInstallation, error) {
   172  	req, err := r.NewJSONRequest(method, path, obj)
   173  	if err != nil {
   174  		return nil, err
   175  	}
   176  	if ctx != nil {
   177  		req = req.WithContext(ctx)
   178  	}
   179  	res, err := r.client.Do(req)
   180  	if err != nil {
   181  		return nil, err
   182  	}
   183  	var values []TeamsAppInstallation
   184  	for {
   185  		if res.StatusCode != http.StatusOK {
   186  			b, _ := ioutil.ReadAll(res.Body)
   187  			res.Body.Close()
   188  			errRes := &ErrorResponse{Response: res}
   189  			err := jsonx.Unmarshal(b, errRes)
   190  			if err != nil {
   191  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
   192  			}
   193  			return nil, errRes
   194  		}
   195  		var (
   196  			paging Paging
   197  			value  []TeamsAppInstallation
   198  		)
   199  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
   200  		res.Body.Close()
   201  		if err != nil {
   202  			return nil, err
   203  		}
   204  		err = jsonx.Unmarshal(paging.Value, &value)
   205  		if err != nil {
   206  			return nil, err
   207  		}
   208  		values = append(values, value...)
   209  		if n >= 0 {
   210  			n--
   211  		}
   212  		if n == 0 || len(paging.NextLink) == 0 {
   213  			return values, nil
   214  		}
   215  		req, err = http.NewRequest("GET", paging.NextLink, nil)
   216  		if ctx != nil {
   217  			req = req.WithContext(ctx)
   218  		}
   219  		res, err = r.client.Do(req)
   220  		if err != nil {
   221  			return nil, err
   222  		}
   223  	}
   224  }
   225  
   226  // GetN performs GET request for TeamsAppInstallation collection, max N pages
   227  func (r *TeamInstalledAppsCollectionRequest) GetN(ctx context.Context, n int) ([]TeamsAppInstallation, error) {
   228  	var query string
   229  	if r.query != nil {
   230  		query = "?" + r.query.Encode()
   231  	}
   232  	return r.Paging(ctx, "GET", query, nil, n)
   233  }
   234  
   235  // Get performs GET request for TeamsAppInstallation collection
   236  func (r *TeamInstalledAppsCollectionRequest) Get(ctx context.Context) ([]TeamsAppInstallation, error) {
   237  	return r.GetN(ctx, 0)
   238  }
   239  
   240  // Add performs POST request for TeamsAppInstallation collection
   241  func (r *TeamInstalledAppsCollectionRequest) Add(ctx context.Context, reqObj *TeamsAppInstallation) (resObj *TeamsAppInstallation, err error) {
   242  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
   243  	return
   244  }
   245  
   246  // Operations returns request builder for TeamsAsyncOperation collection
   247  func (b *TeamRequestBuilder) Operations() *TeamOperationsCollectionRequestBuilder {
   248  	bb := &TeamOperationsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   249  	bb.baseURL += "/operations"
   250  	return bb
   251  }
   252  
   253  // TeamOperationsCollectionRequestBuilder is request builder for TeamsAsyncOperation collection
   254  type TeamOperationsCollectionRequestBuilder struct{ BaseRequestBuilder }
   255  
   256  // Request returns request for TeamsAsyncOperation collection
   257  func (b *TeamOperationsCollectionRequestBuilder) Request() *TeamOperationsCollectionRequest {
   258  	return &TeamOperationsCollectionRequest{
   259  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
   260  	}
   261  }
   262  
   263  // ID returns request builder for TeamsAsyncOperation item
   264  func (b *TeamOperationsCollectionRequestBuilder) ID(id string) *TeamsAsyncOperationRequestBuilder {
   265  	bb := &TeamsAsyncOperationRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   266  	bb.baseURL += "/" + id
   267  	return bb
   268  }
   269  
   270  // TeamOperationsCollectionRequest is request for TeamsAsyncOperation collection
   271  type TeamOperationsCollectionRequest struct{ BaseRequest }
   272  
   273  // Paging perfoms paging operation for TeamsAsyncOperation collection
   274  func (r *TeamOperationsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]TeamsAsyncOperation, error) {
   275  	req, err := r.NewJSONRequest(method, path, obj)
   276  	if err != nil {
   277  		return nil, err
   278  	}
   279  	if ctx != nil {
   280  		req = req.WithContext(ctx)
   281  	}
   282  	res, err := r.client.Do(req)
   283  	if err != nil {
   284  		return nil, err
   285  	}
   286  	var values []TeamsAsyncOperation
   287  	for {
   288  		if res.StatusCode != http.StatusOK {
   289  			b, _ := ioutil.ReadAll(res.Body)
   290  			res.Body.Close()
   291  			errRes := &ErrorResponse{Response: res}
   292  			err := jsonx.Unmarshal(b, errRes)
   293  			if err != nil {
   294  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
   295  			}
   296  			return nil, errRes
   297  		}
   298  		var (
   299  			paging Paging
   300  			value  []TeamsAsyncOperation
   301  		)
   302  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
   303  		res.Body.Close()
   304  		if err != nil {
   305  			return nil, err
   306  		}
   307  		err = jsonx.Unmarshal(paging.Value, &value)
   308  		if err != nil {
   309  			return nil, err
   310  		}
   311  		values = append(values, value...)
   312  		if n >= 0 {
   313  			n--
   314  		}
   315  		if n == 0 || len(paging.NextLink) == 0 {
   316  			return values, nil
   317  		}
   318  		req, err = http.NewRequest("GET", paging.NextLink, nil)
   319  		if ctx != nil {
   320  			req = req.WithContext(ctx)
   321  		}
   322  		res, err = r.client.Do(req)
   323  		if err != nil {
   324  			return nil, err
   325  		}
   326  	}
   327  }
   328  
   329  // GetN performs GET request for TeamsAsyncOperation collection, max N pages
   330  func (r *TeamOperationsCollectionRequest) GetN(ctx context.Context, n int) ([]TeamsAsyncOperation, error) {
   331  	var query string
   332  	if r.query != nil {
   333  		query = "?" + r.query.Encode()
   334  	}
   335  	return r.Paging(ctx, "GET", query, nil, n)
   336  }
   337  
   338  // Get performs GET request for TeamsAsyncOperation collection
   339  func (r *TeamOperationsCollectionRequest) Get(ctx context.Context) ([]TeamsAsyncOperation, error) {
   340  	return r.GetN(ctx, 0)
   341  }
   342  
   343  // Add performs POST request for TeamsAsyncOperation collection
   344  func (r *TeamOperationsCollectionRequest) Add(ctx context.Context, reqObj *TeamsAsyncOperation) (resObj *TeamsAsyncOperation, err error) {
   345  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
   346  	return
   347  }