studiokit-scaffolding-js 7.0.14-alpha.1 → 7.1.1
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/lib/components/ActionList.d.ts +2 -2
- package/lib/components/ActionList.js +166 -87
- package/lib/components/AlertDialog.d.ts +3 -3
- package/lib/components/AlertDialog.js +133 -18
- package/lib/components/AlertWithIcon.js +93 -52
- package/lib/components/ConnectedModal.d.ts +1 -2
- package/lib/components/ConnectedModal.js +41 -35
- package/lib/components/Dropdowns/GroupsDropdown.d.ts +4 -4
- package/lib/components/Dropdowns/GroupsDropdown.js +69 -82
- package/lib/components/Dropdowns/ManagedNavDropdown.d.ts +2 -2
- package/lib/components/Dropdowns/ManagedNavDropdown.js +96 -108
- package/lib/components/Dropdowns/UserDropdown.js +109 -70
- package/lib/components/Dropdowns/index.js +27 -11
- package/lib/components/EntityOwnerList.d.ts +3 -3
- package/lib/components/EntityOwnerList.js +52 -60
- package/lib/components/Error.js +107 -27
- package/lib/components/ErrorBoundary.js +133 -94
- package/lib/components/ErrorMessage.d.ts +2 -2
- package/lib/components/ErrorMessage.js +44 -14
- package/lib/components/Forms/DateField.d.ts +2 -2
- package/lib/components/Forms/DateField.js +63 -95
- package/lib/components/Forms/TimeField.d.ts +2 -2
- package/lib/components/Forms/TimeField.js +84 -108
- package/lib/components/Forms/index.js +27 -13
- package/lib/components/Groups/CreateEditCopySaveButtons.d.ts +2 -2
- package/lib/components/Groups/CreateEditCopySaveButtons.js +102 -14
- package/lib/components/Groups/ExternalGroups/Attach.d.ts +6 -7
- package/lib/components/Groups/ExternalGroups/Attach.js +213 -188
- package/lib/components/Groups/ExternalGroups/Table.js +183 -76
- package/lib/components/Groups/GroupCreateOrEditCommonProps.js +5 -1
- package/lib/components/Groups/RosterSyncInfo.js +140 -49
- package/lib/components/HOC/AccessibleAppComponent.d.ts +2 -2
- package/lib/components/HOC/AccessibleAppComponent.js +96 -119
- package/lib/components/HOC/ActivityRequiredComponent.d.ts +14 -14
- package/lib/components/HOC/ActivityRequiredComponent.js +72 -86
- package/lib/components/HOC/AsyncComponent.d.ts +9 -9
- package/lib/components/HOC/AsyncComponent.js +53 -129
- package/lib/components/HOC/AuthenticatedComponent.d.ts +4 -4
- package/lib/components/HOC/AuthenticatedComponent.js +59 -96
- package/lib/components/HOC/CollectionComponent.d.ts +12 -12
- package/lib/components/HOC/CollectionComponent.js +161 -161
- package/lib/components/HOC/CollectionFirstItemComponent.d.ts +13 -13
- package/lib/components/HOC/CollectionFirstItemComponent.js +49 -91
- package/lib/components/HOC/CollectionItemComponent.d.ts +9 -9
- package/lib/components/HOC/CollectionItemComponent.js +159 -158
- package/lib/components/HOC/ConnectedModalComponent.d.ts +9 -9
- package/lib/components/HOC/ConnectedModalComponent.js +96 -126
- package/lib/components/HOC/DataDependentComponent.d.ts +3 -55
- package/lib/components/HOC/DataDependentComponent.js +30 -79
- package/lib/components/HOC/EntityComponent.d.ts +13 -13
- package/lib/components/HOC/EntityComponent.js +63 -101
- package/lib/components/HOC/FullscreenModalComponent.d.ts +9 -9
- package/lib/components/HOC/FullscreenModalComponent.js +145 -165
- package/lib/components/HOC/GroupActivityRequiredComponent.d.ts +2 -2
- package/lib/components/HOC/GroupActivityRequiredComponent.js +32 -31
- package/lib/components/HOC/GuidComponent.d.ts +1 -1
- package/lib/components/HOC/GuidComponent.js +25 -64
- package/lib/components/HOC/ModelContextDependencyVerifyComponent.d.ts +28 -29
- package/lib/components/HOC/ModelContextDependencyVerifyComponent.js +36 -59
- package/lib/components/HOC/ModelErrorRedirectComponent.d.ts +10 -10
- package/lib/components/HOC/ModelErrorRedirectComponent.js +40 -83
- package/lib/components/HOC/SearchPersistorComponent.d.ts +4 -4
- package/lib/components/HOC/SearchPersistorComponent.js +243 -216
- package/lib/components/HOC/UnauthenticatedComponent.d.ts +12 -12
- package/lib/components/HOC/UnauthenticatedComponent.js +37 -82
- package/lib/components/HOC/UserComponent.d.ts +1 -1
- package/lib/components/HOC/UserComponent.js +12 -11
- package/lib/components/Icons/IconAlphaList.js +34 -20
- package/lib/components/Icons/IconExternalUser.js +34 -20
- package/lib/components/Icons/IconImpersonation.js +34 -20
- package/lib/components/Icons/IconStopImpersonating.js +34 -20
- package/lib/components/Icons/IconTable.js +35 -21
- package/lib/components/Icons/IconTableDeleteCol.js +34 -20
- package/lib/components/Icons/IconTableDeleteRow.js +34 -20
- package/lib/components/Icons/IconTableInsertCol.js +34 -20
- package/lib/components/Icons/IconTableInsertRow.js +34 -20
- package/lib/components/Impersonation/Button.d.ts +2 -2
- package/lib/components/Impersonation/Button.js +76 -56
- package/lib/components/Impersonation/Link.d.ts +2 -2
- package/lib/components/Impersonation/Link.js +76 -53
- package/lib/components/Impersonation/UserDetail.d.ts +2 -2
- package/lib/components/Impersonation/UserDetail.js +64 -15
- package/lib/components/Loading.js +27 -21
- package/lib/components/LockDownBrowser/Check.js +194 -107
- package/lib/components/LockDownBrowser/ExitButton.js +27 -14
- package/lib/components/LockDownBrowser/Launch.js +70 -85
- package/lib/components/Lti/Confirm.js +152 -33
- package/lib/components/Lti/CreateNonLtiGroupAlertDialog.d.ts +4 -2
- package/lib/components/Lti/CreateNonLtiGroupAlertDialog.js +170 -78
- package/lib/components/Lti/Launch.js +105 -49
- package/lib/components/Lti/LaunchGroup.js +85 -39
- package/lib/components/ManageTable.d.ts +1 -2
- package/lib/components/ManageTable.js +309 -104
- package/lib/components/ManageTableNoDataComponent.js +42 -22
- package/lib/components/NewVersionAlert.d.ts +2 -2
- package/lib/components/NewVersionAlert.js +82 -91
- package/lib/components/NotFound.js +87 -28
- package/lib/components/Notifications.d.ts +4 -4
- package/lib/components/Notifications.js +187 -169
- package/lib/components/PaginationNextButton.js +33 -21
- package/lib/components/PaginationPreviousButton.js +33 -21
- package/lib/components/Quill/CustomToolbar.d.ts +2 -2
- package/lib/components/Quill/CustomToolbar.js +432 -257
- package/lib/components/Quill/Formats/Image.d.ts +10 -25
- package/lib/components/Quill/Formats/Image.js +76 -82
- package/lib/components/Quill/Formats/List.d.ts +6 -3
- package/lib/components/Quill/Formats/List.js +50 -72
- package/lib/components/Quill/Formats/Video.d.ts +2 -1
- package/lib/components/Quill/Formats/Video.js +29 -43
- package/lib/components/Quill/ImageDropModule.d.ts +1 -1
- package/lib/components/Quill/ImageDropModule.js +142 -115
- package/lib/components/Quill/ImageWarning.d.ts +2 -2
- package/lib/components/Quill/ImageWarning.js +45 -32
- package/lib/components/Quill/ImageWithAltTextModal.d.ts +0 -1
- package/lib/components/Quill/ImageWithAltTextModal.js +425 -141
- package/lib/components/Quill/Specs/CustomImageSpec.d.ts +1 -1
- package/lib/components/Quill/Specs/CustomImageSpec.js +37 -45
- package/lib/components/Quill/Specs/CustomVideoSpec.d.ts +1 -1
- package/lib/components/Quill/Specs/CustomVideoSpec.js +27 -36
- package/lib/components/Quill/TableModule/Blots/BaseTableBlot.d.ts +2 -1
- package/lib/components/Quill/TableModule/Blots/BaseTableBlot.js +100 -116
- package/lib/components/Quill/TableModule/Blots/TableBlot.js +53 -66
- package/lib/components/Quill/TableModule/Blots/TableBodyBlot.js +54 -67
- package/lib/components/Quill/TableModule/Blots/TableCellBlot.d.ts +1 -1
- package/lib/components/Quill/TableModule/Blots/TableCellBlot.js +225 -241
- package/lib/components/Quill/TableModule/Blots/TableContainer.js +82 -99
- package/lib/components/Quill/TableModule/Blots/TableRowBlot.js +76 -87
- package/lib/components/Quill/TableModule/constants.js +45 -41
- package/lib/components/Quill/TableModule/index.css +25 -25
- package/lib/components/Quill/TableModule/index.d.ts +14 -5
- package/lib/components/Quill/TableModule/index.js +373 -313
- package/lib/components/Quill/TableModule/utils.js +45 -45
- package/lib/components/Quill/accessibilityFix.d.ts +0 -1
- package/lib/components/Quill/accessibilityFix.js +222 -238
- package/lib/components/Quill/index.js +36 -32
- package/lib/components/RefreshIndicator/Bordered.js +48 -32
- package/lib/components/RefreshIndicator/Inline.js +48 -33
- package/lib/components/RefreshIndicator/index.d.ts +2 -2
- package/lib/components/RefreshIndicator/index.js +263 -113
- package/lib/components/SearchControls.js +216 -31
- package/lib/components/SentryRoute.js +10 -23
- package/lib/components/Tables/RoleFilter.d.ts +3 -4
- package/lib/components/Tables/RoleFilter.js +71 -46
- package/lib/components/Tables/TextFilter.d.ts +2 -3
- package/lib/components/Tables/TextFilter.js +62 -20
- package/lib/components/UserRoles/Add.d.ts +3 -3
- package/lib/components/UserRoles/Add.js +199 -161
- package/lib/components/UserRoles/Context.js +8 -6
- package/lib/components/UserRoles/RoleCell.js +181 -100
- package/lib/components/UserRoles/Select.js +168 -54
- package/lib/components/UserRoles/Table.js +221 -102
- package/lib/components/UserRoles/index.d.ts +6 -6
- package/lib/components/UserRoles/index.js +535 -464
- package/lib/config/eslint/index.d.ts +2 -0
- package/lib/config/eslint/index.js +36 -0
- package/lib/config/eslint/lib/order.d.ts +3 -0
- package/lib/config/eslint/lib/order.js +30 -0
- package/lib/config/eslint/lib/prettier.d.ts +3 -0
- package/lib/config/eslint/lib/prettier.js +23 -0
- package/lib/config/eslint/lib/typescript.d.ts +2 -0
- package/lib/config/eslint/lib/typescript.js +98 -0
- package/lib/config/eslint/react.d.ts +2 -0
- package/lib/config/eslint/react.js +30 -0
- package/lib/constants/baseActivity.js +30 -26
- package/lib/constants/baseRole.js +14 -10
- package/lib/constants/configuration.d.ts +1 -1
- package/lib/constants/configuration.js +43 -39
- package/lib/constants/externalProviderType.js +10 -6
- package/lib/constants/fetchErrorData.js +15 -11
- package/lib/constants/index.js +137 -23
- package/lib/constants/lockDownBrowser.js +28 -24
- package/lib/constants/mockData.d.ts +4 -6
- package/lib/constants/mockData.js +383 -324
- package/lib/constants/modelStatus.js +15 -11
- package/lib/constants/notificationType.js +12 -8
- package/lib/constants/operatingSystem.js +12 -8
- package/lib/constants/shard.js +11 -7
- package/lib/constants/table.js +21 -21
- package/lib/constants/tier.js +12 -8
- package/lib/constants/userRole.d.ts +1 -2
- package/lib/constants/userRole.js +15 -17
- package/lib/css/components/_buttons.css +11 -3
- package/lib/css/components/_quill.css +3 -3
- package/lib/css/components/_tables.css +6 -5
- package/lib/css/utils/_display.css +12 -19
- package/lib/css/utils/_general.css +1 -1
- package/lib/css/utils/_text.css +2 -1
- package/lib/css/variables.css +0 -4
- package/lib/endpointMappings.js +197 -193
- package/lib/hooks/useCollection.js +83 -65
- package/lib/hooks/useCollectionConfiguration.d.ts +0 -1
- package/lib/hooks/useCollectionConfiguration.js +179 -82
- package/lib/hooks/useCollectionItem.js +155 -58
- package/lib/hooks/useEventCalback.d.ts +14 -0
- package/lib/hooks/useEventCalback.js +51 -0
- package/lib/hooks/useGuid.js +19 -8
- package/lib/hooks/usePrevious.d.ts +24 -1
- package/lib/hooks/usePrevious.js +82 -12
- package/lib/index.js +156 -36
- package/lib/redux/actionCreator.d.ts +6 -6
- package/lib/redux/actionCreator.js +51 -40
- package/lib/redux/actions/AuthAction.js +44 -31
- package/lib/redux/actions/ModalAction.d.ts +1 -1
- package/lib/redux/actions/ModalAction.js +10 -6
- package/lib/redux/actions/ModelAction.d.ts +1 -1
- package/lib/redux/actions/ModelAction.js +77 -49
- package/lib/redux/actions/NotificationAction.js +10 -6
- package/lib/redux/actions/SearchAction.js +9 -5
- package/lib/redux/actions/index.js +60 -16
- package/lib/redux/configureReducers.d.ts +2 -5
- package/lib/redux/configureReducers.js +61 -72
- package/lib/redux/configureStore.d.ts +2 -2
- package/lib/redux/configureStore.js +83 -115
- package/lib/redux/helpers.js +7 -2
- package/lib/redux/reducers/authReducer.js +50 -44
- package/lib/redux/reducers/index.js +41 -15
- package/lib/redux/reducers/modalsReducer.js +49 -52
- package/lib/redux/reducers/modelsReducer.d.ts +2 -2
- package/lib/redux/reducers/modelsReducer.js +136 -135
- package/lib/redux/reducers/notificationsReducer.js +26 -21
- package/lib/redux/reducers/searchReducer.js +18 -12
- package/lib/redux/sagas/appInsightsSaga.js +24 -62
- package/lib/redux/sagas/authSaga.js +287 -414
- package/lib/redux/sagas/caliperSaga.js +154 -248
- package/lib/redux/sagas/clockOffsetSaga.js +35 -76
- package/lib/redux/sagas/configurationSaga.js +13 -46
- package/lib/redux/sagas/downtimeApiErrorSaga.d.ts +0 -1
- package/lib/redux/sagas/downtimeApiErrorSaga.js +23 -64
- package/lib/redux/sagas/errorSaga.d.ts +0 -1
- package/lib/redux/sagas/errorSaga.js +29 -63
- package/lib/redux/sagas/googleAnalyticsSaga.js +29 -69
- package/lib/redux/sagas/identityProviderSaga.js +24 -69
- package/lib/redux/sagas/initialDataLoadSaga.js +38 -29
- package/lib/redux/sagas/lockDownBrowserErrorSaga.d.ts +0 -1
- package/lib/redux/sagas/lockDownBrowserErrorSaga.js +32 -81
- package/lib/redux/sagas/modelFetchSaga.js +331 -411
- package/lib/redux/sagas/noStoreSaga.d.ts +1 -1
- package/lib/redux/sagas/noStoreSaga.js +68 -101
- package/lib/redux/sagas/postLoginDataSaga.js +42 -74
- package/lib/redux/sagas/postLoginRedirectSaga.js +27 -68
- package/lib/redux/sagas/rootSaga.js +85 -137
- package/lib/redux/sagas/sentrySaga.js +29 -85
- package/lib/redux/sagas/userIdSaga.js +18 -54
- package/lib/services/codeProviderService.js +25 -29
- package/lib/services/dateService.js +12 -10
- package/lib/services/documentService.js +15 -10
- package/lib/services/fetchService.js +110 -144
- package/lib/services/persistenceService.d.ts +4 -4
- package/lib/services/persistenceService.js +45 -43
- package/lib/services/ticketProviderService.js +29 -33
- package/lib/services/tokenPersistenceService.js +13 -9
- package/lib/services/windowService.js +21 -17
- package/lib/startup.d.ts +1 -1
- package/lib/startup.js +115 -118
- package/lib/types/AppConfiguration.js +5 -1
- package/lib/types/Artifact.js +11 -7
- package/lib/types/BaseReduxState.js +5 -1
- package/lib/types/Client.js +5 -1
- package/lib/types/Collection.d.ts +3 -3
- package/lib/types/Collection.js +5 -1
- package/lib/types/Configuration.js +5 -1
- package/lib/types/DeepLinkingResponseRequest.js +5 -1
- package/lib/types/DeletableModel.js +5 -1
- package/lib/types/Event.js +5 -1
- package/lib/types/ExternalGroup.js +5 -1
- package/lib/types/ExternalProvider.js +5 -1
- package/lib/types/ExternalTerm.js +5 -1
- package/lib/types/Group.js +5 -1
- package/lib/types/IdentityProvider.js +5 -1
- package/lib/types/LtiLaunch.js +5 -1
- package/lib/types/NameOnlyEntity.js +5 -1
- package/lib/types/Notification.d.ts +2 -2
- package/lib/types/Notification.js +5 -1
- package/lib/types/OptionalRecord.d.ts +1 -1
- package/lib/types/OptionalRecord.js +5 -1
- package/lib/types/OwnerSchedule.d.ts +3 -1
- package/lib/types/OwnerSchedule.js +5 -1
- package/lib/types/PropertyOfType.d.ts +3 -3
- package/lib/types/PropertyOfType.js +5 -1
- package/lib/types/Quill.js +5 -1
- package/lib/types/RoleDescription.d.ts +0 -1
- package/lib/types/RoleDescription.js +5 -1
- package/lib/types/Search.js +5 -1
- package/lib/types/SimpleLocation.js +5 -1
- package/lib/types/UniTime.js +5 -1
- package/lib/types/User.js +5 -1
- package/lib/types/UserRole.js +5 -1
- package/lib/types/auth/AuthState.js +5 -1
- package/lib/types/auth/CasV1LoginRequestBody.js +5 -1
- package/lib/types/auth/ClientCredentials.js +5 -1
- package/lib/types/auth/CodeProviderService.js +5 -1
- package/lib/types/auth/LocalLoginRequestBody.js +5 -1
- package/lib/types/auth/TicketProviderService.js +5 -1
- package/lib/types/auth/TokenPersistenceService.js +5 -1
- package/lib/types/auth/index.js +82 -18
- package/lib/types/externals.d.js +2 -0
- package/lib/types/index.js +313 -39
- package/lib/types/net/EndpointConfig.js +5 -1
- package/lib/types/net/EndpointMapping.js +5 -1
- package/lib/types/net/EndpointMappings.js +5 -1
- package/lib/types/net/ErrorHandler.d.ts +1 -1
- package/lib/types/net/ErrorHandler.js +5 -1
- package/lib/types/net/FetchConfig.d.ts +1 -1
- package/lib/types/net/FetchConfig.js +5 -1
- package/lib/types/net/FetchErrorData.js +10 -6
- package/lib/types/net/FetchResult.d.ts +2 -2
- package/lib/types/net/FetchResult.js +5 -1
- package/lib/types/net/HTTPMethod.d.ts +1 -1
- package/lib/types/net/HTTPMethod.js +5 -1
- package/lib/types/net/HTTPStatusCode.js +16 -12
- package/lib/types/net/Metadata.js +5 -1
- package/lib/types/net/Model.js +5 -1
- package/lib/types/net/ModelCollection.js +5 -1
- package/lib/types/net/ModelsState.js +5 -1
- package/lib/types/net/OAuthToken.js +5 -1
- package/lib/types/net/OAuthTokenOrNull.d.ts +1 -1
- package/lib/types/net/OAuthTokenOrNull.js +5 -1
- package/lib/types/net/TokenAccessFunction.d.ts +1 -1
- package/lib/types/net/TokenAccessFunction.js +5 -1
- package/lib/types/net/index.js +181 -27
- package/lib/utils/baseActivity.d.ts +2 -2
- package/lib/utils/baseActivity.js +93 -91
- package/lib/utils/baseRole.js +37 -33
- package/lib/utils/collection.js +413 -291
- package/lib/utils/cookies.js +22 -37
- package/lib/utils/date.js +210 -210
- package/lib/utils/dom.js +145 -133
- package/lib/utils/domainIdentifier.js +9 -9
- package/lib/utils/entityUserRole.js +6 -2
- package/lib/utils/error.d.ts +1 -1
- package/lib/utils/error.js +18 -16
- package/lib/utils/events.js +37 -30
- package/lib/utils/externalGroup.js +25 -21
- package/lib/utils/externalProviders.js +8 -4
- package/lib/utils/externalTerms.js +9 -6
- package/lib/utils/fetch.d.ts +1 -1
- package/lib/utils/fetch.js +179 -176
- package/lib/utils/group.js +17 -9
- package/lib/utils/groupDates.d.ts +1 -1
- package/lib/utils/groupDates.js +43 -39
- package/lib/utils/groupRoles.js +28 -28
- package/lib/utils/lockDownBrowser.js +16 -12
- package/lib/utils/logger.js +30 -25
- package/lib/utils/lti.js +10 -5
- package/lib/utils/model.d.ts +2 -2
- package/lib/utils/model.js +35 -44
- package/lib/utils/number.js +13 -16
- package/lib/utils/promise.d.ts +6 -1
- package/lib/utils/promise.js +34 -15
- package/lib/utils/quill.js +60 -71
- package/lib/utils/route.d.ts +2 -2
- package/lib/utils/route.js +61 -60
- package/lib/utils/search.d.ts +1 -1
- package/lib/utils/search.js +78 -85
- package/lib/utils/shard.js +38 -41
- package/lib/utils/sort.d.ts +3 -3
- package/lib/utils/sort.js +62 -58
- package/lib/utils/string.js +14 -10
- package/lib/utils/table.d.ts +3 -3
- package/lib/utils/table.js +36 -33
- package/lib/utils/timezone.js +12 -26
- package/lib/utils/url.d.ts +2 -1
- package/lib/utils/url.js +139 -193
- package/lib/utils/user.js +59 -61
- package/lib/utils/userAgent.js +11 -11
- package/lib/utils/userRole.d.ts +3 -3
- package/lib/utils/userRole.js +46 -44
- package/package.json +90 -73
- package/lib/config/eslint/index.cjs +0 -21
- package/lib/config/eslint/lib/order.cjs +0 -22
- package/lib/config/eslint/lib/prettier.cjs +0 -18
- package/lib/config/eslint/lib/typescript.cjs +0 -86
- package/lib/config/eslint/react.cjs +0 -9
- package/lib/css/utils/_focus.css +0 -4
|
@@ -1,85 +1,91 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.defaultOptions = exports.canPerformActivityOnSomeEntities = exports.canPerformActivityOnEntity = exports.canPerformActivityGloballyOrOnSomeEntities = exports.canPerformActivityGloballyOrOnEntity = exports.canPerformActivityGlobally = void 0;
|
|
7
|
+
var _model = require("./model");
|
|
5
8
|
/*
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
+
The functions in this module all are designed as predicates to determine whether a
|
|
10
|
+
user has been granted a set of activities to perform, either at an entity-specific
|
|
11
|
+
level or at a global level.
|
|
9
12
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
+
Because Javascript doesn’t have named parameters, we use an 'options object' to
|
|
14
|
+
pass the needed items. By ensuring all these functions have the same signature,
|
|
15
|
+
we can use them interchangeably in constructing the ActivityRequiredComponent.
|
|
13
16
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
17
|
+
The options object has the following structure:
|
|
18
|
+
{
|
|
19
|
+
entities: {
|
|
20
|
+
{
|
|
21
|
+
1: {
|
|
22
|
+
activities: [
|
|
23
|
+
"activityName1",
|
|
24
|
+
"activityName2"
|
|
25
|
+
...
|
|
26
|
+
]
|
|
27
|
+
},
|
|
28
|
+
...
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
entity: {
|
|
32
|
+
activities: [
|
|
33
|
+
"activityName1",
|
|
34
|
+
"activityName2"
|
|
35
|
+
...
|
|
36
|
+
]
|
|
37
|
+
}
|
|
38
|
+
userInfo: {
|
|
39
|
+
activities: [
|
|
40
|
+
"activityName1",
|
|
41
|
+
"activityName2",
|
|
42
|
+
...
|
|
43
|
+
]
|
|
44
|
+
}
|
|
45
|
+
}
|
|
43
46
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
+
`entity` is a single entity and `entities` is a set of entities to which a user has been granted a set of activities.
|
|
48
|
+
While we could use the array of entities and eliminate the need for the entity property, the singular property will be
|
|
49
|
+
used in most cases and it prevents to the need to stuff the entity in an array unnecessarily.
|
|
47
50
|
|
|
48
|
-
|
|
51
|
+
`userInfo` contains a property with an array of activities the user has been granted at a global level
|
|
49
52
|
*/
|
|
53
|
+
|
|
50
54
|
/**
|
|
51
55
|
* Return true if user has activity for the single entity
|
|
52
56
|
*
|
|
53
57
|
* @param {string} requiredActivity The activity required to return true
|
|
54
58
|
* @param {object} options See above
|
|
55
59
|
*/
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
return !!((_a = options.entity.activities) === null || _a === void 0 ? void 0 : _a.includes(requiredActivity));
|
|
60
|
+
const canPerformActivityOnEntity = (requiredActivity, options) => {
|
|
61
|
+
if (!requiredActivity) {
|
|
62
|
+
throw new Error('`requiredActivity` must be provided');
|
|
63
|
+
}
|
|
64
|
+
if (!options.entity) {
|
|
65
|
+
throw new Error('`options.entity` must be provided');
|
|
66
|
+
}
|
|
67
|
+
return !!options.entity.activities?.includes(requiredActivity);
|
|
65
68
|
};
|
|
66
|
-
|
|
69
|
+
|
|
67
70
|
/**
|
|
68
71
|
* Return true if user has activity on any of the entities
|
|
69
72
|
*
|
|
70
73
|
* @param {string} requiredActivity The activity required to return true
|
|
71
74
|
* @param {object} options See above
|
|
72
75
|
*/
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
76
|
+
exports.canPerformActivityOnEntity = canPerformActivityOnEntity;
|
|
77
|
+
const canPerformActivityOnSomeEntities = (requiredActivity, options) => {
|
|
78
|
+
if (!requiredActivity) {
|
|
79
|
+
throw new Error('`requiredActivity` must be provided');
|
|
80
|
+
}
|
|
81
|
+
if (!options.entities) {
|
|
82
|
+
throw new Error('`options.entities` must be provided');
|
|
83
|
+
}
|
|
84
|
+
return (0, _model.getModelArray)(options.entities).some(entity => canPerformActivityOnEntity(requiredActivity, {
|
|
85
|
+
entity
|
|
86
|
+
}));
|
|
81
87
|
};
|
|
82
|
-
|
|
88
|
+
|
|
83
89
|
/**
|
|
84
90
|
* Return true if user has activity globally
|
|
85
91
|
*
|
|
@@ -91,43 +97,37 @@ exports.canPerformActivityOnSomeEntities = canPerformActivityOnSomeEntities;
|
|
|
91
97
|
* @param {string} requiredActivity The activity required to return true
|
|
92
98
|
* @param {object} options See above
|
|
93
99
|
*/
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
}
|
|
104
|
-
return (!!options &&
|
|
105
|
-
!!options.userInfo &&
|
|
106
|
-
!!options.userInfo.activities &&
|
|
107
|
-
options.userInfo.activities.includes(requiredActivity));
|
|
100
|
+
exports.canPerformActivityOnSomeEntities = canPerformActivityOnSomeEntities;
|
|
101
|
+
const canPerformActivityGlobally = (requiredActivity, options) => {
|
|
102
|
+
if (!requiredActivity) {
|
|
103
|
+
throw new Error('`requiredActivity` must be provided');
|
|
104
|
+
}
|
|
105
|
+
if (!!options.userInfo && !!options.userInfo.activities && !Array.isArray(options.userInfo.activities)) {
|
|
106
|
+
throw new Error('`options.userInfo.activities` must be an array');
|
|
107
|
+
}
|
|
108
|
+
return !!options.userInfo && !!options.userInfo.activities && options.userInfo.activities.includes(requiredActivity);
|
|
108
109
|
};
|
|
109
|
-
|
|
110
|
+
|
|
110
111
|
/**
|
|
111
112
|
* Return true if user has activity either globally or on a single entity
|
|
112
113
|
*
|
|
113
114
|
* @param {string} requiredActivity The activity required to return true
|
|
114
115
|
* @param {object} options See above
|
|
115
116
|
*/
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
exports.canPerformActivityGloballyOrOnEntity = canPerformActivityGloballyOrOnEntity;
|
|
117
|
+
exports.canPerformActivityGlobally = canPerformActivityGlobally;
|
|
118
|
+
const canPerformActivityGloballyOrOnEntity = (requiredActivity, options) => canPerformActivityGlobally(requiredActivity, options) || canPerformActivityOnEntity(requiredActivity, options);
|
|
119
|
+
|
|
120
120
|
/**
|
|
121
121
|
* Return true if user has activity globally or on any of the entities provided
|
|
122
122
|
*
|
|
123
123
|
* @param {string} requiredActivity The activity required to return true
|
|
124
124
|
* @param {object} options See above
|
|
125
125
|
*/
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
126
|
+
exports.canPerformActivityGloballyOrOnEntity = canPerformActivityGloballyOrOnEntity;
|
|
127
|
+
const canPerformActivityGloballyOrOnSomeEntities = (requiredActivity, options) => {
|
|
128
|
+
return canPerformActivityGlobally(requiredActivity, options) || canPerformActivityOnSomeEntities(requiredActivity, options);
|
|
129
129
|
};
|
|
130
|
-
|
|
130
|
+
|
|
131
131
|
/**
|
|
132
132
|
* Return an options object that can be used in the functions in this module. This
|
|
133
133
|
* encapsulates the default logic of looking in state for a set of entities or
|
|
@@ -141,12 +141,14 @@ exports.canPerformActivityGloballyOrOnSomeEntities = canPerformActivityGloballyO
|
|
|
141
141
|
* needed for entity-level activity grants. For sets of entities, this function
|
|
142
142
|
* looks in `state.models`. For a single entity, it looks in `props`
|
|
143
143
|
*/
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
144
|
+
exports.canPerformActivityGloballyOrOnSomeEntities = canPerformActivityGloballyOrOnSomeEntities;
|
|
145
|
+
const defaultOptions = (state, props, modelsProperty) => {
|
|
146
|
+
// if implementing in app, override / decorate with app specific logic
|
|
147
|
+
return {
|
|
148
|
+
entity: modelsProperty ? props && props[modelsProperty] : undefined,
|
|
149
|
+
entities: modelsProperty ? state.models[modelsProperty] : undefined,
|
|
150
|
+
userInfo: state.models.user && state.models.user.userInfo
|
|
151
|
+
};
|
|
151
152
|
};
|
|
152
153
|
exports.defaultOptions = defaultOptions;
|
|
154
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbW9kZWwiLCJyZXF1aXJlIiwiY2FuUGVyZm9ybUFjdGl2aXR5T25FbnRpdHkiLCJyZXF1aXJlZEFjdGl2aXR5Iiwib3B0aW9ucyIsIkVycm9yIiwiZW50aXR5IiwiYWN0aXZpdGllcyIsImluY2x1ZGVzIiwiZXhwb3J0cyIsImNhblBlcmZvcm1BY3Rpdml0eU9uU29tZUVudGl0aWVzIiwiZW50aXRpZXMiLCJnZXRNb2RlbEFycmF5Iiwic29tZSIsImNhblBlcmZvcm1BY3Rpdml0eUdsb2JhbGx5IiwidXNlckluZm8iLCJBcnJheSIsImlzQXJyYXkiLCJjYW5QZXJmb3JtQWN0aXZpdHlHbG9iYWxseU9yT25FbnRpdHkiLCJjYW5QZXJmb3JtQWN0aXZpdHlHbG9iYWxseU9yT25Tb21lRW50aXRpZXMiLCJkZWZhdWx0T3B0aW9ucyIsInN0YXRlIiwicHJvcHMiLCJtb2RlbHNQcm9wZXJ0eSIsInVuZGVmaW5lZCIsIm1vZGVscyIsInVzZXIiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvYmFzZUFjdGl2aXR5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VSZWR1eFN0YXRlLCBNb2RlbCwgTW9kZWxDb2xsZWN0aW9uLCBVc2VySW5mbyB9IGZyb20gJy4uL3R5cGVzJ1xuaW1wb3J0IHsgZ2V0TW9kZWxBcnJheSB9IGZyb20gJy4vbW9kZWwnXG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aXZpdHlPcHRpb25zIHtcblx0ZW50aXR5PzogTW9kZWwgJiB7XG5cdFx0YWN0aXZpdGllcz86IHN0cmluZ1tdXG5cdH1cblx0ZW50aXRpZXM/OiBNb2RlbENvbGxlY3Rpb25cblx0dXNlckluZm8/OiBVc2VySW5mbyB8IFBhcnRpYWw8VXNlckluZm8+XG59XG5cbi8qXG5cdFRoZSBmdW5jdGlvbnMgaW4gdGhpcyBtb2R1bGUgYWxsIGFyZSBkZXNpZ25lZCBhcyBwcmVkaWNhdGVzIHRvIGRldGVybWluZSB3aGV0aGVyIGFcblx0dXNlciBoYXMgYmVlbiBncmFudGVkIGEgc2V0IG9mIGFjdGl2aXRpZXMgdG8gcGVyZm9ybSwgZWl0aGVyIGF0IGFuIGVudGl0eS1zcGVjaWZpY1xuXHRsZXZlbCBvciBhdCBhIGdsb2JhbCBsZXZlbC5cblxuXHRCZWNhdXNlIEphdmFzY3JpcHQgZG9lc27igJl0IGhhdmUgbmFtZWQgcGFyYW1ldGVycywgd2UgdXNlIGFuICdvcHRpb25zIG9iamVjdCcgdG9cblx0cGFzcyB0aGUgbmVlZGVkIGl0ZW1zLiBCeSBlbnN1cmluZyBhbGwgdGhlc2UgZnVuY3Rpb25zIGhhdmUgdGhlIHNhbWUgc2lnbmF0dXJlLFxuXHR3ZSBjYW4gdXNlIHRoZW0gaW50ZXJjaGFuZ2VhYmx5IGluIGNvbnN0cnVjdGluZyB0aGUgQWN0aXZpdHlSZXF1aXJlZENvbXBvbmVudC5cblxuXHRUaGUgb3B0aW9ucyBvYmplY3QgaGFzIHRoZSBmb2xsb3dpbmcgc3RydWN0dXJlOlxuXHR7XG5cdFx0ZW50aXRpZXM6IHtcblx0XHRcdHtcblx0XHRcdFx0MToge1xuXHRcdFx0XHRcdFx0YWN0aXZpdGllczogW1xuXHRcdFx0XHRcdFx0XHRcImFjdGl2aXR5TmFtZTFcIixcblx0XHRcdFx0XHRcdFx0XCJhY3Rpdml0eU5hbWUyXCJcblx0XHRcdFx0XHRcdFx0Li4uXG5cdFx0XHRcdFx0XHRdXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHQuLi5cblx0XHRcdH1cblx0XHR9LFxuXHRcdGVudGl0eToge1xuXHRcdFx0XHRhY3Rpdml0aWVzOiBbXG5cdFx0XHRcdFx0XCJhY3Rpdml0eU5hbWUxXCIsXG5cdFx0XHRcdFx0XCJhY3Rpdml0eU5hbWUyXCJcblx0XHRcdFx0XHQuLi5cblx0XHRcdFx0XVxuXHRcdH1cblx0XHR1c2VySW5mbzoge1xuXHRcdFx0YWN0aXZpdGllczogW1xuXHRcdFx0XHRcImFjdGl2aXR5TmFtZTFcIixcblx0XHRcdFx0XCJhY3Rpdml0eU5hbWUyXCIsXG5cdFx0XHRcdC4uLlxuXHRcdFx0XVxuXHRcdH1cblx0fVxuXG5cdGBlbnRpdHlgIGlzIGEgc2luZ2xlIGVudGl0eSBhbmQgYGVudGl0aWVzYCBpcyBhIHNldCBvZiBlbnRpdGllcyB0byB3aGljaCBhIHVzZXIgaGFzIGJlZW4gZ3JhbnRlZCBhIHNldCBvZiBhY3Rpdml0aWVzLlxuXHRXaGlsZSB3ZSBjb3VsZCB1c2UgdGhlIGFycmF5IG9mIGVudGl0aWVzIGFuZCBlbGltaW5hdGUgdGhlIG5lZWQgZm9yIHRoZSBlbnRpdHkgcHJvcGVydHksIHRoZSBzaW5ndWxhciBwcm9wZXJ0eSB3aWxsIGJlXG5cdHVzZWQgaW4gbW9zdCBjYXNlcyBhbmQgaXQgcHJldmVudHMgdG8gdGhlIG5lZWQgdG8gc3R1ZmYgdGhlIGVudGl0eSBpbiBhbiBhcnJheSB1bm5lY2Vzc2FyaWx5LlxuXG5cdGB1c2VySW5mb2AgY29udGFpbnMgYSBwcm9wZXJ0eSB3aXRoIGFuIGFycmF5IG9mIGFjdGl2aXRpZXMgdGhlIHVzZXIgaGFzIGJlZW4gZ3JhbnRlZCBhdCBhIGdsb2JhbCBsZXZlbFxuKi9cblxuLyoqXG4gKiBSZXR1cm4gdHJ1ZSBpZiB1c2VyIGhhcyBhY3Rpdml0eSBmb3IgdGhlIHNpbmdsZSBlbnRpdHlcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gcmVxdWlyZWRBY3Rpdml0eSBUaGUgYWN0aXZpdHkgcmVxdWlyZWQgdG8gcmV0dXJuIHRydWVcbiAqIEBwYXJhbSB7b2JqZWN0fSBvcHRpb25zIFNlZSBhYm92ZVxuICovXG5leHBvcnQgY29uc3QgY2FuUGVyZm9ybUFjdGl2aXR5T25FbnRpdHkgPSAocmVxdWlyZWRBY3Rpdml0eTogc3RyaW5nLCBvcHRpb25zOiBBY3Rpdml0eU9wdGlvbnMpID0+IHtcblx0aWYgKCFyZXF1aXJlZEFjdGl2aXR5KSB7XG5cdFx0dGhyb3cgbmV3IEVycm9yKCdgcmVxdWlyZWRBY3Rpdml0eWAgbXVzdCBiZSBwcm92aWRlZCcpXG5cdH1cblx0aWYgKCFvcHRpb25zLmVudGl0eSkge1xuXHRcdHRocm93IG5ldyBFcnJvcignYG9wdGlvbnMuZW50aXR5YCBtdXN0IGJlIHByb3ZpZGVkJylcblx0fVxuXHRyZXR1cm4gISFvcHRpb25zLmVudGl0eS5hY3Rpdml0aWVzPy5pbmNsdWRlcyhyZXF1aXJlZEFjdGl2aXR5KVxufVxuXG4vKipcbiAqIFJldHVybiB0cnVlIGlmIHVzZXIgaGFzIGFjdGl2aXR5IG9uIGFueSBvZiB0aGUgZW50aXRpZXNcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gcmVxdWlyZWRBY3Rpdml0eSBUaGUgYWN0aXZpdHkgcmVxdWlyZWQgdG8gcmV0dXJuIHRydWVcbiAqIEBwYXJhbSB7b2JqZWN0fSBvcHRpb25zIFNlZSBhYm92ZVxuICovXG5leHBvcnQgY29uc3QgY2FuUGVyZm9ybUFjdGl2aXR5T25Tb21lRW50aXRpZXMgPSAocmVxdWlyZWRBY3Rpdml0eTogc3RyaW5nLCBvcHRpb25zOiBBY3Rpdml0eU9wdGlvbnMpID0+IHtcblx0aWYgKCFyZXF1aXJlZEFjdGl2aXR5KSB7XG5cdFx0dGhyb3cgbmV3IEVycm9yKCdgcmVxdWlyZWRBY3Rpdml0eWAgbXVzdCBiZSBwcm92aWRlZCcpXG5cdH1cblx0aWYgKCFvcHRpb25zLmVudGl0aWVzKSB7XG5cdFx0dGhyb3cgbmV3IEVycm9yKCdgb3B0aW9ucy5lbnRpdGllc2AgbXVzdCBiZSBwcm92aWRlZCcpXG5cdH1cblx0cmV0dXJuIGdldE1vZGVsQXJyYXkob3B0aW9ucy5lbnRpdGllcykuc29tZShlbnRpdHkgPT4gY2FuUGVyZm9ybUFjdGl2aXR5T25FbnRpdHkocmVxdWlyZWRBY3Rpdml0eSwgeyBlbnRpdHkgfSkpXG59XG5cbi8qKlxuICogUmV0dXJuIHRydWUgaWYgdXNlciBoYXMgYWN0aXZpdHkgZ2xvYmFsbHlcbiAqXG4gKiBUaGlzIGZ1bmN0aW9uIGNhbiBhY2NlcHQgYW4gbnVsbC91bmRlZmluZWQgdXNlckluZm8gcHJvcGVydHkgZm9yIHRoZVxuICogb3B0aW9ucyBhcmd1bWVudC4gSW4gd2hpY2ggY2FzZSBpdCByZXR1cm5zIGZhbHNlLiBUaGlzIGlzIGJlY2F1c2UgdXNlckluZm9cbiAqIG1heSBub3QgYmUgbG9hZGVkIHlldC4gSWYgaXQgaXMgcHJvdmlkZWQgaG93ZXZlciwgaXQgbXVzdCBjb250YWluIGFuXG4gKiBhY3Rpdml0aWVzIGFycmF5XG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHJlcXVpcmVkQWN0aXZpdHkgVGhlIGFjdGl2aXR5IHJlcXVpcmVkIHRvIHJldHVybiB0cnVlXG4gKiBAcGFyYW0ge29iamVjdH0gb3B0aW9ucyBTZWUgYWJvdmVcbiAqL1xuZXhwb3J0IGNvbnN0IGNhblBlcmZvcm1BY3Rpdml0eUdsb2JhbGx5ID0gKHJlcXVpcmVkQWN0aXZpdHk6IHN0cmluZywgb3B0aW9uczogQWN0aXZpdHlPcHRpb25zKSA9PiB7XG5cdGlmICghcmVxdWlyZWRBY3Rpdml0eSkge1xuXHRcdHRocm93IG5ldyBFcnJvcignYHJlcXVpcmVkQWN0aXZpdHlgIG11c3QgYmUgcHJvdmlkZWQnKVxuXHR9XG5cdGlmICghIW9wdGlvbnMudXNlckluZm8gJiYgISFvcHRpb25zLnVzZXJJbmZvLmFjdGl2aXRpZXMgJiYgIUFycmF5LmlzQXJyYXkob3B0aW9ucy51c2VySW5mby5hY3Rpdml0aWVzKSkge1xuXHRcdHRocm93IG5ldyBFcnJvcignYG9wdGlvbnMudXNlckluZm8uYWN0aXZpdGllc2AgbXVzdCBiZSBhbiBhcnJheScpXG5cdH1cblx0cmV0dXJuICEhb3B0aW9ucy51c2VySW5mbyAmJiAhIW9wdGlvbnMudXNlckluZm8uYWN0aXZpdGllcyAmJiBvcHRpb25zLnVzZXJJbmZvLmFjdGl2aXRpZXMuaW5jbHVkZXMocmVxdWlyZWRBY3Rpdml0eSlcbn1cblxuLyoqXG4gKiBSZXR1cm4gdHJ1ZSBpZiB1c2VyIGhhcyBhY3Rpdml0eSBlaXRoZXIgZ2xvYmFsbHkgb3Igb24gYSBzaW5nbGUgZW50aXR5XG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHJlcXVpcmVkQWN0aXZpdHkgVGhlIGFjdGl2aXR5IHJlcXVpcmVkIHRvIHJldHVybiB0cnVlXG4gKiBAcGFyYW0ge29iamVjdH0gb3B0aW9ucyBTZWUgYWJvdmVcbiAqL1xuZXhwb3J0IGNvbnN0IGNhblBlcmZvcm1BY3Rpdml0eUdsb2JhbGx5T3JPbkVudGl0eSA9IChyZXF1aXJlZEFjdGl2aXR5OiBzdHJpbmcsIG9wdGlvbnM6IEFjdGl2aXR5T3B0aW9ucykgPT5cblx0Y2FuUGVyZm9ybUFjdGl2aXR5R2xvYmFsbHkocmVxdWlyZWRBY3Rpdml0eSwgb3B0aW9ucykgfHwgY2FuUGVyZm9ybUFjdGl2aXR5T25FbnRpdHkocmVxdWlyZWRBY3Rpdml0eSwgb3B0aW9ucylcblxuLyoqXG4gKiBSZXR1cm4gdHJ1ZSBpZiB1c2VyIGhhcyBhY3Rpdml0eSBnbG9iYWxseSBvciBvbiBhbnkgb2YgdGhlIGVudGl0aWVzIHByb3ZpZGVkXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHJlcXVpcmVkQWN0aXZpdHkgVGhlIGFjdGl2aXR5IHJlcXVpcmVkIHRvIHJldHVybiB0cnVlXG4gKiBAcGFyYW0ge29iamVjdH0gb3B0aW9ucyBTZWUgYWJvdmVcbiAqL1xuZXhwb3J0IGNvbnN0IGNhblBlcmZvcm1BY3Rpdml0eUdsb2JhbGx5T3JPblNvbWVFbnRpdGllcyA9IChyZXF1aXJlZEFjdGl2aXR5OiBzdHJpbmcsIG9wdGlvbnM6IEFjdGl2aXR5T3B0aW9ucykgPT4ge1xuXHRyZXR1cm4gKFxuXHRcdGNhblBlcmZvcm1BY3Rpdml0eUdsb2JhbGx5KHJlcXVpcmVkQWN0aXZpdHksIG9wdGlvbnMpIHx8XG5cdFx0Y2FuUGVyZm9ybUFjdGl2aXR5T25Tb21lRW50aXRpZXMocmVxdWlyZWRBY3Rpdml0eSwgb3B0aW9ucylcblx0KVxufVxuXG4vKipcbiAqIFJldHVybiBhbiBvcHRpb25zIG9iamVjdCB0aGF0IGNhbiBiZSB1c2VkIGluIHRoZSBmdW5jdGlvbnMgaW4gdGhpcyBtb2R1bGUuIFRoaXNcbiAqIGVuY2Fwc3VsYXRlcyB0aGUgZGVmYXVsdCBsb2dpYyBvZiBsb29raW5nIGluIHN0YXRlIGZvciBhIHNldCBvZiBlbnRpdGllcyBvclxuICogbG9va2luZyBpbiBwcm9wcyBmb3IgYSBzaW5nbGUgZW50aXR5LlxuICpcbiAqIE92ZXJyaWRlIG9yIGRlY29yYXRlIHdpdGggYXBwIHNwZWNpZmljIGxvZ2ljIGluIHlvdXIgYXBwIGlmIG5lZWRlZC5cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gc3RhdGUgVGhlIHJlZHV4IHN0YXRlXG4gKiBAcGFyYW0ge09iamVjdH0gW3Byb3BzXSBBIHByb3BzIG9iamVjdCAodHlwaWNhbGx5IG93blByb3BzKVxuICogQHBhcmFtIHtzdHJpbmd9IFttb2RlbHNQcm9wZXJ0eV0gVGhlIHByb3BlcnR5IHVzZWQgdG8gbG9jYXRlIHRoZSBlbnRpdHkgb3IgZW50aXRpZXNcbiAqIG5lZWRlZCBmb3IgZW50aXR5LWxldmVsIGFjdGl2aXR5IGdyYW50cy4gRm9yIHNldHMgb2YgZW50aXRpZXMsIHRoaXMgZnVuY3Rpb25cbiAqIGxvb2tzIGluIGBzdGF0ZS5tb2RlbHNgLiBGb3IgYSBzaW5nbGUgZW50aXR5LCBpdCBsb29rcyBpbiBgcHJvcHNgXG4gKi9cbmV4cG9ydCBjb25zdCBkZWZhdWx0T3B0aW9ucyA9IChzdGF0ZTogQmFzZVJlZHV4U3RhdGUsIHByb3BzPzogYW55LCBtb2RlbHNQcm9wZXJ0eT86IHN0cmluZyk6IEFjdGl2aXR5T3B0aW9ucyA9PiB7XG5cdC8vIGlmIGltcGxlbWVudGluZyBpbiBhcHAsIG92ZXJyaWRlIC8gZGVjb3JhdGUgd2l0aCBhcHAgc3BlY2lmaWMgbG9naWNcblx0cmV0dXJuIHtcblx0XHRlbnRpdHk6IG1vZGVsc1Byb3BlcnR5ID8gcHJvcHMgJiYgcHJvcHNbbW9kZWxzUHJvcGVydHldIDogdW5kZWZpbmVkLFxuXHRcdGVudGl0aWVzOiBtb2RlbHNQcm9wZXJ0eSA/IChzdGF0ZS5tb2RlbHNbbW9kZWxzUHJvcGVydHldIGFzIE1vZGVsQ29sbGVjdGlvbiB8IHVuZGVmaW5lZCkgOiB1bmRlZmluZWQsXG5cdFx0dXNlckluZm86IHN0YXRlLm1vZGVscy51c2VyICYmIHN0YXRlLm1vZGVscy51c2VyLnVzZXJJbmZvXG5cdH1cbn1cbiJdLCJt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
|
package/lib/utils/baseRole.js
CHANGED
|
@@ -1,38 +1,42 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.textForBaseRole = exports.singularArticleForBaseRole = void 0;
|
|
7
|
+
var _baseRole = require("../constants/baseRole");
|
|
8
|
+
const textForBaseRole = role => {
|
|
9
|
+
switch (role) {
|
|
10
|
+
case _baseRole.BASE_ROLE.SUPER_ADMIN:
|
|
11
|
+
return 'Super Admin';
|
|
12
|
+
case _baseRole.BASE_ROLE.ADMIN:
|
|
13
|
+
return 'Admin';
|
|
14
|
+
case _baseRole.BASE_ROLE.CREATOR:
|
|
15
|
+
return 'Creator';
|
|
16
|
+
case _baseRole.BASE_ROLE.GROUP_LEARNER:
|
|
17
|
+
return 'Student';
|
|
18
|
+
case _baseRole.BASE_ROLE.GROUP_OWNER:
|
|
19
|
+
return 'Instructor';
|
|
20
|
+
case _baseRole.BASE_ROLE.GROUP_GRADER:
|
|
21
|
+
return 'Grader';
|
|
22
|
+
default:
|
|
23
|
+
throw new Error(`role '${role}' was not found in switch statement`);
|
|
24
|
+
}
|
|
22
25
|
};
|
|
23
26
|
exports.textForBaseRole = textForBaseRole;
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
27
|
+
const singularArticleForBaseRole = role => {
|
|
28
|
+
switch (role) {
|
|
29
|
+
case _baseRole.BASE_ROLE.ADMIN:
|
|
30
|
+
case _baseRole.BASE_ROLE.GROUP_OWNER:
|
|
31
|
+
return 'an';
|
|
32
|
+
case _baseRole.BASE_ROLE.SUPER_ADMIN:
|
|
33
|
+
case _baseRole.BASE_ROLE.GROUP_LEARNER:
|
|
34
|
+
case _baseRole.BASE_ROLE.GROUP_GRADER:
|
|
35
|
+
case _baseRole.BASE_ROLE.CREATOR:
|
|
36
|
+
return 'a';
|
|
37
|
+
default:
|
|
38
|
+
throw new Error(`role '${role}' was not found in switch statement`);
|
|
39
|
+
}
|
|
37
40
|
};
|
|
38
41
|
exports.singularArticleForBaseRole = singularArticleForBaseRole;
|
|
42
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYmFzZVJvbGUiLCJyZXF1aXJlIiwidGV4dEZvckJhc2VSb2xlIiwicm9sZSIsIkJBU0VfUk9MRSIsIlNVUEVSX0FETUlOIiwiQURNSU4iLCJDUkVBVE9SIiwiR1JPVVBfTEVBUk5FUiIsIkdST1VQX09XTkVSIiwiR1JPVVBfR1JBREVSIiwiRXJyb3IiLCJleHBvcnRzIiwic2luZ3VsYXJBcnRpY2xlRm9yQmFzZVJvbGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvYmFzZVJvbGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQkFTRV9ST0xFIH0gZnJvbSAnLi4vY29uc3RhbnRzL2Jhc2VSb2xlJ1xuXG5leHBvcnQgY29uc3QgdGV4dEZvckJhc2VSb2xlID0gKHJvbGU6IHN0cmluZyk6IHN0cmluZyA9PiB7XG5cdHN3aXRjaCAocm9sZSkge1xuXHRcdGNhc2UgQkFTRV9ST0xFLlNVUEVSX0FETUlOOlxuXHRcdFx0cmV0dXJuICdTdXBlciBBZG1pbidcblx0XHRjYXNlIEJBU0VfUk9MRS5BRE1JTjpcblx0XHRcdHJldHVybiAnQWRtaW4nXG5cdFx0Y2FzZSBCQVNFX1JPTEUuQ1JFQVRPUjpcblx0XHRcdHJldHVybiAnQ3JlYXRvcidcblx0XHRjYXNlIEJBU0VfUk9MRS5HUk9VUF9MRUFSTkVSOlxuXHRcdFx0cmV0dXJuICdTdHVkZW50J1xuXHRcdGNhc2UgQkFTRV9ST0xFLkdST1VQX09XTkVSOlxuXHRcdFx0cmV0dXJuICdJbnN0cnVjdG9yJ1xuXHRcdGNhc2UgQkFTRV9ST0xFLkdST1VQX0dSQURFUjpcblx0XHRcdHJldHVybiAnR3JhZGVyJ1xuXHRcdGRlZmF1bHQ6XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYHJvbGUgJyR7cm9sZX0nIHdhcyBub3QgZm91bmQgaW4gc3dpdGNoIHN0YXRlbWVudGApXG5cdH1cbn1cblxuZXhwb3J0IGNvbnN0IHNpbmd1bGFyQXJ0aWNsZUZvckJhc2VSb2xlID0gKHJvbGU6IHN0cmluZyk6IHN0cmluZyA9PiB7XG5cdHN3aXRjaCAocm9sZSkge1xuXHRcdGNhc2UgQkFTRV9ST0xFLkFETUlOOlxuXHRcdGNhc2UgQkFTRV9ST0xFLkdST1VQX09XTkVSOlxuXHRcdFx0cmV0dXJuICdhbidcblx0XHRjYXNlIEJBU0VfUk9MRS5TVVBFUl9BRE1JTjpcblx0XHRjYXNlIEJBU0VfUk9MRS5HUk9VUF9MRUFSTkVSOlxuXHRcdGNhc2UgQkFTRV9ST0xFLkdST1VQX0dSQURFUjpcblx0XHRjYXNlIEJBU0VfUk9MRS5DUkVBVE9SOlxuXHRcdFx0cmV0dXJuICdhJ1xuXHRcdGRlZmF1bHQ6XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYHJvbGUgJyR7cm9sZX0nIHdhcyBub3QgZm91bmQgaW4gc3dpdGNoIHN0YXRlbWVudGApXG5cdH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsU0FBQSxHQUFBQyxPQUFBO0FBRU8sTUFBTUMsZUFBZSxHQUFJQyxJQUFZLElBQWE7RUFDeEQsUUFBUUEsSUFBSTtJQUNYLEtBQUtDLG1CQUFTLENBQUNDLFdBQVc7TUFDekIsT0FBTyxhQUFhO0lBQ3JCLEtBQUtELG1CQUFTLENBQUNFLEtBQUs7TUFDbkIsT0FBTyxPQUFPO0lBQ2YsS0FBS0YsbUJBQVMsQ0FBQ0csT0FBTztNQUNyQixPQUFPLFNBQVM7SUFDakIsS0FBS0gsbUJBQVMsQ0FBQ0ksYUFBYTtNQUMzQixPQUFPLFNBQVM7SUFDakIsS0FBS0osbUJBQVMsQ0FBQ0ssV0FBVztNQUN6QixPQUFPLFlBQVk7SUFDcEIsS0FBS0wsbUJBQVMsQ0FBQ00sWUFBWTtNQUMxQixPQUFPLFFBQVE7SUFDaEI7TUFDQyxNQUFNLElBQUlDLEtBQUssQ0FBQyxTQUFTUixJQUFJLHFDQUFxQyxDQUFDO0VBQ3JFO0FBQ0QsQ0FBQztBQUFBUyxPQUFBLENBQUFWLGVBQUEsR0FBQUEsZUFBQTtBQUVNLE1BQU1XLDBCQUEwQixHQUFJVixJQUFZLElBQWE7RUFDbkUsUUFBUUEsSUFBSTtJQUNYLEtBQUtDLG1CQUFTLENBQUNFLEtBQUs7SUFDcEIsS0FBS0YsbUJBQVMsQ0FBQ0ssV0FBVztNQUN6QixPQUFPLElBQUk7SUFDWixLQUFLTCxtQkFBUyxDQUFDQyxXQUFXO0lBQzFCLEtBQUtELG1CQUFTLENBQUNJLGFBQWE7SUFDNUIsS0FBS0osbUJBQVMsQ0FBQ00sWUFBWTtJQUMzQixLQUFLTixtQkFBUyxDQUFDRyxPQUFPO01BQ3JCLE9BQU8sR0FBRztJQUNYO01BQ0MsTUFBTSxJQUFJSSxLQUFLLENBQUMsU0FBU1IsSUFBSSxxQ0FBcUMsQ0FBQztFQUNyRTtBQUNELENBQUM7QUFBQVMsT0FBQSxDQUFBQywwQkFBQSxHQUFBQSwwQkFBQSIsImlnbm9yZUxpc3QiOltdfQ==
|