@@ -71,6 +71,52 @@ export const libraryPermissions = [
7171 { key : CONTENT_LIBRARY_PERMISSIONS . VIEW_LIBRARY_TEAM , resource : 'library_team' , description : 'Add, remove, and assign roles to users within the library.' } ,
7272] ;
7373
74+ // Course Permission Keys
75+ export const COURSE_PERMISSIONS = {
76+ // View permissions (Course Auditor)
77+ VIEW_COURSE : 'courses.view_course' ,
78+ VIEW_COURSE_UPDATES : 'courses.view_course_updates' ,
79+ VIEW_PAGES_AND_RESOURCES : 'courses.view_pages_and_resources' ,
80+ VIEW_FILES : 'courses.view_files' ,
81+ VIEW_GRADING_SETTINGS : 'courses.view_grading_settings' ,
82+ VIEW_CHECKLISTS : 'courses.view_checklists' ,
83+ VIEW_COURSE_TEAM : 'courses.view_course_team' ,
84+ VIEW_SCHEDULE_AND_DETAILS : 'courses.view_schedule_and_details' ,
85+
86+ // Edit permissions (Course Editor)
87+ EDIT_COURSE_CONTENT : 'courses.edit_course_content' ,
88+ MANAGE_LIBRARY_UPDATES : 'courses.manage_library_updates' ,
89+ MANAGE_COURSE_UPDATES : 'courses.manage_course_updates' ,
90+ MANAGE_PAGES_AND_RESOURCES : 'courses.manage_pages_and_resources' ,
91+ CREATE_FILES : 'courses.create_files' ,
92+ EDIT_FILES : 'courses.edit_files' ,
93+ EDIT_GRADING_SETTINGS : 'courses.edit_grading_settings' ,
94+ MANAGE_GROUP_CONFIGURATIONS : 'courses.manage_group_configurations' ,
95+ EDIT_DETAILS : 'courses.edit_details' ,
96+ MANAGE_TAGS : 'courses.manage_tags' ,
97+
98+ // Publish & lifecycle permissions (Course Staff)
99+ PUBLISH_COURSE_CONTENT : 'courses.publish_course_content' ,
100+ DELETE_FILES : 'courses.delete_files' ,
101+ EDIT_SCHEDULE : 'courses.edit_schedule' ,
102+ MANAGE_ADVANCED_SETTINGS : 'courses.manage_advanced_settings' ,
103+ MANAGE_CERTIFICATES : 'courses.manage_certificates' ,
104+ IMPORT_COURSE : 'courses.import_course' ,
105+ EXPORT_COURSE : 'courses.export_course' ,
106+ EXPORT_TAGS : 'courses.export_tags' ,
107+
108+ // Team & taxonomy permissions (Course Admin only)
109+ MANAGE_COURSE_TEAM : 'courses.manage_course_team' ,
110+ MANAGE_TAXONOMIES : 'courses.manage_taxonomies' ,
111+
112+ // Legacy role permissions
113+ LEGACY_STAFF_ROLE_PERMISSIONS : 'courses.legacy_staff_role_permissions' ,
114+ LEGACY_INSTRUCTOR_ROLE_PERMISSIONS : 'courses.legacy_instructor_role_permissions' ,
115+ LEGACY_LIMITED_STAFF_ROLE_PERMISSIONS : 'courses.legacy_limited_staff_role_permissions' ,
116+ LEGACY_DATA_RESEARCHER_PERMISSIONS : 'courses.legacy_data_researcher_permissions' ,
117+ LEGACY_BETA_TESTER_PERMISSIONS : 'courses.legacy_beta_tester_permissions' ,
118+ } ;
119+
74120// Resource Type Definitions
75121export const RESOURCE_TYPES = {
76122 LIBRARY : 'library' ,
@@ -94,16 +140,13 @@ export const courseRolesMetadata = [
94140 } ,
95141] ;
96142
97- // Course roles placeholder for future implementation
98- export const COURSE_ROLES_METADATA = courseRolesMetadata ;
99-
100143// Get roles metadata by resource type
101144export const getRolesMetadata = ( resourceType : ResourceType ) => {
102145 switch ( resourceType ) {
103146 case RESOURCE_TYPES . LIBRARY :
104147 return libraryRolesMetadata ;
105148 case RESOURCE_TYPES . COURSE :
106- return COURSE_ROLES_METADATA ;
149+ return courseRolesMetadata ;
107150 default :
108151 return [ ] ;
109152 }
0 commit comments