MCPcopy Index your code
hub / github.com/plexdrive/plexdrive / Remove

Method Remove

drive/drive.go:337–366  ·  view source on GitHub ↗

Remove removes file from Google Drive

(object *APIObject, parent string)

Source from the content-addressed store, hash-verified

335
336// Remove removes file from Google Drive
337func (d *Client) Remove(object *APIObject, parent string) error {
338 client, err := d.getClient()
339 if nil != err {
340 Log.Debugf("%v", err)
341 return fmt.Errorf("Could not get Google Drive client")
342 }
343
344 if err := d.cache.DeleteObject(object.ObjectID); nil != err {
345 Log.Debugf("%v", err)
346 return fmt.Errorf("Could not delete object %v (%v) from cache", object.ObjectID, object.Name)
347 }
348
349 go func() {
350 if object.CanTrash {
351 if _, err := client.Files.Update(object.ObjectID, &gdrive.File{Trashed: true}).SupportsAllDrives(true).Do(); nil != err {
352 Log.Debugf("%v", err)
353 Log.Warningf("Could not delete object %v (%v) from API", object.ObjectID, object.Name)
354 d.cache.UpdateObject(object)
355 }
356 } else {
357 if _, err := client.Files.Update(object.ObjectID, nil).RemoveParents(parent).SupportsAllDrives(true).Do(); nil != err {
358 Log.Debugf("%v", err)
359 Log.Warningf("Could not unsubscribe object %v (%v) from API", object.ObjectID, object.Name)
360 d.cache.UpdateObject(object)
361 }
362 }
363 }()
364
365 return nil
366}
367
368// Mkdir creates a new directory in Google Drive
369func (d *Client) Mkdir(parent string, Name string) (*APIObject, error) {

Callers

nothing calls this directly

Calls 3

getClientMethod · 0.95
DeleteObjectMethod · 0.80
UpdateObjectMethod · 0.80

Tested by

no test coverage detected