feat(oo): dav rm — удаление папок/файлов Documents (#30) #31
@@ -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",
|
||||||
|
|||||||
Reference in New Issue
Block a user