github.com/yaegashi/msgraph.go@v0.1.4/beta/RequestCalendar.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  // CalendarRequestBuilder is request builder for Calendar
    15  type CalendarRequestBuilder struct{ BaseRequestBuilder }
    16  
    17  // Request returns CalendarRequest
    18  func (b *CalendarRequestBuilder) Request() *CalendarRequest {
    19  	return &CalendarRequest{
    20  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
    21  	}
    22  }
    23  
    24  // CalendarRequest is request for Calendar
    25  type CalendarRequest struct{ BaseRequest }
    26  
    27  // Get performs GET request for Calendar
    28  func (r *CalendarRequest) Get(ctx context.Context) (resObj *Calendar, err error) {
    29  	var query string
    30  	if r.query != nil {
    31  		query = "?" + r.query.Encode()
    32  	}
    33  	err = r.JSONRequest(ctx, "GET", query, nil, &resObj)
    34  	return
    35  }
    36  
    37  // Update performs PATCH request for Calendar
    38  func (r *CalendarRequest) Update(ctx context.Context, reqObj *Calendar) error {
    39  	return r.JSONRequest(ctx, "PATCH", "", reqObj, nil)
    40  }
    41  
    42  // Delete performs DELETE request for Calendar
    43  func (r *CalendarRequest) Delete(ctx context.Context) error {
    44  	return r.JSONRequest(ctx, "DELETE", "", nil, nil)
    45  }
    46  
    47  // CalendarGroupRequestBuilder is request builder for CalendarGroup
    48  type CalendarGroupRequestBuilder struct{ BaseRequestBuilder }
    49  
    50  // Request returns CalendarGroupRequest
    51  func (b *CalendarGroupRequestBuilder) Request() *CalendarGroupRequest {
    52  	return &CalendarGroupRequest{
    53  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
    54  	}
    55  }
    56  
    57  // CalendarGroupRequest is request for CalendarGroup
    58  type CalendarGroupRequest struct{ BaseRequest }
    59  
    60  // Get performs GET request for CalendarGroup
    61  func (r *CalendarGroupRequest) Get(ctx context.Context) (resObj *CalendarGroup, err error) {
    62  	var query string
    63  	if r.query != nil {
    64  		query = "?" + r.query.Encode()
    65  	}
    66  	err = r.JSONRequest(ctx, "GET", query, nil, &resObj)
    67  	return
    68  }
    69  
    70  // Update performs PATCH request for CalendarGroup
    71  func (r *CalendarGroupRequest) Update(ctx context.Context, reqObj *CalendarGroup) error {
    72  	return r.JSONRequest(ctx, "PATCH", "", reqObj, nil)
    73  }
    74  
    75  // Delete performs DELETE request for CalendarGroup
    76  func (r *CalendarGroupRequest) Delete(ctx context.Context) error {
    77  	return r.JSONRequest(ctx, "DELETE", "", nil, nil)
    78  }
    79  
    80  // CalendarPermissionRequestBuilder is request builder for CalendarPermission
    81  type CalendarPermissionRequestBuilder struct{ BaseRequestBuilder }
    82  
    83  // Request returns CalendarPermissionRequest
    84  func (b *CalendarPermissionRequestBuilder) Request() *CalendarPermissionRequest {
    85  	return &CalendarPermissionRequest{
    86  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
    87  	}
    88  }
    89  
    90  // CalendarPermissionRequest is request for CalendarPermission
    91  type CalendarPermissionRequest struct{ BaseRequest }
    92  
    93  // Get performs GET request for CalendarPermission
    94  func (r *CalendarPermissionRequest) Get(ctx context.Context) (resObj *CalendarPermission, err error) {
    95  	var query string
    96  	if r.query != nil {
    97  		query = "?" + r.query.Encode()
    98  	}
    99  	err = r.JSONRequest(ctx, "GET", query, nil, &resObj)
   100  	return
   101  }
   102  
   103  // Update performs PATCH request for CalendarPermission
   104  func (r *CalendarPermissionRequest) Update(ctx context.Context, reqObj *CalendarPermission) error {
   105  	return r.JSONRequest(ctx, "PATCH", "", reqObj, nil)
   106  }
   107  
   108  // Delete performs DELETE request for CalendarPermission
   109  func (r *CalendarPermissionRequest) Delete(ctx context.Context) error {
   110  	return r.JSONRequest(ctx, "DELETE", "", nil, nil)
   111  }
   112  
   113  // CalendarSharingMessageRequestBuilder is request builder for CalendarSharingMessage
   114  type CalendarSharingMessageRequestBuilder struct{ BaseRequestBuilder }
   115  
   116  // Request returns CalendarSharingMessageRequest
   117  func (b *CalendarSharingMessageRequestBuilder) Request() *CalendarSharingMessageRequest {
   118  	return &CalendarSharingMessageRequest{
   119  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
   120  	}
   121  }
   122  
   123  // CalendarSharingMessageRequest is request for CalendarSharingMessage
   124  type CalendarSharingMessageRequest struct{ BaseRequest }
   125  
   126  // Get performs GET request for CalendarSharingMessage
   127  func (r *CalendarSharingMessageRequest) Get(ctx context.Context) (resObj *CalendarSharingMessage, err error) {
   128  	var query string
   129  	if r.query != nil {
   130  		query = "?" + r.query.Encode()
   131  	}
   132  	err = r.JSONRequest(ctx, "GET", query, nil, &resObj)
   133  	return
   134  }
   135  
   136  // Update performs PATCH request for CalendarSharingMessage
   137  func (r *CalendarSharingMessageRequest) Update(ctx context.Context, reqObj *CalendarSharingMessage) error {
   138  	return r.JSONRequest(ctx, "PATCH", "", reqObj, nil)
   139  }
   140  
   141  // Delete performs DELETE request for CalendarSharingMessage
   142  func (r *CalendarSharingMessageRequest) Delete(ctx context.Context) error {
   143  	return r.JSONRequest(ctx, "DELETE", "", nil, nil)
   144  }
   145  
   146  //
   147  type CalendarGetScheduleRequestBuilder struct{ BaseRequestBuilder }
   148  
   149  // GetSchedule action undocumented
   150  func (b *CalendarRequestBuilder) GetSchedule(reqObj *CalendarGetScheduleRequestParameter) *CalendarGetScheduleRequestBuilder {
   151  	bb := &CalendarGetScheduleRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   152  	bb.BaseRequestBuilder.baseURL += "/getSchedule"
   153  	bb.BaseRequestBuilder.requestObject = reqObj
   154  	return bb
   155  }
   156  
   157  //
   158  type CalendarGetScheduleRequest struct{ BaseRequest }
   159  
   160  //
   161  func (b *CalendarGetScheduleRequestBuilder) Request() *CalendarGetScheduleRequest {
   162  	return &CalendarGetScheduleRequest{
   163  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client, requestObject: b.requestObject},
   164  	}
   165  }
   166  
   167  //
   168  func (r *CalendarGetScheduleRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]ScheduleInformation, error) {
   169  	req, err := r.NewJSONRequest(method, path, obj)
   170  	if err != nil {
   171  		return nil, err
   172  	}
   173  	if ctx != nil {
   174  		req = req.WithContext(ctx)
   175  	}
   176  	res, err := r.client.Do(req)
   177  	if err != nil {
   178  		return nil, err
   179  	}
   180  	var values []ScheduleInformation
   181  	for {
   182  		if res.StatusCode != http.StatusOK {
   183  			b, _ := ioutil.ReadAll(res.Body)
   184  			res.Body.Close()
   185  			errRes := &ErrorResponse{Response: res}
   186  			err := jsonx.Unmarshal(b, errRes)
   187  			if err != nil {
   188  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
   189  			}
   190  			return nil, errRes
   191  		}
   192  		var (
   193  			paging Paging
   194  			value  []ScheduleInformation
   195  		)
   196  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
   197  		res.Body.Close()
   198  		if err != nil {
   199  			return nil, err
   200  		}
   201  		err = jsonx.Unmarshal(paging.Value, &value)
   202  		if err != nil {
   203  			return nil, err
   204  		}
   205  		values = append(values, value...)
   206  		if n >= 0 {
   207  			n--
   208  		}
   209  		if n == 0 || len(paging.NextLink) == 0 {
   210  			return values, nil
   211  		}
   212  		req, err = http.NewRequest("GET", paging.NextLink, nil)
   213  		if ctx != nil {
   214  			req = req.WithContext(ctx)
   215  		}
   216  		res, err = r.client.Do(req)
   217  		if err != nil {
   218  			return nil, err
   219  		}
   220  	}
   221  }
   222  
   223  //
   224  func (r *CalendarGetScheduleRequest) PostN(ctx context.Context, n int) ([]ScheduleInformation, error) {
   225  	return r.Paging(ctx, "POST", "", r.requestObject, n)
   226  }
   227  
   228  //
   229  func (r *CalendarGetScheduleRequest) Post(ctx context.Context) ([]ScheduleInformation, error) {
   230  	return r.Paging(ctx, "POST", "", r.requestObject, 0)
   231  }
   232  
   233  //
   234  type CalendarSharingMessageAcceptRequestBuilder struct{ BaseRequestBuilder }
   235  
   236  // Accept action undocumented
   237  func (b *CalendarSharingMessageRequestBuilder) Accept(reqObj *CalendarSharingMessageAcceptRequestParameter) *CalendarSharingMessageAcceptRequestBuilder {
   238  	bb := &CalendarSharingMessageAcceptRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   239  	bb.BaseRequestBuilder.baseURL += "/accept"
   240  	bb.BaseRequestBuilder.requestObject = reqObj
   241  	return bb
   242  }
   243  
   244  //
   245  type CalendarSharingMessageAcceptRequest struct{ BaseRequest }
   246  
   247  //
   248  func (b *CalendarSharingMessageAcceptRequestBuilder) Request() *CalendarSharingMessageAcceptRequest {
   249  	return &CalendarSharingMessageAcceptRequest{
   250  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client, requestObject: b.requestObject},
   251  	}
   252  }
   253  
   254  //
   255  func (r *CalendarSharingMessageAcceptRequest) Post(ctx context.Context) (resObj *Calendar, err error) {
   256  	err = r.JSONRequest(ctx, "POST", "", r.requestObject, &resObj)
   257  	return
   258  }