From e8e1b2160e0ab1b737082db791c005cc3b769174 Mon Sep 17 00:00:00 2001 From: Jesus Balderrama Date: Thu, 20 Aug 2026 15:00:04 -0600 Subject: [PATCH 1/4] feat: new permissions added to the roles and permissions matrix --- .../roles-permissions/course/constants.ts | 55 +++++++++++++++++-- 1 file changed, 51 insertions(+), 4 deletions(-) diff --git a/src/authz-module/roles-permissions/course/constants.ts b/src/authz-module/roles-permissions/course/constants.ts index 5b0f1049..85f5fdcf 100644 --- a/src/authz-module/roles-permissions/course/constants.ts +++ b/src/authz-module/roles-permissions/course/constants.ts @@ -27,6 +27,7 @@ export const CONTENT_COURSE_PERMISSIONS = { EDIT_COURSE_CONTENT: 'courses.edit_course_content', PUBLISH_COURSE_CONTENT: 'courses.publish_course_content', + VIEW_COURSE_LIBRARY_UPDATES: 'courses.view_library_updates', MANAGE_COURSE_LIBRARY_UPDATES: 'courses.manage_library_updates', VIEW_COURSE_UPDATES: 'courses.view_course_updates', @@ -49,11 +50,14 @@ export const CONTENT_COURSE_PERMISSIONS = { VIEW_COURSE_TEAM: 'courses.view_course_team', MANAGE_COURSE_TEAM: 'courses.manage_course_team', + VIEW_GROUP_CONFIGURATION: 'courses.view_group_configurations', MANAGE_COURSE_GROUP_CONFIGURATION: 'courses.manage_group_configurations', MANAGE_COURSE_TAGS: 'courses.manage_tags', - + + VIEW_COURSE_ADVANCED_SETTINGS: 'courses.view_advanced_settings', MANAGE_COURSE_ADVANCED_SETTINGS: 'courses.manage_advanced_settings', + VIEW_COURSE_CERTIFICATES: 'courses.view_certificates', MANAGE_COURSE_CERTIFICATES: 'courses.manage_certificates', IMPORT_COURSE: 'courses.import_course', @@ -167,7 +171,13 @@ export const coursePermissions: PermissionMetadata[] = [ label: 'Publish course content', icon: DownloadDone, }, - + { + key: CONTENT_COURSE_PERMISSIONS.VIEW_COURSE_LIBRARY_UPDATES, + resource: 'course_library_updates', + description: 'View pending updates from content libraries linked to this course.', + label: 'View library updates', + icon: RemoveRedEye, + }, { key: CONTENT_COURSE_PERMISSIONS.MANAGE_COURSE_LIBRARY_UPDATES, resource: 'course_library_updates', @@ -286,11 +296,18 @@ export const coursePermissions: PermissionMetadata[] = [ label: 'Manage course team', icon: Settings, }, + { + key: CONTENT_COURSE_PERMISSIONS.VIEW_GROUP_CONFIGURATION, + resource: 'course_team_group', + description: 'See the list of content groups and their configurations for this course.', + label: 'View group configurations', + icon: RemoveRedEye, + }, { key: CONTENT_COURSE_PERMISSIONS.MANAGE_COURSE_GROUP_CONFIGURATION, resource: 'course_team_group', description: 'Create and manage content groups used to target course content to specific learners.', - label: 'Manage group configuration', + label: 'Manage group configurations', icon: Settings, }, @@ -301,7 +318,13 @@ export const coursePermissions: PermissionMetadata[] = [ label: 'Manage tags', icon: Settings, }, - + { + key: CONTENT_COURSE_PERMISSIONS.VIEW_COURSE_ADVANCED_SETTINGS, + resource: 'course_advanced_certificates', + description: 'Access and view the Advanced Settings page in Studio. This covers a wide range of technical course configurations, including proctoring, timed exams, LTI tools, enrollment limits, and custom display options.', + label: 'View advanced settings', + icon: RemoveRedEye, + }, { key: CONTENT_COURSE_PERMISSIONS.MANAGE_COURSE_ADVANCED_SETTINGS, resource: 'course_advanced_certificates', @@ -309,6 +332,13 @@ export const coursePermissions: PermissionMetadata[] = [ label: 'Manage advanced settings', icon: Settings, }, + { + key: CONTENT_COURSE_PERMISSIONS.VIEW_COURSE_CERTIFICATES, + resource: 'course_advanced_certificates', + description: 'See the course certificate settings, including certificate design and eligibility criteria.', + label: 'View certificates', + icon: RemoveRedEye, + }, { key: CONTENT_COURSE_PERMISSIONS.MANAGE_COURSE_CERTIFICATES, resource: 'course_advanced_certificates', @@ -381,13 +411,18 @@ export const courseRolesMetadata: RoleMetadata[] = [ const COURSE_ROLE_PERMISSIONS: Record = { course_admin: [ CONTENT_COURSE_PERMISSIONS.VIEW_COURSE, + CONTENT_COURSE_PERMISSIONS.VIEW_COURSE_LIBRARY_UPDATES, CONTENT_COURSE_PERMISSIONS.VIEW_COURSE_UPDATES, CONTENT_COURSE_PERMISSIONS.VIEW_COURSE_PAGES_RESOURCES, CONTENT_COURSE_PERMISSIONS.VIEW_COURSE_FILES, CONTENT_COURSE_PERMISSIONS.VIEW_COURSE_GRADING_SETTINGS, CONTENT_COURSE_PERMISSIONS.VIEW_COURSE_CHECKLISTS, CONTENT_COURSE_PERMISSIONS.VIEW_COURSE_TEAM, + CONTENT_COURSE_PERMISSIONS.VIEW_GROUP_CONFIGURATION, CONTENT_COURSE_PERMISSIONS.VIEW_COURSE_SCHEDULE_AND_DETAILS, + CONTENT_COURSE_PERMISSIONS.VIEW_COURSE_ADVANCED_SETTINGS, + CONTENT_COURSE_PERMISSIONS.VIEW_COURSE_CERTIFICATES, + CONTENT_COURSE_PERMISSIONS.EDIT_COURSE_CONTENT, CONTENT_COURSE_PERMISSIONS.MANAGE_COURSE_LIBRARY_UPDATES, CONTENT_COURSE_PERMISSIONS.MANAGE_COURSE_UPDATES, @@ -410,13 +445,17 @@ const COURSE_ROLE_PERMISSIONS: Record = { ], course_staff: [ CONTENT_COURSE_PERMISSIONS.VIEW_COURSE, + CONTENT_COURSE_PERMISSIONS.VIEW_COURSE_LIBRARY_UPDATES, CONTENT_COURSE_PERMISSIONS.VIEW_COURSE_UPDATES, CONTENT_COURSE_PERMISSIONS.VIEW_COURSE_PAGES_RESOURCES, CONTENT_COURSE_PERMISSIONS.VIEW_COURSE_FILES, CONTENT_COURSE_PERMISSIONS.VIEW_COURSE_GRADING_SETTINGS, CONTENT_COURSE_PERMISSIONS.VIEW_COURSE_CHECKLISTS, CONTENT_COURSE_PERMISSIONS.VIEW_COURSE_TEAM, + CONTENT_COURSE_PERMISSIONS.VIEW_GROUP_CONFIGURATION, CONTENT_COURSE_PERMISSIONS.VIEW_COURSE_SCHEDULE_AND_DETAILS, + CONTENT_COURSE_PERMISSIONS.VIEW_COURSE_ADVANCED_SETTINGS, + CONTENT_COURSE_PERMISSIONS.VIEW_COURSE_CERTIFICATES, CONTENT_COURSE_PERMISSIONS.EDIT_COURSE_CONTENT, CONTENT_COURSE_PERMISSIONS.MANAGE_COURSE_LIBRARY_UPDATES, CONTENT_COURSE_PERMISSIONS.MANAGE_COURSE_UPDATES, @@ -438,13 +477,17 @@ const COURSE_ROLE_PERMISSIONS: Record = { ], course_editor: [ CONTENT_COURSE_PERMISSIONS.VIEW_COURSE, + CONTENT_COURSE_PERMISSIONS.VIEW_COURSE_LIBRARY_UPDATES, CONTENT_COURSE_PERMISSIONS.VIEW_COURSE_UPDATES, CONTENT_COURSE_PERMISSIONS.VIEW_COURSE_PAGES_RESOURCES, CONTENT_COURSE_PERMISSIONS.VIEW_COURSE_FILES, CONTENT_COURSE_PERMISSIONS.VIEW_COURSE_GRADING_SETTINGS, CONTENT_COURSE_PERMISSIONS.VIEW_COURSE_CHECKLISTS, CONTENT_COURSE_PERMISSIONS.VIEW_COURSE_TEAM, + CONTENT_COURSE_PERMISSIONS.VIEW_GROUP_CONFIGURATION, CONTENT_COURSE_PERMISSIONS.VIEW_COURSE_SCHEDULE_AND_DETAILS, + CONTENT_COURSE_PERMISSIONS.VIEW_COURSE_ADVANCED_SETTINGS, + CONTENT_COURSE_PERMISSIONS.VIEW_COURSE_CERTIFICATES, CONTENT_COURSE_PERMISSIONS.EDIT_COURSE_CONTENT, CONTENT_COURSE_PERMISSIONS.MANAGE_COURSE_LIBRARY_UPDATES, CONTENT_COURSE_PERMISSIONS.MANAGE_COURSE_UPDATES, @@ -458,13 +501,17 @@ const COURSE_ROLE_PERMISSIONS: Record = { ], course_auditor: [ CONTENT_COURSE_PERMISSIONS.VIEW_COURSE, + CONTENT_COURSE_PERMISSIONS.VIEW_COURSE_LIBRARY_UPDATES, CONTENT_COURSE_PERMISSIONS.VIEW_COURSE_UPDATES, CONTENT_COURSE_PERMISSIONS.VIEW_COURSE_PAGES_RESOURCES, CONTENT_COURSE_PERMISSIONS.VIEW_COURSE_FILES, CONTENT_COURSE_PERMISSIONS.VIEW_COURSE_GRADING_SETTINGS, CONTENT_COURSE_PERMISSIONS.VIEW_COURSE_CHECKLISTS, CONTENT_COURSE_PERMISSIONS.VIEW_COURSE_TEAM, + CONTENT_COURSE_PERMISSIONS.VIEW_GROUP_CONFIGURATION, CONTENT_COURSE_PERMISSIONS.VIEW_COURSE_SCHEDULE_AND_DETAILS, + CONTENT_COURSE_PERMISSIONS.VIEW_COURSE_ADVANCED_SETTINGS, + CONTENT_COURSE_PERMISSIONS.VIEW_COURSE_CERTIFICATES, ], }; From d98d3f2e6af4e9bb3d8c25689c9f7ff72da986b1 Mon Sep 17 00:00:00 2001 From: Jesus Balderrama Date: Thu, 20 Aug 2026 23:02:34 -0600 Subject: [PATCH 2/4] fix: lint fix --- src/authz-module/roles-permissions/course/constants.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/authz-module/roles-permissions/course/constants.ts b/src/authz-module/roles-permissions/course/constants.ts index 85f5fdcf..47f259fc 100644 --- a/src/authz-module/roles-permissions/course/constants.ts +++ b/src/authz-module/roles-permissions/course/constants.ts @@ -54,7 +54,7 @@ export const CONTENT_COURSE_PERMISSIONS = { MANAGE_COURSE_GROUP_CONFIGURATION: 'courses.manage_group_configurations', MANAGE_COURSE_TAGS: 'courses.manage_tags', - + VIEW_COURSE_ADVANCED_SETTINGS: 'courses.view_advanced_settings', MANAGE_COURSE_ADVANCED_SETTINGS: 'courses.manage_advanced_settings', VIEW_COURSE_CERTIFICATES: 'courses.view_certificates', From 9f913fbcb2c43972163e7e194fe09d5cada14a5a Mon Sep 17 00:00:00 2001 From: Jesus Balderrama Date: Fri, 21 Aug 2026 09:37:45 -0600 Subject: [PATCH 3/4] chore: texts updated --- src/authz-module/roles-permissions/course/constants.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/authz-module/roles-permissions/course/constants.ts b/src/authz-module/roles-permissions/course/constants.ts index 47f259fc..fec4ea7d 100644 --- a/src/authz-module/roles-permissions/course/constants.ts +++ b/src/authz-module/roles-permissions/course/constants.ts @@ -321,21 +321,21 @@ export const coursePermissions: PermissionMetadata[] = [ { key: CONTENT_COURSE_PERMISSIONS.VIEW_COURSE_ADVANCED_SETTINGS, resource: 'course_advanced_certificates', - description: 'Access and view the Advanced Settings page in Studio. This covers a wide range of technical course configurations, including proctoring, timed exams, LTI tools, enrollment limits, and custom display options.', + description: 'Access the Advanced Settings page in Studio. This covers a wide range of technical course configurations, including proctoring, timed exams, LTI tools, enrollment limits, and custom display options.', label: 'View advanced settings', icon: RemoveRedEye, }, { key: CONTENT_COURSE_PERMISSIONS.MANAGE_COURSE_ADVANCED_SETTINGS, resource: 'course_advanced_certificates', - description: 'Access and edit the Advanced Settings page in Studio. This covers a wide range of technical course configurations, including proctoring, timed exams, LTI tools, enrollment limits, and custom display options.', + description: 'Edit technical course configurations in the Advanced Settings page in Studio.', label: 'Manage advanced settings', icon: Settings, }, { key: CONTENT_COURSE_PERMISSIONS.VIEW_COURSE_CERTIFICATES, resource: 'course_advanced_certificates', - description: 'See the course certificate settings, including certificate design and eligibility criteria.', + description: 'See the course certificate settings.', label: 'View certificates', icon: RemoveRedEye, }, From a382b1677b30548376b718ce38e89412ff14131a Mon Sep 17 00:00:00 2001 From: Jesus Balderrama Date: Tue, 25 Aug 2026 08:58:19 -0600 Subject: [PATCH 4/4] chore: removed space --- src/authz-module/roles-permissions/course/constants.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/authz-module/roles-permissions/course/constants.ts b/src/authz-module/roles-permissions/course/constants.ts index fec4ea7d..13d0be97 100644 --- a/src/authz-module/roles-permissions/course/constants.ts +++ b/src/authz-module/roles-permissions/course/constants.ts @@ -422,7 +422,6 @@ const COURSE_ROLE_PERMISSIONS: Record = { CONTENT_COURSE_PERMISSIONS.VIEW_COURSE_SCHEDULE_AND_DETAILS, CONTENT_COURSE_PERMISSIONS.VIEW_COURSE_ADVANCED_SETTINGS, CONTENT_COURSE_PERMISSIONS.VIEW_COURSE_CERTIFICATES, - CONTENT_COURSE_PERMISSIONS.EDIT_COURSE_CONTENT, CONTENT_COURSE_PERMISSIONS.MANAGE_COURSE_LIBRARY_UPDATES, CONTENT_COURSE_PERMISSIONS.MANAGE_COURSE_UPDATES,