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 }