2929from opaque_keys .edx .keys import CourseKey
3030from opaque_keys .edx .locator import BlockUsageLocator
3131from openedx_authz .api import get_scopes_for_user_and_permission
32- from openedx_authz .api .data import CourseOverviewData , OrgCourseOverviewGlobData
32+ from openedx_authz .api .data import CourseOverviewData , OrgCourseOverviewGlobData , ScopeData
3333from openedx_authz .constants .permissions import (
3434 COURSES_MANAGE_COURSE_UPDATES ,
3535 COURSES_MANAGE_GROUP_CONFIGURATIONS ,
@@ -824,18 +824,10 @@ def _get_course_keys_for_org_scope(org_keys: set[str]):
824824
825825 return CourseOverview .get_all_courses (orgs = org_keys ).values_list ('id' , flat = True )
826826
827-
828- def _get_authz_accessible_courses_list (request ):
827+ def _get_course_keys_from_scopes (authz_scopes : list [ScopeData ]):
829828 """
830- List all courses available to the logged in user by
831- evaluating Authz scopes for course access.
829+ Convert a set of Authz scopes into specific course keys.
832830 """
833- user = request .user
834- authz_scopes = get_scopes_for_user_and_permission (
835- user .username ,
836- COURSES_VIEW_COURSE .identifier
837- )
838-
839831 course_keys = set ()
840832 org_keys = set ()
841833 for access in authz_scopes :
@@ -849,9 +841,20 @@ def _get_authz_accessible_courses_list(request):
849841 key for key in _get_course_keys_for_org_scope (org_keys )
850842 if core_toggles .enable_authz_course_authoring (key )
851843 )
852-
853844 return course_keys
854845
846+ def _get_authz_accessible_courses_list (request ):
847+ """
848+ List all courses available to the logged in user by
849+ evaluating Authz scopes for course access.
850+ """
851+ user = request .user
852+ authz_scopes = get_scopes_for_user_and_permission (
853+ user .username ,
854+ COURSES_VIEW_COURSE .identifier
855+ )
856+
857+ return _get_course_keys_from_scopes (authz_scopes )
855858
856859def _get_legacy_accessible_courses_list (request ):
857860 """
0 commit comments