(op request.FileBatchDelete)
| 330 | } |
| 331 | |
| 332 | func (f *FileService) BatchDelete(op request.FileBatchDelete) error { |
| 333 | fo := files.NewFileOp() |
| 334 | if op.IsDir { |
| 335 | for _, file := range op.Paths { |
| 336 | targets, err := f.collectPermanentDeleteTargets(file, true) |
| 337 | if err != nil { |
| 338 | return err |
| 339 | } |
| 340 | if err := fo.DeleteDir(file); err != nil { |
| 341 | return err |
| 342 | } |
| 343 | if err := cleanupTrashInfoByEntryPath(file); err != nil { |
| 344 | global.LOG.Warnf("cleanup trashinfo failed for %s: %v", file, err) |
| 345 | } |
| 346 | f.cleanupPermanentDeleteHistory(targets) |
| 347 | } |
| 348 | } else { |
| 349 | for _, file := range op.Paths { |
| 350 | if err := fo.DeleteFile(file); err != nil { |
| 351 | return err |
| 352 | } |
| 353 | if err := cleanupTrashInfoByEntryPath(file); err != nil { |
| 354 | global.LOG.Warnf("cleanup trashinfo failed for %s: %v", file, err) |
| 355 | } |
| 356 | f.cleanupPermanentDeleteHistory([]string{file}) |
| 357 | } |
| 358 | } |
| 359 | return nil |
| 360 | } |
| 361 | |
| 362 | func (f *FileService) ChangeMode(op request.FileCreate) error { |
| 363 | fo := files.NewFileOp() |
nothing calls this directly
no test coverage detected