github.com/yaegashi/msgraph.go@v0.1.4/v1.0/RequestDrive.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  // DriveRequestBuilder is request builder for Drive
    15  type DriveRequestBuilder struct{ BaseRequestBuilder }
    16  
    17  // Request returns DriveRequest
    18  func (b *DriveRequestBuilder) Request() *DriveRequest {
    19  	return &DriveRequest{
    20  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
    21  	}
    22  }
    23  
    24  // DriveRequest is request for Drive
    25  type DriveRequest struct{ BaseRequest }
    26  
    27  // Get performs GET request for Drive
    28  func (r *DriveRequest) Get(ctx context.Context) (resObj *Drive, 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 Drive
    38  func (r *DriveRequest) Update(ctx context.Context, reqObj *Drive) error {
    39  	return r.JSONRequest(ctx, "PATCH", "", reqObj, nil)
    40  }
    41  
    42  // Delete performs DELETE request for Drive
    43  func (r *DriveRequest) Delete(ctx context.Context) error {
    44  	return r.JSONRequest(ctx, "DELETE", "", nil, nil)
    45  }
    46  
    47  // DriveItemRequestBuilder is request builder for DriveItem
    48  type DriveItemRequestBuilder struct{ BaseRequestBuilder }
    49  
    50  // Request returns DriveItemRequest
    51  func (b *DriveItemRequestBuilder) Request() *DriveItemRequest {
    52  	return &DriveItemRequest{
    53  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
    54  	}
    55  }
    56  
    57  // DriveItemRequest is request for DriveItem
    58  type DriveItemRequest struct{ BaseRequest }
    59  
    60  // Get performs GET request for DriveItem
    61  func (r *DriveItemRequest) Get(ctx context.Context) (resObj *DriveItem, 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 DriveItem
    71  func (r *DriveItemRequest) Update(ctx context.Context, reqObj *DriveItem) error {
    72  	return r.JSONRequest(ctx, "PATCH", "", reqObj, nil)
    73  }
    74  
    75  // Delete performs DELETE request for DriveItem
    76  func (r *DriveItemRequest) Delete(ctx context.Context) error {
    77  	return r.JSONRequest(ctx, "DELETE", "", nil, nil)
    78  }
    79  
    80  // DriveItemVersionRequestBuilder is request builder for DriveItemVersion
    81  type DriveItemVersionRequestBuilder struct{ BaseRequestBuilder }
    82  
    83  // Request returns DriveItemVersionRequest
    84  func (b *DriveItemVersionRequestBuilder) Request() *DriveItemVersionRequest {
    85  	return &DriveItemVersionRequest{
    86  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
    87  	}
    88  }
    89  
    90  // DriveItemVersionRequest is request for DriveItemVersion
    91  type DriveItemVersionRequest struct{ BaseRequest }
    92  
    93  // Get performs GET request for DriveItemVersion
    94  func (r *DriveItemVersionRequest) Get(ctx context.Context) (resObj *DriveItemVersion, 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 DriveItemVersion
   104  func (r *DriveItemVersionRequest) Update(ctx context.Context, reqObj *DriveItemVersion) error {
   105  	return r.JSONRequest(ctx, "PATCH", "", reqObj, nil)
   106  }
   107  
   108  // Delete performs DELETE request for DriveItemVersion
   109  func (r *DriveItemVersionRequest) Delete(ctx context.Context) error {
   110  	return r.JSONRequest(ctx, "DELETE", "", nil, nil)
   111  }
   112  
   113  //
   114  type DriveItemCheckinRequestBuilder struct{ BaseRequestBuilder }
   115  
   116  // Checkin action undocumented
   117  func (b *DriveItemRequestBuilder) Checkin(reqObj *DriveItemCheckinRequestParameter) *DriveItemCheckinRequestBuilder {
   118  	bb := &DriveItemCheckinRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   119  	bb.BaseRequestBuilder.baseURL += "/checkin"
   120  	bb.BaseRequestBuilder.requestObject = reqObj
   121  	return bb
   122  }
   123  
   124  //
   125  type DriveItemCheckinRequest struct{ BaseRequest }
   126  
   127  //
   128  func (b *DriveItemCheckinRequestBuilder) Request() *DriveItemCheckinRequest {
   129  	return &DriveItemCheckinRequest{
   130  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client, requestObject: b.requestObject},
   131  	}
   132  }
   133  
   134  //
   135  func (r *DriveItemCheckinRequest) Post(ctx context.Context) error {
   136  	return r.JSONRequest(ctx, "POST", "", r.requestObject, nil)
   137  }
   138  
   139  //
   140  type DriveItemCheckoutRequestBuilder struct{ BaseRequestBuilder }
   141  
   142  // Checkout action undocumented
   143  func (b *DriveItemRequestBuilder) Checkout(reqObj *DriveItemCheckoutRequestParameter) *DriveItemCheckoutRequestBuilder {
   144  	bb := &DriveItemCheckoutRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   145  	bb.BaseRequestBuilder.baseURL += "/checkout"
   146  	bb.BaseRequestBuilder.requestObject = reqObj
   147  	return bb
   148  }
   149  
   150  //
   151  type DriveItemCheckoutRequest struct{ BaseRequest }
   152  
   153  //
   154  func (b *DriveItemCheckoutRequestBuilder) Request() *DriveItemCheckoutRequest {
   155  	return &DriveItemCheckoutRequest{
   156  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client, requestObject: b.requestObject},
   157  	}
   158  }
   159  
   160  //
   161  func (r *DriveItemCheckoutRequest) Post(ctx context.Context) error {
   162  	return r.JSONRequest(ctx, "POST", "", r.requestObject, nil)
   163  }
   164  
   165  //
   166  type DriveItemCopyRequestBuilder struct{ BaseRequestBuilder }
   167  
   168  // Copy action undocumented
   169  func (b *DriveItemRequestBuilder) Copy(reqObj *DriveItemCopyRequestParameter) *DriveItemCopyRequestBuilder {
   170  	bb := &DriveItemCopyRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   171  	bb.BaseRequestBuilder.baseURL += "/copy"
   172  	bb.BaseRequestBuilder.requestObject = reqObj
   173  	return bb
   174  }
   175  
   176  //
   177  type DriveItemCopyRequest struct{ BaseRequest }
   178  
   179  //
   180  func (b *DriveItemCopyRequestBuilder) Request() *DriveItemCopyRequest {
   181  	return &DriveItemCopyRequest{
   182  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client, requestObject: b.requestObject},
   183  	}
   184  }
   185  
   186  //
   187  func (r *DriveItemCopyRequest) Post(ctx context.Context) (resObj *DriveItem, err error) {
   188  	err = r.JSONRequest(ctx, "POST", "", r.requestObject, &resObj)
   189  	return
   190  }
   191  
   192  //
   193  type DriveItemCreateLinkRequestBuilder struct{ BaseRequestBuilder }
   194  
   195  // CreateLink action undocumented
   196  func (b *DriveItemRequestBuilder) CreateLink(reqObj *DriveItemCreateLinkRequestParameter) *DriveItemCreateLinkRequestBuilder {
   197  	bb := &DriveItemCreateLinkRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   198  	bb.BaseRequestBuilder.baseURL += "/createLink"
   199  	bb.BaseRequestBuilder.requestObject = reqObj
   200  	return bb
   201  }
   202  
   203  //
   204  type DriveItemCreateLinkRequest struct{ BaseRequest }
   205  
   206  //
   207  func (b *DriveItemCreateLinkRequestBuilder) Request() *DriveItemCreateLinkRequest {
   208  	return &DriveItemCreateLinkRequest{
   209  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client, requestObject: b.requestObject},
   210  	}
   211  }
   212  
   213  //
   214  func (r *DriveItemCreateLinkRequest) Post(ctx context.Context) (resObj *Permission, err error) {
   215  	err = r.JSONRequest(ctx, "POST", "", r.requestObject, &resObj)
   216  	return
   217  }
   218  
   219  //
   220  type DriveItemCreateUploadSessionRequestBuilder struct{ BaseRequestBuilder }
   221  
   222  // CreateUploadSession action undocumented
   223  func (b *DriveItemRequestBuilder) CreateUploadSession(reqObj *DriveItemCreateUploadSessionRequestParameter) *DriveItemCreateUploadSessionRequestBuilder {
   224  	bb := &DriveItemCreateUploadSessionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   225  	bb.BaseRequestBuilder.baseURL += "/createUploadSession"
   226  	bb.BaseRequestBuilder.requestObject = reqObj
   227  	return bb
   228  }
   229  
   230  //
   231  type DriveItemCreateUploadSessionRequest struct{ BaseRequest }
   232  
   233  //
   234  func (b *DriveItemCreateUploadSessionRequestBuilder) Request() *DriveItemCreateUploadSessionRequest {
   235  	return &DriveItemCreateUploadSessionRequest{
   236  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client, requestObject: b.requestObject},
   237  	}
   238  }
   239  
   240  //
   241  func (r *DriveItemCreateUploadSessionRequest) Post(ctx context.Context) (resObj *UploadSession, err error) {
   242  	err = r.JSONRequest(ctx, "POST", "", r.requestObject, &resObj)
   243  	return
   244  }
   245  
   246  //
   247  type DriveItemInviteRequestBuilder struct{ BaseRequestBuilder }
   248  
   249  // Invite action undocumented
   250  func (b *DriveItemRequestBuilder) Invite(reqObj *DriveItemInviteRequestParameter) *DriveItemInviteRequestBuilder {
   251  	bb := &DriveItemInviteRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   252  	bb.BaseRequestBuilder.baseURL += "/invite"
   253  	bb.BaseRequestBuilder.requestObject = reqObj
   254  	return bb
   255  }
   256  
   257  //
   258  type DriveItemInviteRequest struct{ BaseRequest }
   259  
   260  //
   261  func (b *DriveItemInviteRequestBuilder) Request() *DriveItemInviteRequest {
   262  	return &DriveItemInviteRequest{
   263  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client, requestObject: b.requestObject},
   264  	}
   265  }
   266  
   267  //
   268  func (r *DriveItemInviteRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]Permission, error) {
   269  	req, err := r.NewJSONRequest(method, path, obj)
   270  	if err != nil {
   271  		return nil, err
   272  	}
   273  	if ctx != nil {
   274  		req = req.WithContext(ctx)
   275  	}
   276  	res, err := r.client.Do(req)
   277  	if err != nil {
   278  		return nil, err
   279  	}
   280  	var values []Permission
   281  	for {
   282  		if res.StatusCode != http.StatusOK {
   283  			b, _ := ioutil.ReadAll(res.Body)
   284  			res.Body.Close()
   285  			errRes := &ErrorResponse{Response: res}
   286  			err := jsonx.Unmarshal(b, errRes)
   287  			if err != nil {
   288  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
   289  			}
   290  			return nil, errRes
   291  		}
   292  		var (
   293  			paging Paging
   294  			value  []Permission
   295  		)
   296  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
   297  		res.Body.Close()
   298  		if err != nil {
   299  			return nil, err
   300  		}
   301  		err = jsonx.Unmarshal(paging.Value, &value)
   302  		if err != nil {
   303  			return nil, err
   304  		}
   305  		values = append(values, value...)
   306  		if n >= 0 {
   307  			n--
   308  		}
   309  		if n == 0 || len(paging.NextLink) == 0 {
   310  			return values, nil
   311  		}
   312  		req, err = http.NewRequest("GET", paging.NextLink, nil)
   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  	}
   321  }
   322  
   323  //
   324  func (r *DriveItemInviteRequest) PostN(ctx context.Context, n int) ([]Permission, error) {
   325  	return r.Paging(ctx, "POST", "", r.requestObject, n)
   326  }
   327  
   328  //
   329  func (r *DriveItemInviteRequest) Post(ctx context.Context) ([]Permission, error) {
   330  	return r.Paging(ctx, "POST", "", r.requestObject, 0)
   331  }
   332  
   333  //
   334  type DriveItemPreviewRequestBuilder struct{ BaseRequestBuilder }
   335  
   336  // Preview action undocumented
   337  func (b *DriveItemRequestBuilder) Preview(reqObj *DriveItemPreviewRequestParameter) *DriveItemPreviewRequestBuilder {
   338  	bb := &DriveItemPreviewRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   339  	bb.BaseRequestBuilder.baseURL += "/preview"
   340  	bb.BaseRequestBuilder.requestObject = reqObj
   341  	return bb
   342  }
   343  
   344  //
   345  type DriveItemPreviewRequest struct{ BaseRequest }
   346  
   347  //
   348  func (b *DriveItemPreviewRequestBuilder) Request() *DriveItemPreviewRequest {
   349  	return &DriveItemPreviewRequest{
   350  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client, requestObject: b.requestObject},
   351  	}
   352  }
   353  
   354  //
   355  func (r *DriveItemPreviewRequest) Post(ctx context.Context) (resObj *ItemPreviewInfo, err error) {
   356  	err = r.JSONRequest(ctx, "POST", "", r.requestObject, &resObj)
   357  	return
   358  }
   359  
   360  //
   361  type DriveItemVersionRestoreVersionRequestBuilder struct{ BaseRequestBuilder }
   362  
   363  // RestoreVersion action undocumented
   364  func (b *DriveItemVersionRequestBuilder) RestoreVersion(reqObj *DriveItemVersionRestoreVersionRequestParameter) *DriveItemVersionRestoreVersionRequestBuilder {
   365  	bb := &DriveItemVersionRestoreVersionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   366  	bb.BaseRequestBuilder.baseURL += "/restoreVersion"
   367  	bb.BaseRequestBuilder.requestObject = reqObj
   368  	return bb
   369  }
   370  
   371  //
   372  type DriveItemVersionRestoreVersionRequest struct{ BaseRequest }
   373  
   374  //
   375  func (b *DriveItemVersionRestoreVersionRequestBuilder) Request() *DriveItemVersionRestoreVersionRequest {
   376  	return &DriveItemVersionRestoreVersionRequest{
   377  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client, requestObject: b.requestObject},
   378  	}
   379  }
   380  
   381  //
   382  func (r *DriveItemVersionRestoreVersionRequest) Post(ctx context.Context) error {
   383  	return r.JSONRequest(ctx, "POST", "", r.requestObject, nil)
   384  }