@@ -50,7 +50,7 @@ export default class PermsCommand extends SolidCommand {
50
50
return ;
51
51
}
52
52
} catch ( e ) {
53
- if ( options . verbose ) writeErrorString ( 'Unable to list permissions for Universal Access ' , e , options )
53
+ if ( options . verbose ) writeErrorString ( 'Unable to list permissions for ACP ' , e , options )
54
54
}
55
55
if ( this . mayExit ) process . exit ( 0 )
56
56
} )
@@ -88,13 +88,8 @@ export default class PermsCommand extends SolidCommand {
88
88
let id = splitPerm [ 0 ]
89
89
const permissionOptions = splitPerm [ 1 ] . split ( '' )
90
90
let type ;
91
- const acl = options . acl
92
91
93
92
if ( options . group ) {
94
- if ( ! acl ) {
95
- writeErrorString ( 'Cannot set group permissions outside of --acl mode.' , options ) ;
96
- process . exit ( 0 )
97
- }
98
93
type = 'group'
99
94
} else if ( id === 'p' ) {
100
95
type = 'public'
@@ -111,23 +106,20 @@ export default class PermsCommand extends SolidCommand {
111
106
const append = permissionOptions . indexOf ( 'a' ) !== - 1
112
107
const control = permissionOptions . indexOf ( 'c' ) !== - 1
113
108
const def = options . default
114
- if ( options . default && ! options . acl ) {
115
- writeErrorString ( 'Cannot set default permissions outside of --acl mode.' , options ) ;
116
- process . exit ( 0 )
117
- }
118
- return ( { type, id, read, write, append, control, default : def , acl } as IPermissionOperation )
109
+ return ( { type, id, read, write, append, control, default : def } as IPermissionOperation )
119
110
} )
120
- try {
121
- for ( let permission of parsedPermissions ) {
122
- if ( permission . acl ) {
123
- await acl_perms . changePermissions ( url , parsedPermissions , options )
124
- } else {
125
- await setPermission ( url , parsedPermissions , options )
126
- }
127
-
111
+ for ( let permission of parsedPermissions ) {
112
+ try {
113
+ await acl_perms . changePermissions ( url , [ permission ] , options )
114
+ } catch ( e ) {
115
+ if ( options . verbose ) writeErrorString ( `Could not set permissions for ${ permission . id } using WAC` , e , options )
116
+ }
117
+ try {
118
+ if ( options . group || options . default ) throw new Error ( "Cannot set WAC-specific options such as group and default for non-WAC environments " )
119
+ await setPermission ( url , [ permission ] , options )
120
+ } catch ( e ) {
121
+ if ( options . verbose ) writeErrorString ( `Could not set permissions for ${ permission . id } using ACP` , e , options )
128
122
}
129
- } catch ( e ) {
130
- if ( options . verbose ) writeErrorString ( `Could not update permissions for resource at ${ url } ` , e , options )
131
123
}
132
124
}
133
125
catch ( e ) {
0 commit comments