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