@@ -57,31 +57,44 @@ export class VaunchRmdir extends VaunchCommand {
57
57
args . shift ( ) ;
58
58
}
59
59
const failedToDelete : string [ ] = [ ] ;
60
+ const notEmpty :string [ ] = [ ] ;
60
61
args . forEach ( ( toDelete ) => {
61
62
// Strip slashes from folder names, if running from autocompleted value
62
63
toDelete = toDelete . replace ( "/" , "" ) ;
63
64
if ( folders . getFolderByName ( toDelete ) ) {
65
+ // If force is set, delete no matter what. Otherwise, check the directory is empty first.
64
66
if ( force ) {
65
67
folders . remove ( toDelete ) ;
66
68
} else if ( folders . getFolderByName ( toDelete ) . files . size == 0 ) {
67
69
folders . remove ( toDelete ) ;
70
+ } else {
71
+ notEmpty . push ( toDelete ) ;
68
72
}
69
73
} else failedToDelete . push ( toDelete ) ;
70
74
} ) ;
71
75
72
- if ( failedToDelete . length == 0 ) {
73
- return this . makeResponse (
74
- ResponseType . Success ,
75
- `Deleted folder: ${ args . join ( ", " ) } `
76
- ) ;
77
- } else {
76
+ console . log ( notEmpty ) ;
77
+ if ( failedToDelete . length != 0 ) {
78
78
const plural = failedToDelete . length > 1 ? true : false ;
79
79
return this . makeResponse (
80
80
ResponseType . Error ,
81
81
`The folder${ plural ? "s" : "" } : ${ failedToDelete . join ( ", " ) } do${
82
82
plural ? "" : "es"
83
83
} not exist and ${ plural ? "were" : "was" } not deleted`
84
84
) ;
85
+ } else if ( notEmpty . length != 0 ) {
86
+ const plural = notEmpty . length > 1 ? true : false ;
87
+ return this . makeResponse (
88
+ ResponseType . Info ,
89
+ `The folder${ plural ? "s" : "" } : ${ notEmpty . join ( ", " ) } ${
90
+ plural ? "are" : "is"
91
+ } not empty and ${ plural ? "were" : "was" } not deleted`
92
+ ) ;
93
+ } else {
94
+ return this . makeResponse (
95
+ ResponseType . Success ,
96
+ `Deleted folder: ${ args . join ( ", " ) } `
97
+ ) ;
85
98
}
86
99
}
87
100
}
0 commit comments