feat(oo): dav rm — удаление папок/файлов Documents (#30) #31

Merged
eSlider merged 1 commits from feat/dav-rm#30 into main 2026-09-15 09:44:03 +01:00
Showing only changes of commit e49693ad2c - Show all commits
+27
View File
@@ -25,6 +25,7 @@ func davCmd() *cobra.Command {
cmd.AddCommand(davMoveCmd()) cmd.AddCommand(davMoveCmd())
cmd.AddCommand(davCopyCmd()) cmd.AddCommand(davCopyCmd())
cmd.AddCommand(davMkdirCmd()) cmd.AddCommand(davMkdirCmd())
cmd.AddCommand(davRemoveCmd())
cmd.AddCommand(davRenameFileCmd()) cmd.AddCommand(davRenameFileCmd())
cmd.AddCommand(davRenameFolderCmd()) cmd.AddCommand(davRenameFolderCmd())
cmd.AddCommand(davDownloadCmd()) cmd.AddCommand(davDownloadCmd())
@@ -184,6 +185,32 @@ func davMkdirCmd() *cobra.Command {
} }
} }
func davRemoveCmd() *cobra.Command {
var folderIDs []string
cmd := &cobra.Command{
Use: "rm [FILE_ID...]",
Aliases: []string{"delete"},
Short: "Permanently delete file(s) and/or folder(s) from Documents",
Args: cobra.ArbitraryArgs,
RunE: func(cmd *cobra.Command, args []string) error {
if len(args) == 0 && len(folderIDs) == 0 {
return fmt.Errorf("dav rm: give at least one FILE_ID or --folders")
}
c, err := newOO(cmd)
if err != nil {
return err
}
if err := c.DeleteDavItems(cmd.Context(), folderIDs, args); err != nil {
return err
}
printObject(map[string]any{"deleted_files": args, "deleted_folders": folderIDs})
return nil
},
}
cmd.Flags().StringSliceVar(&folderIDs, "folders", nil, "folder ids to delete")
return cmd
}
func davRenameFileCmd() *cobra.Command { func davRenameFileCmd() *cobra.Command {
return &cobra.Command{ return &cobra.Command{
Use: "rename-file FILE_ID NEW_TITLE", Use: "rename-file FILE_ID NEW_TITLE",