github.com/yaegashi/msgraph.go@v0.1.4/beta/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 DriveItemFollowRequestBuilder struct{ BaseRequestBuilder }
   248  
   249  // Follow action undocumented
   250  func (b *DriveItemRequestBuilder) Follow(reqObj *DriveItemFollowRequestParameter) *DriveItemFollowRequestBuilder {
   251  	bb := &DriveItemFollowRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   252  	bb.BaseRequestBuilder.baseURL += "/follow"
   253  	bb.BaseRequestBuilder.requestObject = reqObj
   254  	return bb
   255  }
   256  
   257  //
   258  type DriveItemFollowRequest struct{ BaseRequest }
   259  
   260  //
   261  func (b *DriveItemFollowRequestBuilder) Request() *DriveItemFollowRequest {
   262  	return &DriveItemFollowRequest{
   263  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client, requestObject: b.requestObject},
   264  	}
   265  }
   266  
   267  //
   268  func (r *DriveItemFollowRequest) Post(ctx context.Context) (resObj *DriveItem, err error) {
   269  	err = r.JSONRequest(ctx, "POST", "", r.requestObject, &resObj)
   270  	return
   271  }
   272  
   273  //
   274  type DriveItemUnfollowRequestBuilder struct{ BaseRequestBuilder }
   275  
   276  // Unfollow action undocumented
   277  func (b *DriveItemRequestBuilder) Unfollow(reqObj *DriveItemUnfollowRequestParameter) *DriveItemUnfollowRequestBuilder {
   278  	bb := &DriveItemUnfollowRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   279  	bb.BaseRequestBuilder.baseURL += "/unfollow"
   280  	bb.BaseRequestBuilder.requestObject = reqObj
   281  	return bb
   282  }
   283  
   284  //
   285  type DriveItemUnfollowRequest struct{ BaseRequest }
   286  
   287  //
   288  func (b *DriveItemUnfollowRequestBuilder) Request() *DriveItemUnfollowRequest {
   289  	return &DriveItemUnfollowRequest{
   290  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client, requestObject: b.requestObject},
   291  	}
   292  }
   293  
   294  //
   295  func (r *DriveItemUnfollowRequest) Post(ctx context.Context) error {
   296  	return r.JSONRequest(ctx, "POST", "", r.requestObject, nil)
   297  }
   298  
   299  //
   300  type DriveItemInviteRequestBuilder struct{ BaseRequestBuilder }
   301  
   302  // Invite action undocumented
   303  func (b *DriveItemRequestBuilder) Invite(reqObj *DriveItemInviteRequestParameter) *DriveItemInviteRequestBuilder {
   304  	bb := &DriveItemInviteRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   305  	bb.BaseRequestBuilder.baseURL += "/invite"
   306  	bb.BaseRequestBuilder.requestObject = reqObj
   307  	return bb
   308  }
   309  
   310  //
   311  type DriveItemInviteRequest struct{ BaseRequest }
   312  
   313  //
   314  func (b *DriveItemInviteRequestBuilder) Request() *DriveItemInviteRequest {
   315  	return &DriveItemInviteRequest{
   316  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client, requestObject: b.requestObject},
   317  	}
   318  }
   319  
   320  //
   321  func (r *DriveItemInviteRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]Permission, error) {
   322  	req, err := r.NewJSONRequest(method, path, obj)
   323  	if err != nil {
   324  		return nil, err
   325  	}
   326  	if ctx != nil {
   327  		req = req.WithContext(ctx)
   328  	}
   329  	res, err := r.client.Do(req)
   330  	if err != nil {
   331  		return nil, err
   332  	}
   333  	var values []Permission
   334  	for {
   335  		if res.StatusCode != http.StatusOK {
   336  			b, _ := ioutil.ReadAll(res.Body)
   337  			res.Body.Close()
   338  			errRes := &ErrorResponse{Response: res}
   339  			err := jsonx.Unmarshal(b, errRes)
   340  			if err != nil {
   341  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
   342  			}
   343  			return nil, errRes
   344  		}
   345  		var (
   346  			paging Paging
   347  			value  []Permission
   348  		)
   349  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
   350  		res.Body.Close()
   351  		if err != nil {
   352  			return nil, err
   353  		}
   354  		err = jsonx.Unmarshal(paging.Value, &value)
   355  		if err != nil {
   356  			return nil, err
   357  		}
   358  		values = append(values, value...)
   359  		if n >= 0 {
   360  			n--
   361  		}
   362  		if n == 0 || len(paging.NextLink) == 0 {
   363  			return values, nil
   364  		}
   365  		req, err = http.NewRequest("GET", paging.NextLink, nil)
   366  		if ctx != nil {
   367  			req = req.WithContext(ctx)
   368  		}
   369  		res, err = r.client.Do(req)
   370  		if err != nil {
   371  			return nil, err
   372  		}
   373  	}
   374  }
   375  
   376  //
   377  func (r *DriveItemInviteRequest) PostN(ctx context.Context, n int) ([]Permission, error) {
   378  	return r.Paging(ctx, "POST", "", r.requestObject, n)
   379  }
   380  
   381  //
   382  func (r *DriveItemInviteRequest) Post(ctx context.Context) ([]Permission, error) {
   383  	return r.Paging(ctx, "POST", "", r.requestObject, 0)
   384  }
   385  
   386  //
   387  type DriveItemPreviewRequestBuilder struct{ BaseRequestBuilder }
   388  
   389  // Preview action undocumented
   390  func (b *DriveItemRequestBuilder) Preview(reqObj *DriveItemPreviewRequestParameter) *DriveItemPreviewRequestBuilder {
   391  	bb := &DriveItemPreviewRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   392  	bb.BaseRequestBuilder.baseURL += "/preview"
   393  	bb.BaseRequestBuilder.requestObject = reqObj
   394  	return bb
   395  }
   396  
   397  //
   398  type DriveItemPreviewRequest struct{ BaseRequest }
   399  
   400  //
   401  func (b *DriveItemPreviewRequestBuilder) Request() *DriveItemPreviewRequest {
   402  	return &DriveItemPreviewRequest{
   403  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client, requestObject: b.requestObject},
   404  	}
   405  }
   406  
   407  //
   408  func (r *DriveItemPreviewRequest) Post(ctx context.Context) (resObj *ItemPreviewInfo, err error) {
   409  	err = r.JSONRequest(ctx, "POST", "", r.requestObject, &resObj)
   410  	return
   411  }
   412  
   413  //
   414  type DriveItemRestoreRequestBuilder struct{ BaseRequestBuilder }
   415  
   416  // Restore action undocumented
   417  func (b *DriveItemRequestBuilder) Restore(reqObj *DriveItemRestoreRequestParameter) *DriveItemRestoreRequestBuilder {
   418  	bb := &DriveItemRestoreRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   419  	bb.BaseRequestBuilder.baseURL += "/restore"
   420  	bb.BaseRequestBuilder.requestObject = reqObj
   421  	return bb
   422  }
   423  
   424  //
   425  type DriveItemRestoreRequest struct{ BaseRequest }
   426  
   427  //
   428  func (b *DriveItemRestoreRequestBuilder) Request() *DriveItemRestoreRequest {
   429  	return &DriveItemRestoreRequest{
   430  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client, requestObject: b.requestObject},
   431  	}
   432  }
   433  
   434  //
   435  func (r *DriveItemRestoreRequest) Post(ctx context.Context) (resObj *DriveItem, err error) {
   436  	err = r.JSONRequest(ctx, "POST", "", r.requestObject, &resObj)
   437  	return
   438  }
   439  
   440  //
   441  type DriveItemValidatePermissionRequestBuilder struct{ BaseRequestBuilder }
   442  
   443  // ValidatePermission action undocumented
   444  func (b *DriveItemRequestBuilder) ValidatePermission(reqObj *DriveItemValidatePermissionRequestParameter) *DriveItemValidatePermissionRequestBuilder {
   445  	bb := &DriveItemValidatePermissionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   446  	bb.BaseRequestBuilder.baseURL += "/validatePermission"
   447  	bb.BaseRequestBuilder.requestObject = reqObj
   448  	return bb
   449  }
   450  
   451  //
   452  type DriveItemValidatePermissionRequest struct{ BaseRequest }
   453  
   454  //
   455  func (b *DriveItemValidatePermissionRequestBuilder) Request() *DriveItemValidatePermissionRequest {
   456  	return &DriveItemValidatePermissionRequest{
   457  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client, requestObject: b.requestObject},
   458  	}
   459  }
   460  
   461  //
   462  func (r *DriveItemValidatePermissionRequest) Post(ctx context.Context) error {
   463  	return r.JSONRequest(ctx, "POST", "", r.requestObject, nil)
   464  }
   465  
   466  //
   467  type DriveItemVersionRestoreVersionRequestBuilder struct{ BaseRequestBuilder }
   468  
   469  // RestoreVersion action undocumented
   470  func (b *DriveItemVersionRequestBuilder) RestoreVersion(reqObj *DriveItemVersionRestoreVersionRequestParameter) *DriveItemVersionRestoreVersionRequestBuilder {
   471  	bb := &DriveItemVersionRestoreVersionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   472  	bb.BaseRequestBuilder.baseURL += "/restoreVersion"
   473  	bb.BaseRequestBuilder.requestObject = reqObj
   474  	return bb
   475  }
   476  
   477  //
   478  type DriveItemVersionRestoreVersionRequest struct{ BaseRequest }
   479  
   480  //
   481  func (b *DriveItemVersionRestoreVersionRequestBuilder) Request() *DriveItemVersionRestoreVersionRequest {
   482  	return &DriveItemVersionRestoreVersionRequest{
   483  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client, requestObject: b.requestObject},
   484  	}
   485  }
   486  
   487  //
   488  func (r *DriveItemVersionRestoreVersionRequest) Post(ctx context.Context) error {
   489  	return r.JSONRequest(ctx, "POST", "", r.requestObject, nil)
   490  }