@openedx/frontend-app-admin-console 1.0.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +661 -0
- package/README.rst +164 -0
- package/dist/Main.d.ts +3 -0
- package/dist/Main.js +15 -0
- package/dist/Main.js.map +1 -0
- package/dist/app.d.ts +3 -0
- package/dist/app.js +10 -0
- package/dist/app.js.map +1 -0
- package/dist/authz-module/audit-user/index.d.ts +2 -0
- package/dist/authz-module/audit-user/index.js +191 -0
- package/dist/authz-module/audit-user/index.js.map +1 -0
- package/dist/authz-module/audit-user/messages.d.ts +58 -0
- package/dist/authz-module/audit-user/messages.js +60 -0
- package/dist/authz-module/audit-user/messages.js.map +1 -0
- package/dist/authz-module/authz-home/index.d.ts +2 -0
- package/dist/authz-module/authz-home/index.js +23 -0
- package/dist/authz-module/authz-home/index.js.map +1 -0
- package/dist/authz-module/authz-home/messages.d.ts +23 -0
- package/dist/authz-module/authz-home/messages.js +25 -0
- package/dist/authz-module/authz-home/messages.js.map +1 -0
- package/dist/authz-module/components/AddRoleButton.d.ts +6 -0
- package/dist/authz-module/components/AddRoleButton.js +22 -0
- package/dist/authz-module/components/AddRoleButton.js.map +1 -0
- package/dist/authz-module/components/AnchorButton.d.ts +2 -0
- package/dist/authz-module/components/AnchorButton.js +35 -0
- package/dist/authz-module/components/AnchorButton.js.map +1 -0
- package/dist/authz-module/components/AuthZLayout.d.ts +12 -0
- package/dist/authz-module/components/AuthZLayout.js +19 -0
- package/dist/authz-module/components/AuthZLayout.js.map +1 -0
- package/dist/authz-module/components/AuthZTitle.d.ts +20 -0
- package/dist/authz-module/components/AuthZTitle.js +22 -0
- package/dist/authz-module/components/AuthZTitle.js.map +1 -0
- package/dist/authz-module/components/ConfirmDeletionModal.d.ts +15 -0
- package/dist/authz-module/components/ConfirmDeletionModal.js +21 -0
- package/dist/authz-module/components/ConfirmDeletionModal.js.map +1 -0
- package/dist/authz-module/components/ErrorPage/index.d.ts +3 -0
- package/dist/authz-module/components/ErrorPage/index.js +59 -0
- package/dist/authz-module/components/ErrorPage/index.js.map +1 -0
- package/dist/authz-module/components/ErrorPage/messages.d.ts +53 -0
- package/dist/authz-module/components/ErrorPage/messages.js +55 -0
- package/dist/authz-module/components/ErrorPage/messages.js.map +1 -0
- package/dist/authz-module/components/PermissionTable.d.ts +9 -0
- package/dist/authz-module/components/PermissionTable.js +24 -0
- package/dist/authz-module/components/PermissionTable.js.map +1 -0
- package/dist/authz-module/components/RenderAdminRole.d.ts +5 -0
- package/dist/authz-module/components/RenderAdminRole.js +13 -0
- package/dist/authz-module/components/RenderAdminRole.js.map +1 -0
- package/dist/authz-module/components/RenderPermissionColumn.d.ts +6 -0
- package/dist/authz-module/components/RenderPermissionColumn.js +8 -0
- package/dist/authz-module/components/RenderPermissionColumn.js.map +1 -0
- package/dist/authz-module/components/RenderPermissionInLine.d.ts +6 -0
- package/dist/authz-module/components/RenderPermissionInLine.js +8 -0
- package/dist/authz-module/components/RenderPermissionInLine.js.map +1 -0
- package/dist/authz-module/components/ResourceTooltip.d.ts +11 -0
- package/dist/authz-module/components/ResourceTooltip.js +9 -0
- package/dist/authz-module/components/ResourceTooltip.js.map +1 -0
- package/dist/authz-module/components/RoleCard/constants.d.ts +14 -0
- package/dist/authz-module/components/RoleCard/constants.js +15 -0
- package/dist/authz-module/components/RoleCard/constants.js.map +1 -0
- package/dist/authz-module/components/RoleCard/messages.d.ts +73 -0
- package/dist/authz-module/components/RoleCard/messages.js +75 -0
- package/dist/authz-module/components/RoleCard/messages.js.map +1 -0
- package/dist/authz-module/components/TableCells.d.ts +29 -0
- package/dist/authz-module/components/TableCells.js +137 -0
- package/dist/authz-module/components/TableCells.js.map +1 -0
- package/dist/authz-module/components/TableControlBar/MultipleChoiceFilter.d.ts +3 -0
- package/dist/authz-module/components/TableControlBar/MultipleChoiceFilter.js +47 -0
- package/dist/authz-module/components/TableControlBar/MultipleChoiceFilter.js.map +1 -0
- package/dist/authz-module/components/TableControlBar/OrgFilter.d.ts +5 -0
- package/dist/authz-module/components/TableControlBar/OrgFilter.js +36 -0
- package/dist/authz-module/components/TableControlBar/OrgFilter.js.map +1 -0
- package/dist/authz-module/components/TableControlBar/RolesFilter.d.ts +4 -0
- package/dist/authz-module/components/TableControlBar/RolesFilter.js +29 -0
- package/dist/authz-module/components/TableControlBar/RolesFilter.js.map +1 -0
- package/dist/authz-module/components/TableControlBar/ScopesFilter.d.ts +4 -0
- package/dist/authz-module/components/TableControlBar/ScopesFilter.js +45 -0
- package/dist/authz-module/components/TableControlBar/ScopesFilter.js.map +1 -0
- package/dist/authz-module/components/TableControlBar/SearchFilter.d.ts +7 -0
- package/dist/authz-module/components/TableControlBar/SearchFilter.js +8 -0
- package/dist/authz-module/components/TableControlBar/SearchFilter.js.map +1 -0
- package/dist/authz-module/components/TableControlBar/TableControlBar.d.ts +5 -0
- package/dist/authz-module/components/TableControlBar/TableControlBar.js +99 -0
- package/dist/authz-module/components/TableControlBar/TableControlBar.js.map +1 -0
- package/dist/authz-module/components/TableControlBar/types.d.ts +18 -0
- package/dist/authz-module/components/TableControlBar/types.js +2 -0
- package/dist/authz-module/components/TableControlBar/types.js.map +1 -0
- package/dist/authz-module/components/TableFooter/TableFooter.d.ts +2 -0
- package/dist/authz-module/components/TableFooter/TableFooter.js +15 -0
- package/dist/authz-module/components/TableFooter/TableFooter.js.map +1 -0
- package/dist/authz-module/components/UserPermissions.d.ts +9 -0
- package/dist/authz-module/components/UserPermissions.js +56 -0
- package/dist/authz-module/components/UserPermissions.js.map +1 -0
- package/dist/authz-module/components/ViewMoreLink.d.ts +8 -0
- package/dist/authz-module/components/ViewMoreLink.js +8 -0
- package/dist/authz-module/components/ViewMoreLink.js.map +1 -0
- package/dist/authz-module/components/constants.d.ts +13 -0
- package/dist/authz-module/components/constants.js +80 -0
- package/dist/authz-module/components/constants.js.map +1 -0
- package/dist/authz-module/components/messages.d.ts +183 -0
- package/dist/authz-module/components/messages.js +185 -0
- package/dist/authz-module/components/messages.js.map +1 -0
- package/dist/authz-module/constants.d.ts +38 -0
- package/dist/authz-module/constants.js +77 -0
- package/dist/authz-module/constants.js.map +1 -0
- package/dist/authz-module/data/api.d.ts +109 -0
- package/dist/authz-module/data/api.js +107 -0
- package/dist/authz-module/data/api.js.map +1 -0
- package/dist/authz-module/data/hooks.d.ts +94 -0
- package/dist/authz-module/data/hooks.js +191 -0
- package/dist/authz-module/data/hooks.js.map +1 -0
- package/dist/authz-module/hooks/useCourseAuthoringFlag.d.ts +26 -0
- package/dist/authz-module/hooks/useCourseAuthoringFlag.js +86 -0
- package/dist/authz-module/hooks/useCourseAuthoringFlag.js.map +1 -0
- package/dist/authz-module/hooks/useQuerySettings.d.ts +27 -0
- package/dist/authz-module/hooks/useQuerySettings.js +72 -0
- package/dist/authz-module/hooks/useQuerySettings.js.map +1 -0
- package/dist/authz-module/hooks/useViewTeamPermissions.d.ts +5 -0
- package/dist/authz-module/hooks/useViewTeamPermissions.js +13 -0
- package/dist/authz-module/hooks/useViewTeamPermissions.js.map +1 -0
- package/dist/authz-module/index.d.ts +3 -0
- package/dist/authz-module/index.js +20 -0
- package/dist/authz-module/index.js.map +1 -0
- package/dist/authz-module/index.scss +131 -0
- package/dist/authz-module/messages.d.ts +48 -0
- package/dist/authz-module/messages.js +50 -0
- package/dist/authz-module/messages.js.map +1 -0
- package/dist/authz-module/role-assignation-wizard/AssignRoleWizard.d.ts +8 -0
- package/dist/authz-module/role-assignation-wizard/AssignRoleWizard.js +154 -0
- package/dist/authz-module/role-assignation-wizard/AssignRoleWizard.js.map +1 -0
- package/dist/authz-module/role-assignation-wizard/AssignRoleWizardPage.d.ts +2 -0
- package/dist/authz-module/role-assignation-wizard/AssignRoleWizardPage.js +39 -0
- package/dist/authz-module/role-assignation-wizard/AssignRoleWizardPage.js.map +1 -0
- package/dist/authz-module/role-assignation-wizard/components/DefineApplicationScopeStep.d.ts +8 -0
- package/dist/authz-module/role-assignation-wizard/components/DefineApplicationScopeStep.js +39 -0
- package/dist/authz-module/role-assignation-wizard/components/DefineApplicationScopeStep.js.map +1 -0
- package/dist/authz-module/role-assignation-wizard/components/HighlightedUsersInput.d.ts +11 -0
- package/dist/authz-module/role-assignation-wizard/components/HighlightedUsersInput.js +36 -0
- package/dist/authz-module/role-assignation-wizard/components/HighlightedUsersInput.js.map +1 -0
- package/dist/authz-module/role-assignation-wizard/components/OrgSection.d.ts +10 -0
- package/dist/authz-module/role-assignation-wizard/components/OrgSection.js +14 -0
- package/dist/authz-module/role-assignation-wizard/components/OrgSection.js.map +1 -0
- package/dist/authz-module/role-assignation-wizard/components/ScopeCheckboxItem.d.ts +8 -0
- package/dist/authz-module/role-assignation-wizard/components/ScopeCheckboxItem.js +5 -0
- package/dist/authz-module/role-assignation-wizard/components/ScopeCheckboxItem.js.map +1 -0
- package/dist/authz-module/role-assignation-wizard/components/ScopeFilterBar.d.ts +12 -0
- package/dist/authz-module/role-assignation-wizard/components/ScopeFilterBar.js +12 -0
- package/dist/authz-module/role-assignation-wizard/components/ScopeFilterBar.js.map +1 -0
- package/dist/authz-module/role-assignation-wizard/components/ScopeList.d.ts +20 -0
- package/dist/authz-module/role-assignation-wizard/components/ScopeList.js +30 -0
- package/dist/authz-module/role-assignation-wizard/components/ScopeList.js.map +1 -0
- package/dist/authz-module/role-assignation-wizard/components/SelectUsersAndRoleStep.d.ts +12 -0
- package/dist/authz-module/role-assignation-wizard/components/SelectUsersAndRoleStep.js +34 -0
- package/dist/authz-module/role-assignation-wizard/components/SelectUsersAndRoleStep.js.map +1 -0
- package/dist/authz-module/role-assignation-wizard/constants.d.ts +5 -0
- package/dist/authz-module/role-assignation-wizard/constants.js +6 -0
- package/dist/authz-module/role-assignation-wizard/constants.js.map +1 -0
- package/dist/authz-module/role-assignation-wizard/hooks/useScopeListData.d.ts +23 -0
- package/dist/authz-module/role-assignation-wizard/hooks/useScopeListData.js +112 -0
- package/dist/authz-module/role-assignation-wizard/hooks/useScopeListData.js.map +1 -0
- package/dist/authz-module/role-assignation-wizard/hooks/useScopePermissions.d.ts +10 -0
- package/dist/authz-module/role-assignation-wizard/hooks/useScopePermissions.js +54 -0
- package/dist/authz-module/role-assignation-wizard/hooks/useScopePermissions.js.map +1 -0
- package/dist/authz-module/role-assignation-wizard/messages.d.ts +243 -0
- package/dist/authz-module/role-assignation-wizard/messages.js +258 -0
- package/dist/authz-module/role-assignation-wizard/messages.js.map +1 -0
- package/dist/authz-module/role-assignation-wizard/utils.d.ts +5 -0
- package/dist/authz-module/role-assignation-wizard/utils.js +16 -0
- package/dist/authz-module/role-assignation-wizard/utils.js.map +1 -0
- package/dist/authz-module/roles-permissions/RolesPermissions.d.ts +2 -0
- package/dist/authz-module/roles-permissions/RolesPermissions.js +35 -0
- package/dist/authz-module/roles-permissions/RolesPermissions.js.map +1 -0
- package/dist/authz-module/roles-permissions/course/constants.d.ts +39 -0
- package/dist/authz-module/roles-permissions/course/constants.js +474 -0
- package/dist/authz-module/roles-permissions/course/constants.js.map +1 -0
- package/dist/authz-module/roles-permissions/index.d.ts +10 -0
- package/dist/authz-module/roles-permissions/index.js +15 -0
- package/dist/authz-module/roles-permissions/index.js.map +1 -0
- package/dist/authz-module/roles-permissions/library/constants.d.ts +18 -0
- package/dist/authz-module/roles-permissions/library/constants.js +193 -0
- package/dist/authz-module/roles-permissions/library/constants.js.map +1 -0
- package/dist/authz-module/roles-permissions/messages.d.ts +63 -0
- package/dist/authz-module/roles-permissions/messages.js +65 -0
- package/dist/authz-module/roles-permissions/messages.js.map +1 -0
- package/dist/authz-module/roles-permissions/utils.d.ts +41 -0
- package/dist/authz-module/roles-permissions/utils.js +70 -0
- package/dist/authz-module/roles-permissions/utils.js.map +1 -0
- package/dist/authz-module/team-members/TeamMembersTable.d.ts +5 -0
- package/dist/authz-module/team-members/TeamMembersTable.js +107 -0
- package/dist/authz-module/team-members/TeamMembersTable.js.map +1 -0
- package/dist/authz-module/team-members/messages.d.ts +33 -0
- package/dist/authz-module/team-members/messages.js +35 -0
- package/dist/authz-module/team-members/messages.js.map +1 -0
- package/dist/authz-module/utils.d.ts +24 -0
- package/dist/authz-module/utils.js +45 -0
- package/dist/authz-module/utils.js.map +1 -0
- package/dist/components/LoadingPage.d.ts +2 -0
- package/dist/components/LoadingPage.js +5 -0
- package/dist/components/LoadingPage.js.map +1 -0
- package/dist/components/ToastManager/ToastManagerContext.d.ts +24 -0
- package/dist/components/ToastManager/ToastManagerContext.js +91 -0
- package/dist/components/ToastManager/ToastManagerContext.js.map +1 -0
- package/dist/constants.d.ts +11 -0
- package/dist/constants.js +15 -0
- package/dist/constants.js.map +1 -0
- package/dist/data/api.d.ts +4 -0
- package/dist/data/api.js +21 -0
- package/dist/data/api.js.map +1 -0
- package/dist/data/hooks.d.ts +38 -0
- package/dist/data/hooks.js +69 -0
- package/dist/data/hooks.js.map +1 -0
- package/dist/data/types.d.ts +38 -0
- package/dist/data/types.js +2 -0
- package/dist/data/types.js.map +1 -0
- package/dist/data/utils.d.ts +6 -0
- package/dist/data/utils.js +11 -0
- package/dist/data/utils.js.map +1 -0
- package/dist/i18n/index.d.ts +1 -0
- package/dist/i18n/index.js +2 -0
- package/dist/i18n/index.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -0
- package/dist/messages.d.ts +8 -0
- package/dist/messages.js +10 -0
- package/dist/messages.js.map +1 -0
- package/dist/providers.d.ts +3 -0
- package/dist/providers.js +4 -0
- package/dist/providers.js.map +1 -0
- package/dist/routes.d.ts +11 -0
- package/dist/routes.js +16 -0
- package/dist/routes.js.map +1 -0
- package/dist/style.scss +15 -0
- package/dist/types.d.ts +93 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +88 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,QAAQ,CAAC","sourcesContent":["export { default as adminConsoleApp } from './app';\nexport { default as adminConsoleRoutes } from './routes';\nexport { default as adminConsoleMessages } from './i18n';\n"]}
|
package/dist/messages.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { defineMessages } from '@openedx/frontend-base';
|
|
2
|
+
const messages = defineMessages({
|
|
3
|
+
'admin.console.page.title': {
|
|
4
|
+
id: 'admin.console.page.title',
|
|
5
|
+
defaultMessage: 'Admin Console | {siteName}',
|
|
6
|
+
description: 'Document (browser tab) title for the Admin Console page.',
|
|
7
|
+
},
|
|
8
|
+
});
|
|
9
|
+
export default messages;
|
|
10
|
+
//# sourceMappingURL=messages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../src/messages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,QAAQ,GAAG,cAAc,CAAC;IAC9B,0BAA0B,EAAE;QAC1B,EAAE,EAAE,0BAA0B;QAC9B,cAAc,EAAE,4BAA4B;QAC5C,WAAW,EAAE,0DAA0D;KACxE;CACF,CAAC,CAAC;AAEH,eAAe,QAAQ,CAAC","sourcesContent":["import { defineMessages } from '@openedx/frontend-base';\n\nconst messages = defineMessages({\n 'admin.console.page.title': {\n id: 'admin.console.page.title',\n defaultMessage: 'Admin Console | {siteName}',\n description: 'Document (browser tab) title for the Admin Console page.',\n },\n});\n\nexport default messages;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAC;AAExF,MAAM,SAAS,GAAkB,CAAC,oBAAoB,CAAC,CAAC;AAExD,eAAe,SAAS,CAAC","sourcesContent":["import { AppProvider } from '@openedx/frontend-base';\nimport { ToastManagerProvider } from '@src/components/ToastManager/ToastManagerContext';\n\nconst providers: AppProvider[] = [ToastManagerProvider];\n\nexport default providers;\n"]}
|
package/dist/routes.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { authenticatedLoader } from '@openedx/frontend-base';
|
|
2
|
+
declare const routes: {
|
|
3
|
+
id: string;
|
|
4
|
+
path: string;
|
|
5
|
+
loader: typeof authenticatedLoader;
|
|
6
|
+
Component: import("react").LazyExoticComponent<() => import("react").JSX.Element>;
|
|
7
|
+
handle: {
|
|
8
|
+
roles: string[];
|
|
9
|
+
};
|
|
10
|
+
}[];
|
|
11
|
+
export default routes;
|
package/dist/routes.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { lazy } from 'react';
|
|
2
|
+
import { authenticatedLoader } from '@openedx/frontend-base';
|
|
3
|
+
const Main = lazy(() => import('./Main'));
|
|
4
|
+
const routes = [
|
|
5
|
+
{
|
|
6
|
+
id: 'org.openedx.frontend.route.adminConsole.main',
|
|
7
|
+
path: '/authz/*',
|
|
8
|
+
loader: authenticatedLoader,
|
|
9
|
+
Component: Main,
|
|
10
|
+
handle: {
|
|
11
|
+
roles: ['org.openedx.frontend.role.adminConsole'],
|
|
12
|
+
},
|
|
13
|
+
},
|
|
14
|
+
];
|
|
15
|
+
export default routes;
|
|
16
|
+
//# sourceMappingURL=routes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../src/routes.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;AAE1C,MAAM,MAAM,GAAG;IACb;QACE,EAAE,EAAE,8CAA8C;QAClD,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,mBAAmB;QAC3B,SAAS,EAAE,IAAI;QACf,MAAM,EAAE;YACN,KAAK,EAAE,CAAC,wCAAwC,CAAC;SAClD;KACF;CACF,CAAC;AAEF,eAAe,MAAM,CAAC","sourcesContent":["import { lazy } from 'react';\nimport { authenticatedLoader } from '@openedx/frontend-base';\n\nconst Main = lazy(() => import('./Main'));\n\nconst routes = [\n {\n id: 'org.openedx.frontend.route.adminConsole.main',\n path: '/authz/*',\n loader: authenticatedLoader,\n Component: Main,\n handle: {\n roles: ['org.openedx.frontend.role.adminConsole'],\n },\n },\n];\n\nexport default routes;\n"]}
|
package/dist/style.scss
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// App-scoped runtime styles for the toast manager. Global selectors, so
|
|
2
|
+
// they must not live under any component's scoped stylesheet.
|
|
3
|
+
.toast-container {
|
|
4
|
+
// Ensure toast appears above modal
|
|
5
|
+
z-index: 1000;
|
|
6
|
+
// Move toast to the right
|
|
7
|
+
left: auto !important;
|
|
8
|
+
right: var(--pgn-spacing-toast-container-gutter-lg);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
// Fix a bug with a toast on edit tags sheet component: can't click on close toast button
|
|
12
|
+
// https://github.com/openedx/frontend-app-authoring/issues/1898
|
|
13
|
+
#toast-root[data-focus-on-hidden] {
|
|
14
|
+
pointer-events: initial !important;
|
|
15
|
+
}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
export interface PermissionValidationRequest {
|
|
2
|
+
action: string;
|
|
3
|
+
scope?: string;
|
|
4
|
+
}
|
|
5
|
+
export interface PermissionValidationResponse extends PermissionValidationRequest {
|
|
6
|
+
allowed: boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface TeamMember {
|
|
9
|
+
username: string;
|
|
10
|
+
fullName: string;
|
|
11
|
+
email: string;
|
|
12
|
+
roles: string[];
|
|
13
|
+
createdAt: string;
|
|
14
|
+
scope: {
|
|
15
|
+
resource: string;
|
|
16
|
+
type: 'COURSE' | 'LIBRARY' | 'GLOBAL';
|
|
17
|
+
};
|
|
18
|
+
organization: string;
|
|
19
|
+
role: string;
|
|
20
|
+
}
|
|
21
|
+
export interface LibraryMetadata {
|
|
22
|
+
id: string;
|
|
23
|
+
org: string;
|
|
24
|
+
title: string;
|
|
25
|
+
slug: string;
|
|
26
|
+
allowPublicRead: boolean;
|
|
27
|
+
}
|
|
28
|
+
export interface RoleMetadata {
|
|
29
|
+
role: string;
|
|
30
|
+
name: string;
|
|
31
|
+
description: string;
|
|
32
|
+
contextType: string;
|
|
33
|
+
disabled?: boolean;
|
|
34
|
+
}
|
|
35
|
+
export interface Role extends RoleMetadata {
|
|
36
|
+
scope: string;
|
|
37
|
+
userCount: number;
|
|
38
|
+
permissions: string[];
|
|
39
|
+
}
|
|
40
|
+
export interface ResourceMetadata {
|
|
41
|
+
key: string;
|
|
42
|
+
label: string;
|
|
43
|
+
description: string;
|
|
44
|
+
icon?: React.ComponentType<React.SVGProps<SVGSVGElement>>;
|
|
45
|
+
}
|
|
46
|
+
export interface PermissionMetadata {
|
|
47
|
+
key: string;
|
|
48
|
+
resource: string;
|
|
49
|
+
label?: string;
|
|
50
|
+
description?: string;
|
|
51
|
+
icon?: React.ComponentType<React.SVGProps<SVGSVGElement>>;
|
|
52
|
+
}
|
|
53
|
+
export type PermissionItem = ResourceMetadata & {
|
|
54
|
+
perms: PermissionMetadata[];
|
|
55
|
+
};
|
|
56
|
+
export interface Org {
|
|
57
|
+
id: string;
|
|
58
|
+
name: string;
|
|
59
|
+
shortName: string;
|
|
60
|
+
}
|
|
61
|
+
export interface Scope {
|
|
62
|
+
externalKey: string;
|
|
63
|
+
displayName: string;
|
|
64
|
+
description?: string;
|
|
65
|
+
org: Org | null;
|
|
66
|
+
}
|
|
67
|
+
export type EnrichedPermission = PermissionMetadata & {
|
|
68
|
+
actionKey: string;
|
|
69
|
+
};
|
|
70
|
+
export type PermissionWithRoles = EnrichedPermission & {
|
|
71
|
+
roles: Record<string, boolean>;
|
|
72
|
+
};
|
|
73
|
+
export type PermissionsResourceGrouped = ResourceMetadata & {
|
|
74
|
+
permissions: PermissionWithRoles[];
|
|
75
|
+
};
|
|
76
|
+
export interface UserRole {
|
|
77
|
+
isSuperadmin?: boolean;
|
|
78
|
+
role: string;
|
|
79
|
+
org: string;
|
|
80
|
+
scope: string;
|
|
81
|
+
permissionCount: number;
|
|
82
|
+
fullName?: string;
|
|
83
|
+
username?: string;
|
|
84
|
+
email?: string;
|
|
85
|
+
}
|
|
86
|
+
export interface RoleToDelete {
|
|
87
|
+
role: string;
|
|
88
|
+
name?: string;
|
|
89
|
+
scope: string;
|
|
90
|
+
}
|
|
91
|
+
export type UserRoleWithPermissions = UserRole & {
|
|
92
|
+
canManageScope?: boolean;
|
|
93
|
+
};
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"","sourcesContent":["export interface PermissionValidationRequest {\n action: string;\n scope?: string;\n}\n\nexport interface PermissionValidationResponse extends PermissionValidationRequest {\n allowed: boolean;\n}\n\n// Libraries AuthZ types\nexport interface TeamMember {\n username: string;\n fullName: string;\n email: string;\n roles: string[];\n createdAt: string;\n scope: { resource: string; type: 'COURSE' | 'LIBRARY' | 'GLOBAL' };\n organization: string;\n role: string;\n}\n\nexport interface LibraryMetadata {\n id: string;\n org: string;\n title: string;\n slug: string;\n allowPublicRead: boolean;\n}\n\nexport interface RoleMetadata {\n role: string;\n name: string;\n description: string;\n contextType: string;\n disabled?: boolean;\n}\n// TODO: remove unnecessary fields when libraries gets removed\nexport interface Role extends RoleMetadata {\n scope: string;\n userCount: number;\n permissions: string[];\n}\n\nexport interface ResourceMetadata {\n key: string;\n label: string;\n description: string;\n icon?: React.ComponentType<React.SVGProps<SVGSVGElement>>;\n}\n\nexport interface PermissionMetadata {\n key: string;\n resource: string;\n label?: string;\n description?: string;\n icon?: React.ComponentType<React.SVGProps<SVGSVGElement>>;\n}\n\nexport type PermissionItem = ResourceMetadata & {\n perms: PermissionMetadata[];\n};\n\nexport interface Org {\n id: string;\n name: string;\n shortName: string;\n}\n\nexport interface Scope {\n externalKey: string;\n displayName: string;\n description?: string;\n org: Org | null;\n}\n\n// Permissions Matrix\n\nexport type EnrichedPermission = PermissionMetadata & {\n actionKey: string;\n};\n\nexport type PermissionWithRoles = EnrichedPermission & {\n roles: Record<string, boolean>;\n};\n\nexport type PermissionsResourceGrouped = ResourceMetadata & {\n permissions: PermissionWithRoles[];\n};\n\nexport interface UserRole {\n isSuperadmin?: boolean;\n role: string;\n org: string;\n scope: string;\n permissionCount: number;\n fullName?: string;\n username?: string;\n email?: string;\n}\n\nexport interface RoleToDelete {\n role: string;\n name?: string;\n scope: string;\n}\n\nexport type UserRoleWithPermissions = UserRole & {\n canManageScope?: boolean;\n};\n"]}
|
package/package.json
ADDED
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@openedx/frontend-app-admin-console",
|
|
3
|
+
"version": "1.0.0-alpha.0",
|
|
4
|
+
"description": "Frontend Admin Console",
|
|
5
|
+
"packageManager": "npm@11.12.1",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "git+https://github.com/openedx/frontend-app-admin-console.git"
|
|
9
|
+
},
|
|
10
|
+
"exports": {
|
|
11
|
+
".": "./dist/index.js"
|
|
12
|
+
},
|
|
13
|
+
"files": [
|
|
14
|
+
"/dist"
|
|
15
|
+
],
|
|
16
|
+
"workspaces": [
|
|
17
|
+
"packages/*"
|
|
18
|
+
],
|
|
19
|
+
"browserslist": [
|
|
20
|
+
"extends @edx/browserslist-config"
|
|
21
|
+
],
|
|
22
|
+
"sideEffects": [
|
|
23
|
+
"*.css",
|
|
24
|
+
"*.scss"
|
|
25
|
+
],
|
|
26
|
+
"scripts": {
|
|
27
|
+
"build": "make build",
|
|
28
|
+
"build:ci": "make build-ci",
|
|
29
|
+
"clean": "make clean",
|
|
30
|
+
"i18n_extract": "openedx formatjs extract",
|
|
31
|
+
"lint": "openedx lint .",
|
|
32
|
+
"lint:fix": "openedx lint --fix .",
|
|
33
|
+
"prepack": "npm run clean && npm run build",
|
|
34
|
+
"snapshot": "openedx test --updateSnapshot",
|
|
35
|
+
"dev": "PORT=2025 PUBLIC_PATH=/admin-console openedx dev",
|
|
36
|
+
"test": "openedx test --coverage --passWithNoTests",
|
|
37
|
+
"types": "tsc --noEmit",
|
|
38
|
+
"translations:pull": "openedx translations:pull",
|
|
39
|
+
"build:packages": "make build-packages",
|
|
40
|
+
"clean:packages": "make clean-packages",
|
|
41
|
+
"dev:site": "make dev-site",
|
|
42
|
+
"dev:packages": "make dev-packages",
|
|
43
|
+
"watch:build": "nodemon --exec 'npm run build'"
|
|
44
|
+
},
|
|
45
|
+
"atlasTranslations": {
|
|
46
|
+
"path": "translations/frontend-app-admin-console/src/i18n/messages",
|
|
47
|
+
"dependencies": [
|
|
48
|
+
"@openedx/frontend-base"
|
|
49
|
+
]
|
|
50
|
+
},
|
|
51
|
+
"author": "Open edX",
|
|
52
|
+
"license": "AGPL-3.0",
|
|
53
|
+
"homepage": "https://github.com/openedx/frontend-app-admin-console#readme",
|
|
54
|
+
"publishConfig": {
|
|
55
|
+
"access": "public"
|
|
56
|
+
},
|
|
57
|
+
"bugs": {
|
|
58
|
+
"url": "https://github.com/openedx/frontend-app-admin-console/issues"
|
|
59
|
+
},
|
|
60
|
+
"peerDependencies": {
|
|
61
|
+
"@openedx/frontend-base": "^2.0.0-alpha.2 || 0.0.0-dev",
|
|
62
|
+
"@openedx/paragon": "^23",
|
|
63
|
+
"@tanstack/react-query": "^5",
|
|
64
|
+
"react": "^18.3.1",
|
|
65
|
+
"react-dom": "^18.3.1",
|
|
66
|
+
"react-router-dom": "^6"
|
|
67
|
+
},
|
|
68
|
+
"devDependencies": {
|
|
69
|
+
"@edx/browserslist-config": "^1.1.1",
|
|
70
|
+
"@testing-library/dom": "^10.4.1",
|
|
71
|
+
"@testing-library/jest-dom": "^6.6.4",
|
|
72
|
+
"@testing-library/react": "^16.3.0",
|
|
73
|
+
"@testing-library/user-event": "^14.6.1",
|
|
74
|
+
"@types/jest": "^29.5.14",
|
|
75
|
+
"@types/react": "^18",
|
|
76
|
+
"@types/react-dom": "^18",
|
|
77
|
+
"@types/react-helmet": "^6.1.11",
|
|
78
|
+
"nodemon": "^3.1.14",
|
|
79
|
+
"tsc-alias": "^1.9.1",
|
|
80
|
+
"turbo": "^2.10.11"
|
|
81
|
+
},
|
|
82
|
+
"dependencies": {
|
|
83
|
+
"@edx/openedx-atlas": "^0.7.0",
|
|
84
|
+
"lodash.debounce": "^4.0.8",
|
|
85
|
+
"react-error-boundary": "^4.1.2",
|
|
86
|
+
"react-helmet": "^6.1.0"
|
|
87
|
+
}
|
|
88
|
+
}
|