2727from openedx_authz .rest_api .v1 .permissions import HasLibraryPermission
2828from openedx_authz .rest_api .v1 .serializers import (
2929 AddUsersToRoleWithScopeSerializer ,
30+ ListRolesWithNamespaceSerializer ,
3031 ListRolesWithScopeResponseSerializer ,
31- ListRolesWithScopeSerializer ,
3232 ListUsersInRoleWithScopeSerializer ,
3333 PermissionValidationResponseSerializer ,
3434 PermissionValidationSerializer ,
@@ -300,17 +300,17 @@ def delete(self, request: HttpRequest) -> Response:
300300
301301@view_auth_classes ()
302302class RoleListView (APIView ):
303- """API view for retrieving role definitions and their associated permissions.
303+ """API view for retrieving role definitions and their associated permissions within a specific namespace .
304304
305305 This view provides read-only access to role definitions within a specific
306- authorization scope . It returns detailed information about each role including
306+ authorization namespace . It returns detailed information about each role including
307307 the permissions granted and the number of users assigned to each role.
308308
309309 **Endpoints**
310- GET: Retrieve all roles and their permissions for a specific scope
310+ GET: Retrieve all roles and their permissions for a specific namespace
311311
312312 **Query Parameters**
313- - scope (Required): The authorization scope to query roles for (e.g., 'lib^* ')
313+ - namespace (Required): The namespace to query roles for (e.g., 'lib')
314314 - page (Optional): Page number for pagination
315315 - page_size (Optional): Number of items per page
316316
@@ -324,7 +324,7 @@ class RoleListView(APIView):
324324 Requires authenticated user.
325325
326326 **Example Request**
327- GET /api/authz/v1/roles/?scope =lib^* &page=1&page_size=10
327+ GET /api/authz/v1/roles/?namespace =lib&page=1&page_size=10
328328
329329 **Example Response**
330330 {
@@ -350,7 +350,7 @@ class RoleListView(APIView):
350350
351351 @apidocs .schema (
352352 parameters = [
353- apidocs .query_parameter ("scope " , str , description = "The scope to query roles for" ),
353+ apidocs .query_parameter ("namespace " , str , description = "The namespace to query roles for" ),
354354 apidocs .query_parameter ("page" , int , description = "Page number for pagination" ),
355355 apidocs .query_parameter ("page_size" , int , description = "Number of items per page" ),
356356 ],
@@ -361,13 +361,11 @@ class RoleListView(APIView):
361361 },
362362 )
363363 def get (self , request : HttpRequest ) -> Response :
364- """Retrieve all roles and their permissions for a specific scope ."""
365- serializer = ListRolesWithScopeSerializer (data = request .query_params )
364+ """Retrieve all roles and their permissions for a specific namespace ."""
365+ serializer = ListRolesWithNamespaceSerializer (data = request .query_params )
366366 serializer .is_valid (raise_exception = True )
367367
368- scope = api .ContentLibraryData (external_key = serializer .validated_data ["scope" ])
369- roles = api .get_role_definitions_in_scope (scope )
370-
368+ roles = api .get_role_definitions_in_scope (serializer .validated_data ["namespace" ])
371369 response_data = []
372370 for role in roles :
373371 users = api .get_users_for_role (role .external_key )
0 commit comments