File tree Expand file tree Collapse file tree 2 files changed +35
-2
lines changed Expand file tree Collapse file tree 2 files changed +35
-2
lines changed Original file line number Diff line number Diff line change @@ -106,9 +106,13 @@ const roles = (connection: ConnectionREST): Roles => {
106
106
. then ( ( ) => true )
107
107
. catch ( ( ) => false ) ,
108
108
addPermissions : ( roleName : string , permissions : PermissionsInput ) =>
109
- connection . postEmpty ( `/authz/roles/${ roleName } /add-permissions` , { permissions } ) ,
109
+ connection . postEmpty ( `/authz/roles/${ roleName } /add-permissions` , {
110
+ permissions : Map . flattenPermissions ( permissions ) . flatMap ( Map . permissionToWeaviate ) ,
111
+ } ) ,
110
112
removePermissions : ( roleName : string , permissions : PermissionsInput ) =>
111
- connection . postEmpty ( `/authz/roles/${ roleName } /remove-permissions` , { permissions } ) ,
113
+ connection . postEmpty ( `/authz/roles/${ roleName } /remove-permissions` , {
114
+ permissions : Map . flattenPermissions ( permissions ) . flatMap ( Map . permissionToWeaviate ) ,
115
+ } ) ,
112
116
hasPermissions : ( roleName : string , permission : Permission | Permission [ ] ) =>
113
117
Promise . all (
114
118
( Array . isArray ( permission ) ? permission : [ permission ] )
Original file line number Diff line number Diff line change @@ -326,6 +326,35 @@ maybe('Integration testing of the roles namespace', () => {
326
326
} ) ;
327
327
} ) ;
328
328
329
+ it ( 'should be able to add permissions to one of the created roles' , async ( ) => {
330
+ await client . roles . addPermissions (
331
+ 'backups' ,
332
+ weaviate . permissions . backup ( { collection : 'Another-collection' , manage : true } )
333
+ ) ;
334
+ const role = await client . roles . byName ( 'backups' ) ;
335
+ expect ( role ) . toEqual ( {
336
+ name : 'backups' ,
337
+ ...emptyPermissions ,
338
+ backupsPermissions : [
339
+ { collection : 'Some-collection' , actions : [ 'manage_backups' ] } ,
340
+ { collection : 'Another-collection' , actions : [ 'manage_backups' ] } ,
341
+ ] ,
342
+ } ) ;
343
+ } ) ;
344
+
345
+ it ( 'should be able to remove permissions from one of the created roles' , async ( ) => {
346
+ await client . roles . removePermissions (
347
+ 'backups' ,
348
+ weaviate . permissions . backup ( { collection : 'Another-collection' , manage : true } )
349
+ ) ;
350
+ const role = await client . roles . byName ( 'backups' ) ;
351
+ expect ( role ) . toEqual ( {
352
+ name : 'backups' ,
353
+ ...emptyPermissions ,
354
+ backupsPermissions : [ { collection : 'Some-collection' , actions : [ 'manage_backups' ] } ] ,
355
+ } ) ;
356
+ } ) ;
357
+
329
358
it ( 'should delete one of the created roles' , async ( ) => {
330
359
await client . roles . delete ( 'backups' ) ;
331
360
await expect ( client . roles . byName ( 'backups' ) ) . rejects . toThrowError ( WeaviateUnexpectedStatusCodeError ) ;
You can’t perform that action at this time.
0 commit comments