@esri/hub-common 13.17.3 → 13.17.4
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/dist/esm/associations/addAssociation.js +16 -0
- package/dist/esm/associations/addAssociation.js.map +1 -0
- package/dist/esm/associations/index.js +5 -0
- package/dist/esm/associations/index.js.map +1 -0
- package/dist/esm/associations/internal/getTargetEntityFromAssociationType.js +18 -0
- package/dist/esm/associations/internal/getTargetEntityFromAssociationType.js.map +1 -0
- package/dist/esm/associations/internal/getTypeByIdsQuery.js +28 -0
- package/dist/esm/associations/internal/getTypeByIdsQuery.js.map +1 -0
- package/dist/esm/associations/internal/getTypeFromAssociationType.js +18 -0
- package/dist/esm/associations/internal/getTypeFromAssociationType.js.map +1 -0
- package/dist/esm/associations/internal/getTypeWithKeywordQuery.js +27 -0
- package/dist/esm/associations/internal/getTypeWithKeywordQuery.js.map +1 -0
- package/dist/esm/associations/internal/getTypeWithoutKeywordQuery.js +27 -0
- package/dist/esm/associations/internal/getTypeWithoutKeywordQuery.js.map +1 -0
- package/dist/esm/associations/listAssociations.js +17 -0
- package/dist/esm/associations/listAssociations.js.map +1 -0
- package/dist/esm/associations/removeAssociation.js +17 -0
- package/dist/esm/associations/removeAssociation.js.map +1 -0
- package/dist/esm/associations/types.js +2 -0
- package/dist/esm/associations/types.js.map +1 -0
- package/dist/esm/content/_internal/ContentSchema.js +16 -0
- package/dist/esm/content/_internal/ContentSchema.js.map +1 -0
- package/dist/esm/content/_internal/ContentUiSchemaEdit.js +148 -0
- package/dist/esm/content/_internal/ContentUiSchemaEdit.js.map +1 -0
- package/dist/esm/content/_internal/ContentUiSchemaSettings.js +59 -0
- package/dist/esm/content/_internal/ContentUiSchemaSettings.js.map +1 -0
- package/dist/esm/content/_internal/computeProps.js +57 -0
- package/dist/esm/content/_internal/computeProps.js.map +1 -0
- package/dist/esm/content/hostedServiceUtils.js +91 -0
- package/dist/esm/content/hostedServiceUtils.js.map +1 -0
- package/dist/esm/core/EntityEditor.js +56 -0
- package/dist/esm/core/EntityEditor.js.map +1 -0
- package/dist/esm/core/behaviors/IWIthAssociationBehavior.js +1 -0
- package/dist/esm/core/behaviors/IWIthAssociationBehavior.js.map +1 -0
- package/dist/esm/core/behaviors/IWithFollowersBehavior.js +1 -0
- package/dist/esm/core/behaviors/IWithFollowersBehavior.js.map +1 -0
- package/dist/esm/core/enrichEntity.js +66 -0
- package/dist/esm/core/enrichEntity.js.map +1 -0
- package/dist/esm/core/schemas/getEditorConfig.js +13 -0
- package/dist/esm/core/schemas/getEditorConfig.js.map +1 -0
- package/dist/esm/core/schemas/internal/ConfigurableEntity.js +1 -0
- package/dist/esm/core/schemas/internal/ConfigurableEntity.js.map +1 -0
- package/dist/esm/core/schemas/internal/configOptionHelpers.js +88 -0
- package/dist/esm/core/schemas/internal/configOptionHelpers.js.map +1 -0
- package/dist/esm/core/schemas/internal/getCategoryItems.js +34 -0
- package/dist/esm/core/schemas/internal/getCategoryItems.js.map +1 -0
- package/dist/esm/core/schemas/internal/getConfigOptions.js +15 -0
- package/dist/esm/core/schemas/internal/getConfigOptions.js.map +1 -0
- package/dist/esm/core/schemas/internal/getEditorConfigOptions.js +37 -0
- package/dist/esm/core/schemas/internal/getEditorConfigOptions.js.map +1 -0
- package/dist/esm/core/schemas/internal/getEntityEditorSchemas.js +93 -0
- package/dist/esm/core/schemas/internal/getEntityEditorSchemas.js.map +1 -0
- package/dist/esm/core/schemas/internal/getFeaturedContentCatalogs.js +21 -0
- package/dist/esm/core/schemas/internal/getFeaturedContentCatalogs.js.map +1 -0
- package/dist/esm/core/schemas/internal/getFeaturedImageUrl.js +11 -0
- package/dist/esm/core/schemas/internal/getFeaturedImageUrl.js.map +1 -0
- package/dist/esm/core/schemas/internal/getLocationExtent.js +11 -0
- package/dist/esm/core/schemas/internal/getLocationExtent.js.map +1 -0
- package/dist/esm/core/schemas/internal/getLocationOptions.js +64 -0
- package/dist/esm/core/schemas/internal/getLocationOptions.js.map +1 -0
- package/dist/esm/core/schemas/internal/getSharableGroupsComboBoxItems.js +27 -0
- package/dist/esm/core/schemas/internal/getSharableGroupsComboBoxItems.js.map +1 -0
- package/dist/esm/core/schemas/internal/getTagItems.js +61 -0
- package/dist/esm/core/schemas/internal/getTagItems.js.map +1 -0
- package/dist/esm/core/traits/IWithAssociations.js +1 -0
- package/dist/esm/core/traits/IWithAssociations.js.map +1 -0
- package/dist/esm/core/traits/IWithFollowers.js +1 -0
- package/dist/esm/core/traits/IWithFollowers.js.map +1 -0
- package/dist/esm/core/types/HubEntityEditor.js +1 -0
- package/dist/esm/core/types/HubEntityEditor.js.map +1 -0
- package/dist/esm/core/types/IHubGroup.js +1 -0
- package/dist/esm/core/types/IHubGroup.js.map +1 -0
- package/dist/esm/discussions/api/channels/channels.js +14 -0
- package/dist/esm/discussions/api/channels/channels.js.map +1 -0
- package/dist/esm/discussions/api/channels/index.js +2 -0
- package/dist/esm/discussions/api/channels/index.js.map +1 -0
- package/dist/esm/discussions/api/index.js +3 -0
- package/dist/esm/discussions/api/index.js.map +1 -0
- package/dist/esm/discussions/api/request.js +20 -0
- package/dist/esm/discussions/api/request.js.map +1 -0
- package/dist/esm/discussions/api/types.js +245 -0
- package/dist/esm/discussions/api/types.js.map +1 -0
- package/dist/esm/discussions/api/utils/request.js +77 -0
- package/dist/esm/discussions/api/utils/request.js.map +1 -0
- package/dist/esm/features/_internal/checkCapabilityAccess.js +54 -0
- package/dist/esm/features/_internal/checkCapabilityAccess.js.map +1 -0
- package/dist/esm/features/_internal/checkFeatureAccess.js +99 -0
- package/dist/esm/features/_internal/checkFeatureAccess.js.map +1 -0
- package/dist/esm/features/_internal/index.js +3 -0
- package/dist/esm/features/_internal/index.js.map +1 -0
- package/dist/esm/features/checkFeature.js +107 -0
- package/dist/esm/features/checkFeature.js.map +1 -0
- package/dist/esm/features/index.js +5 -0
- package/dist/esm/features/index.js.map +1 -0
- package/dist/esm/features/types.js +28 -0
- package/dist/esm/features/types.js.map +1 -0
- package/dist/esm/groups/HubGroup.js +258 -0
- package/dist/esm/groups/HubGroup.js.map +1 -0
- package/dist/esm/groups/_internal/AddOrInviteUsersToGroupUtils.js +195 -0
- package/dist/esm/groups/_internal/AddOrInviteUsersToGroupUtils.js.map +1 -0
- package/dist/esm/groups/_internal/GroupBusinessRules.js +94 -0
- package/dist/esm/groups/_internal/GroupBusinessRules.js.map +1 -0
- package/dist/esm/groups/_internal/GroupSchema.js +31 -0
- package/dist/esm/groups/_internal/GroupSchema.js.map +1 -0
- package/dist/esm/groups/_internal/GroupUiSchemaEdit.js +62 -0
- package/dist/esm/groups/_internal/GroupUiSchemaEdit.js.map +1 -0
- package/dist/esm/groups/_internal/GroupUiSchemaSettings.js +46 -0
- package/dist/esm/groups/_internal/GroupUiSchemaSettings.js.map +1 -0
- package/dist/esm/groups/_internal/autoAddUsersAsAdmins.js +24 -0
- package/dist/esm/groups/_internal/autoAddUsersAsAdmins.js.map +1 -0
- package/dist/esm/groups/_internal/computeProps.js +45 -0
- package/dist/esm/groups/_internal/computeProps.js.map +1 -0
- package/dist/esm/groups/_internal/convertGroupToHubGroup.js +14 -0
- package/dist/esm/groups/_internal/convertGroupToHubGroup.js.map +1 -0
- package/dist/esm/groups/_internal/convertHubGroupToGroup.js +26 -0
- package/dist/esm/groups/_internal/convertHubGroupToGroup.js.map +1 -0
- package/dist/esm/groups/_internal/getPropertyMap.js +40 -0
- package/dist/esm/groups/_internal/getPropertyMap.js.map +1 -0
- package/dist/esm/groups/_internal/processAutoAddUsers.js +62 -0
- package/dist/esm/groups/_internal/processAutoAddUsers.js.map +1 -0
- package/dist/esm/groups/_internal/processEmailUsers.js +50 -0
- package/dist/esm/groups/_internal/processEmailUsers.js.map +1 -0
- package/dist/esm/groups/_internal/processInviteUsers.js +51 -0
- package/dist/esm/groups/_internal/processInviteUsers.js.map +1 -0
- package/dist/esm/groups/addOrInviteUsersToGroup.js +67 -0
- package/dist/esm/groups/addOrInviteUsersToGroup.js.map +1 -0
- package/dist/esm/groups/addOrInviteUsersToGroups.js +51 -0
- package/dist/esm/groups/addOrInviteUsersToGroups.js.map +1 -0
- package/dist/esm/groups/autoAddUsers.js +24 -0
- package/dist/esm/groups/autoAddUsers.js.map +1 -0
- package/dist/esm/groups/defaults.js +21 -0
- package/dist/esm/groups/defaults.js.map +1 -0
- package/dist/esm/groups/deleteGroupThumbnail.js +14 -0
- package/dist/esm/groups/deleteGroupThumbnail.js.map +1 -0
- package/dist/esm/groups/emailOrgUsers.js +29 -0
- package/dist/esm/groups/emailOrgUsers.js.map +1 -0
- package/dist/esm/groups/inviteUsers.js +30 -0
- package/dist/esm/groups/inviteUsers.js.map +1 -0
- package/dist/esm/groups/setGroupThumbnail.js +32 -0
- package/dist/esm/groups/setGroupThumbnail.js.map +1 -0
- package/dist/esm/groups/types/types.js +1 -0
- package/dist/esm/groups/types/types.js.map +1 -0
- package/dist/esm/initiatives/_internal/InitiativeUiSchemaCreate.js +134 -0
- package/dist/esm/initiatives/_internal/InitiativeUiSchemaCreate.js.map +1 -0
- package/dist/esm/initiatives/view.js +81 -0
- package/dist/esm/initiatives/view.js.map +1 -0
- package/dist/esm/items/deleteItemThumbnail.js +14 -0
- package/dist/esm/items/deleteItemThumbnail.js.map +1 -0
- package/dist/esm/pages/HubPage.js +201 -0
- package/dist/esm/pages/HubPage.js.map +1 -0
- package/dist/esm/pages/_internal/PageSchema.js +31 -0
- package/dist/esm/pages/_internal/PageSchema.js.map +1 -0
- package/dist/esm/pages/_internal/PageUiSchemaEdit.js +126 -0
- package/dist/esm/pages/_internal/PageUiSchemaEdit.js.map +1 -0
- package/dist/esm/pages/_internal/computeProps.js +45 -0
- package/dist/esm/pages/_internal/computeProps.js.map +1 -0
- package/dist/esm/pages/_internal/getPropertyMap.js +20 -0
- package/dist/esm/pages/_internal/getPropertyMap.js.map +1 -0
- package/dist/esm/pages/defaults.js +41 -0
- package/dist/esm/pages/defaults.js.map +1 -0
- package/dist/esm/permissions/PlatformPermissionPolicies.js +711 -0
- package/dist/esm/permissions/PlatformPermissionPolicies.js.map +1 -0
- package/dist/esm/permissions/_internal/PermissionCheckFunction.js +1 -0
- package/dist/esm/permissions/_internal/PermissionCheckFunction.js.map +1 -0
- package/dist/esm/permissions/_internal/checkAvailability.js +46 -0
- package/dist/esm/permissions/_internal/checkAvailability.js.map +1 -0
- package/dist/esm/permissions/_internal/checkEntityFeature.js +29 -0
- package/dist/esm/permissions/_internal/checkEntityFeature.js.map +1 -0
- package/dist/esm/permissions/_internal/checkEnvironment.js +28 -0
- package/dist/esm/permissions/_internal/checkEnvironment.js.map +1 -0
- package/dist/esm/permissions/_internal/checkFeature.js +65 -0
- package/dist/esm/permissions/_internal/checkFeature.js.map +1 -0
- package/dist/esm/permissions/_internal/checkFeatures.js +42 -0
- package/dist/esm/permissions/_internal/checkFeatures.js.map +1 -0
- package/dist/esm/permissions/_internal/checkParents.js +23 -0
- package/dist/esm/permissions/_internal/checkParents.js.map +1 -0
- package/dist/esm/permissions/_internal/checkServiceStatus.js +24 -0
- package/dist/esm/permissions/_internal/checkServiceStatus.js.map +1 -0
- package/dist/esm/permissions/_internal/processEntityFeatures.js +26 -0
- package/dist/esm/permissions/_internal/processEntityFeatures.js.map +1 -0
- package/dist/esm/projects/_internal/getProjectEditorConfigOptions.js +63 -0
- package/dist/esm/projects/_internal/getProjectEditorConfigOptions.js.map +1 -0
- package/dist/esm/search/_internal/commonHelpers/getDiscussionsApiDefinition.js +10 -0
- package/dist/esm/search/_internal/commonHelpers/getDiscussionsApiDefinition.js.map +1 -0
- package/dist/esm/search/_internal/commonHelpers/shouldUseDiscussionsApi.js +13 -0
- package/dist/esm/search/_internal/commonHelpers/shouldUseDiscussionsApi.js.map +1 -0
- package/dist/esm/search/_internal/explainFilter.js +34 -0
- package/dist/esm/search/_internal/explainFilter.js.map +1 -0
- package/dist/esm/search/_internal/explainHelpers.js +193 -0
- package/dist/esm/search/_internal/explainHelpers.js.map +1 -0
- package/dist/esm/search/_internal/explainPredicate.js +35 -0
- package/dist/esm/search/_internal/explainPredicate.js.map +1 -0
- package/dist/esm/search/_internal/getEntityTypeFromType.js +21 -0
- package/dist/esm/search/_internal/getEntityTypeFromType.js.map +1 -0
- package/dist/esm/search/_internal/hubSearchChannels.js +137 -0
- package/dist/esm/search/_internal/hubSearchChannels.js.map +1 -0
- package/dist/esm/search/_internal/negateGroupPredicates.js +28 -0
- package/dist/esm/search/_internal/negateGroupPredicates.js.map +1 -0
- package/dist/esm/search/explainQueryResult.js +53 -0
- package/dist/esm/search/explainQueryResult.js.map +1 -0
- package/dist/esm/sites/HubSite.js +2 -1
- package/dist/esm/sites/HubSite.js.map +1 -1
- package/dist/esm/sites/_internal/SiteUiSchemaFollowers.js +56 -0
- package/dist/esm/sites/_internal/SiteUiSchemaFollowers.js.map +1 -0
- package/dist/esm/sites/_internal/_migrate-summary-stat-card-configs.js +188 -0
- package/dist/esm/sites/_internal/_migrate-summary-stat-card-configs.js.map +1 -0
- package/dist/esm/sites/_internal/applyCatalogStructureMigration.js +39 -0
- package/dist/esm/sites/_internal/applyCatalogStructureMigration.js.map +1 -0
- package/dist/esm/sites/_internal/applyDefaultCollectionMigration.js +92 -0
- package/dist/esm/sites/_internal/applyDefaultCollectionMigration.js.map +1 -0
- package/dist/esm/sites/_internal/capabilities/capabilityToFeatureMap.js +31 -0
- package/dist/esm/sites/_internal/capabilities/capabilityToFeatureMap.js.map +1 -0
- package/dist/esm/sites/_internal/capabilities/convertFeaturesToLegacyCapabilities.js +46 -0
- package/dist/esm/sites/_internal/capabilities/convertFeaturesToLegacyCapabilities.js.map +1 -0
- package/dist/esm/sites/_internal/capabilities/migrateLegacyCapabilitiesToFeatures.js +34 -0
- package/dist/esm/sites/_internal/capabilities/migrateLegacyCapabilitiesToFeatures.js.map +1 -0
- package/dist/esm/sites/_internal/capabilities/types.js +1 -0
- package/dist/esm/sites/_internal/capabilities/types.js.map +1 -0
- package/dist/esm/sites/_internal/convertCatalogToLegacyFormat.js +33 -0
- package/dist/esm/sites/_internal/convertCatalogToLegacyFormat.js.map +1 -0
- package/dist/esm/sites/_internal/reflectCollectionsToSearchCategories.js +55 -0
- package/dist/esm/sites/_internal/reflectCollectionsToSearchCategories.js.map +1 -0
- package/dist/esm/sites/_internal/types.js +11 -0
- package/dist/esm/sites/_internal/types.js.map +1 -0
- package/dist/esm/urls/cacheBustUrl.js +13 -0
- package/dist/esm/urls/cacheBustUrl.js.map +1 -0
- package/dist/esm/urls/getCardModelUrl.js +76 -0
- package/dist/esm/urls/getCardModelUrl.js.map +1 -0
- package/dist/esm/users/view.js +71 -0
- package/dist/esm/users/view.js.map +1 -0
- package/dist/esm/utils/getEnvironmentFromPortalUrl.js +20 -0
- package/dist/esm/utils/getEnvironmentFromPortalUrl.js.map +1 -0
- package/dist/node/associations/addAssociation.js +20 -0
- package/dist/node/associations/addAssociation.js.map +1 -0
- package/dist/node/associations/index.js +8 -0
- package/dist/node/associations/index.js.map +1 -0
- package/dist/node/associations/internal/getTargetEntityFromAssociationType.js +22 -0
- package/dist/node/associations/internal/getTargetEntityFromAssociationType.js.map +1 -0
- package/dist/node/associations/internal/getTypeByIdsQuery.js +32 -0
- package/dist/node/associations/internal/getTypeByIdsQuery.js.map +1 -0
- package/dist/node/associations/internal/getTypeFromAssociationType.js +22 -0
- package/dist/node/associations/internal/getTypeFromAssociationType.js.map +1 -0
- package/dist/node/associations/internal/getTypeWithKeywordQuery.js +31 -0
- package/dist/node/associations/internal/getTypeWithKeywordQuery.js.map +1 -0
- package/dist/node/associations/internal/getTypeWithoutKeywordQuery.js +31 -0
- package/dist/node/associations/internal/getTypeWithoutKeywordQuery.js.map +1 -0
- package/dist/node/associations/listAssociations.js +21 -0
- package/dist/node/associations/listAssociations.js.map +1 -0
- package/dist/node/associations/removeAssociation.js +21 -0
- package/dist/node/associations/removeAssociation.js.map +1 -0
- package/dist/node/associations/types.js +4 -0
- package/dist/node/associations/types.js.map +1 -0
- package/dist/node/content/_internal/ContentSchema.js +19 -0
- package/dist/node/content/_internal/ContentSchema.js.map +1 -0
- package/dist/node/content/_internal/ContentUiSchemaEdit.js +151 -0
- package/dist/node/content/_internal/ContentUiSchemaEdit.js.map +1 -0
- package/dist/node/content/_internal/ContentUiSchemaSettings.js +62 -0
- package/dist/node/content/_internal/ContentUiSchemaSettings.js.map +1 -0
- package/dist/node/content/_internal/computeProps.js +62 -0
- package/dist/node/content/_internal/computeProps.js.map +1 -0
- package/dist/node/content/hostedServiceUtils.js +98 -0
- package/dist/node/content/hostedServiceUtils.js.map +1 -0
- package/dist/node/core/EntityEditor.js +60 -0
- package/dist/node/core/EntityEditor.js.map +1 -0
- package/dist/node/core/behaviors/IWIthAssociationBehavior.js +3 -0
- package/dist/node/core/behaviors/IWIthAssociationBehavior.js.map +1 -0
- package/dist/node/core/behaviors/IWithFollowersBehavior.js +3 -0
- package/dist/node/core/behaviors/IWithFollowersBehavior.js.map +1 -0
- package/dist/node/core/enrichEntity.js +69 -0
- package/dist/node/core/enrichEntity.js.map +1 -0
- package/dist/node/core/schemas/getEditorConfig.js +17 -0
- package/dist/node/core/schemas/getEditorConfig.js.map +1 -0
- package/dist/node/core/schemas/internal/ConfigurableEntity.js +3 -0
- package/dist/node/core/schemas/internal/ConfigurableEntity.js.map +1 -0
- package/dist/node/core/schemas/internal/configOptionHelpers.js +91 -0
- package/dist/node/core/schemas/internal/configOptionHelpers.js.map +1 -0
- package/dist/node/core/schemas/internal/getCategoryItems.js +38 -0
- package/dist/node/core/schemas/internal/getCategoryItems.js.map +1 -0
- package/dist/node/core/schemas/internal/getConfigOptions.js +19 -0
- package/dist/node/core/schemas/internal/getConfigOptions.js.map +1 -0
- package/dist/node/core/schemas/internal/getEditorConfigOptions.js +41 -0
- package/dist/node/core/schemas/internal/getEditorConfigOptions.js.map +1 -0
- package/dist/node/core/schemas/internal/getEntityEditorSchemas.js +97 -0
- package/dist/node/core/schemas/internal/getEntityEditorSchemas.js.map +1 -0
- package/dist/node/core/schemas/internal/getFeaturedContentCatalogs.js +25 -0
- package/dist/node/core/schemas/internal/getFeaturedContentCatalogs.js.map +1 -0
- package/dist/node/core/schemas/internal/getFeaturedImageUrl.js +15 -0
- package/dist/node/core/schemas/internal/getFeaturedImageUrl.js.map +1 -0
- package/dist/node/core/schemas/internal/getLocationExtent.js +15 -0
- package/dist/node/core/schemas/internal/getLocationExtent.js.map +1 -0
- package/dist/node/core/schemas/internal/getLocationOptions.js +68 -0
- package/dist/node/core/schemas/internal/getLocationOptions.js.map +1 -0
- package/dist/node/core/schemas/internal/getSharableGroupsComboBoxItems.js +31 -0
- package/dist/node/core/schemas/internal/getSharableGroupsComboBoxItems.js.map +1 -0
- package/dist/node/core/schemas/internal/getTagItems.js +65 -0
- package/dist/node/core/schemas/internal/getTagItems.js.map +1 -0
- package/dist/node/core/traits/IWithAssociations.js +3 -0
- package/dist/node/core/traits/IWithAssociations.js.map +1 -0
- package/dist/node/core/traits/IWithFollowers.js +3 -0
- package/dist/node/core/traits/IWithFollowers.js.map +1 -0
- package/dist/node/core/types/HubEntityEditor.js +3 -0
- package/dist/node/core/types/HubEntityEditor.js.map +1 -0
- package/dist/node/core/types/IHubGroup.js +3 -0
- package/dist/node/core/types/IHubGroup.js.map +1 -0
- package/dist/node/discussions/api/channels/channels.js +18 -0
- package/dist/node/discussions/api/channels/channels.js.map +1 -0
- package/dist/node/discussions/api/channels/index.js +5 -0
- package/dist/node/discussions/api/channels/index.js.map +1 -0
- package/dist/node/discussions/api/index.js +6 -0
- package/dist/node/discussions/api/index.js.map +1 -0
- package/dist/node/discussions/api/request.js +24 -0
- package/dist/node/discussions/api/request.js.map +1 -0
- package/dist/node/discussions/api/types.js +248 -0
- package/dist/node/discussions/api/types.js.map +1 -0
- package/dist/node/discussions/api/utils/request.js +83 -0
- package/dist/node/discussions/api/utils/request.js.map +1 -0
- package/dist/node/features/_internal/checkCapabilityAccess.js +54 -0
- package/dist/node/features/_internal/checkCapabilityAccess.js.map +1 -0
- package/dist/node/features/_internal/checkFeatureAccess.js +99 -0
- package/dist/node/features/_internal/checkFeatureAccess.js.map +1 -0
- package/dist/node/features/_internal/index.js +3 -0
- package/dist/node/features/_internal/index.js.map +1 -0
- package/dist/node/features/checkFeature.js +111 -0
- package/dist/node/features/checkFeature.js.map +1 -0
- package/dist/node/features/index.js +8 -0
- package/dist/node/features/index.js.map +1 -0
- package/dist/node/features/types.js +32 -0
- package/dist/node/features/types.js.map +1 -0
- package/dist/node/groups/HubGroup.js +262 -0
- package/dist/node/groups/HubGroup.js.map +1 -0
- package/dist/node/groups/_internal/AddOrInviteUsersToGroupUtils.js +205 -0
- package/dist/node/groups/_internal/AddOrInviteUsersToGroupUtils.js.map +1 -0
- package/dist/node/groups/_internal/GroupBusinessRules.js +97 -0
- package/dist/node/groups/_internal/GroupBusinessRules.js.map +1 -0
- package/dist/node/groups/_internal/GroupSchema.js +34 -0
- package/dist/node/groups/_internal/GroupSchema.js.map +1 -0
- package/dist/node/groups/_internal/GroupUiSchemaEdit.js +65 -0
- package/dist/node/groups/_internal/GroupUiSchemaEdit.js.map +1 -0
- package/dist/node/groups/_internal/GroupUiSchemaSettings.js +49 -0
- package/dist/node/groups/_internal/GroupUiSchemaSettings.js.map +1 -0
- package/dist/node/groups/_internal/autoAddUsersAsAdmins.js +28 -0
- package/dist/node/groups/_internal/autoAddUsersAsAdmins.js.map +1 -0
- package/dist/node/groups/_internal/computeProps.js +49 -0
- package/dist/node/groups/_internal/computeProps.js.map +1 -0
- package/dist/node/groups/_internal/convertGroupToHubGroup.js +18 -0
- package/dist/node/groups/_internal/convertGroupToHubGroup.js.map +1 -0
- package/dist/node/groups/_internal/convertHubGroupToGroup.js +30 -0
- package/dist/node/groups/_internal/convertHubGroupToGroup.js.map +1 -0
- package/dist/node/groups/_internal/getPropertyMap.js +44 -0
- package/dist/node/groups/_internal/getPropertyMap.js.map +1 -0
- package/dist/node/groups/_internal/processAutoAddUsers.js +66 -0
- package/dist/node/groups/_internal/processAutoAddUsers.js.map +1 -0
- package/dist/node/groups/_internal/processEmailUsers.js +54 -0
- package/dist/node/groups/_internal/processEmailUsers.js.map +1 -0
- package/dist/node/groups/_internal/processInviteUsers.js +55 -0
- package/dist/node/groups/_internal/processInviteUsers.js.map +1 -0
- package/dist/node/groups/addOrInviteUsersToGroup.js +71 -0
- package/dist/node/groups/addOrInviteUsersToGroup.js.map +1 -0
- package/dist/node/groups/addOrInviteUsersToGroups.js +55 -0
- package/dist/node/groups/addOrInviteUsersToGroups.js.map +1 -0
- package/dist/node/groups/autoAddUsers.js +28 -0
- package/dist/node/groups/autoAddUsers.js.map +1 -0
- package/dist/node/groups/defaults.js +24 -0
- package/dist/node/groups/defaults.js.map +1 -0
- package/dist/node/groups/deleteGroupThumbnail.js +18 -0
- package/dist/node/groups/deleteGroupThumbnail.js.map +1 -0
- package/dist/node/groups/emailOrgUsers.js +33 -0
- package/dist/node/groups/emailOrgUsers.js.map +1 -0
- package/dist/node/groups/inviteUsers.js +34 -0
- package/dist/node/groups/inviteUsers.js.map +1 -0
- package/dist/node/groups/setGroupThumbnail.js +36 -0
- package/dist/node/groups/setGroupThumbnail.js.map +1 -0
- package/dist/node/groups/types/types.js +3 -0
- package/dist/node/groups/types/types.js.map +1 -0
- package/dist/node/initiatives/_internal/InitiativeUiSchemaCreate.js +137 -0
- package/dist/node/initiatives/_internal/InitiativeUiSchemaCreate.js.map +1 -0
- package/dist/node/initiatives/view.js +84 -0
- package/dist/node/initiatives/view.js.map +1 -0
- package/dist/node/items/deleteItemThumbnail.js +18 -0
- package/dist/node/items/deleteItemThumbnail.js.map +1 -0
- package/dist/node/pages/HubPage.js +205 -0
- package/dist/node/pages/HubPage.js.map +1 -0
- package/dist/node/pages/_internal/PageSchema.js +34 -0
- package/dist/node/pages/_internal/PageSchema.js.map +1 -0
- package/dist/node/pages/_internal/PageUiSchemaEdit.js +129 -0
- package/dist/node/pages/_internal/PageUiSchemaEdit.js.map +1 -0
- package/dist/node/pages/_internal/computeProps.js +49 -0
- package/dist/node/pages/_internal/computeProps.js.map +1 -0
- package/dist/node/pages/_internal/getPropertyMap.js +24 -0
- package/dist/node/pages/_internal/getPropertyMap.js.map +1 -0
- package/dist/node/pages/defaults.js +44 -0
- package/dist/node/pages/defaults.js.map +1 -0
- package/dist/node/permissions/PlatformPermissionPolicies.js +714 -0
- package/dist/node/permissions/PlatformPermissionPolicies.js.map +1 -0
- package/dist/node/permissions/_internal/PermissionCheckFunction.js +3 -0
- package/dist/node/permissions/_internal/PermissionCheckFunction.js.map +1 -0
- package/dist/node/permissions/_internal/checkAvailability.js +50 -0
- package/dist/node/permissions/_internal/checkAvailability.js.map +1 -0
- package/dist/node/permissions/_internal/checkEntityFeature.js +33 -0
- package/dist/node/permissions/_internal/checkEntityFeature.js.map +1 -0
- package/dist/node/permissions/_internal/checkEnvironment.js +32 -0
- package/dist/node/permissions/_internal/checkEnvironment.js.map +1 -0
- package/dist/node/permissions/_internal/checkFeature.js +69 -0
- package/dist/node/permissions/_internal/checkFeature.js.map +1 -0
- package/dist/node/permissions/_internal/checkFeatures.js +46 -0
- package/dist/node/permissions/_internal/checkFeatures.js.map +1 -0
- package/dist/node/permissions/_internal/checkParents.js +27 -0
- package/dist/node/permissions/_internal/checkParents.js.map +1 -0
- package/dist/node/permissions/_internal/checkServiceStatus.js +28 -0
- package/dist/node/permissions/_internal/checkServiceStatus.js.map +1 -0
- package/dist/node/permissions/_internal/processEntityFeatures.js +30 -0
- package/dist/node/permissions/_internal/processEntityFeatures.js.map +1 -0
- package/dist/node/projects/_internal/getProjectEditorConfigOptions.js +67 -0
- package/dist/node/projects/_internal/getProjectEditorConfigOptions.js.map +1 -0
- package/dist/node/search/_internal/commonHelpers/getDiscussionsApiDefinition.js +14 -0
- package/dist/node/search/_internal/commonHelpers/getDiscussionsApiDefinition.js.map +1 -0
- package/dist/node/search/_internal/commonHelpers/shouldUseDiscussionsApi.js +17 -0
- package/dist/node/search/_internal/commonHelpers/shouldUseDiscussionsApi.js.map +1 -0
- package/dist/node/search/_internal/explainFilter.js +38 -0
- package/dist/node/search/_internal/explainFilter.js.map +1 -0
- package/dist/node/search/_internal/explainHelpers.js +202 -0
- package/dist/node/search/_internal/explainHelpers.js.map +1 -0
- package/dist/node/search/_internal/explainPredicate.js +39 -0
- package/dist/node/search/_internal/explainPredicate.js.map +1 -0
- package/dist/node/search/_internal/getEntityTypeFromType.js +25 -0
- package/dist/node/search/_internal/getEntityTypeFromType.js.map +1 -0
- package/dist/node/search/_internal/hubSearchChannels.js +140 -0
- package/dist/node/search/_internal/hubSearchChannels.js.map +1 -0
- package/dist/node/search/_internal/negateGroupPredicates.js +32 -0
- package/dist/node/search/_internal/negateGroupPredicates.js.map +1 -0
- package/dist/node/search/explainQueryResult.js +57 -0
- package/dist/node/search/explainQueryResult.js.map +1 -0
- package/dist/node/sites/HubSite.js +2 -1
- package/dist/node/sites/HubSite.js.map +1 -1
- package/dist/node/sites/_internal/SiteUiSchemaFollowers.js +59 -0
- package/dist/node/sites/_internal/SiteUiSchemaFollowers.js.map +1 -0
- package/dist/node/sites/_internal/_migrate-summary-stat-card-configs.js +192 -0
- package/dist/node/sites/_internal/_migrate-summary-stat-card-configs.js.map +1 -0
- package/dist/node/sites/_internal/applyCatalogStructureMigration.js +43 -0
- package/dist/node/sites/_internal/applyCatalogStructureMigration.js.map +1 -0
- package/dist/node/sites/_internal/applyDefaultCollectionMigration.js +96 -0
- package/dist/node/sites/_internal/applyDefaultCollectionMigration.js.map +1 -0
- package/dist/node/sites/_internal/capabilities/capabilityToFeatureMap.js +34 -0
- package/dist/node/sites/_internal/capabilities/capabilityToFeatureMap.js.map +1 -0
- package/dist/node/sites/_internal/capabilities/convertFeaturesToLegacyCapabilities.js +49 -0
- package/dist/node/sites/_internal/capabilities/convertFeaturesToLegacyCapabilities.js.map +1 -0
- package/dist/node/sites/_internal/capabilities/migrateLegacyCapabilitiesToFeatures.js +37 -0
- package/dist/node/sites/_internal/capabilities/migrateLegacyCapabilitiesToFeatures.js.map +1 -0
- package/dist/node/sites/_internal/capabilities/types.js +3 -0
- package/dist/node/sites/_internal/capabilities/types.js.map +1 -0
- package/dist/node/sites/_internal/convertCatalogToLegacyFormat.js +37 -0
- package/dist/node/sites/_internal/convertCatalogToLegacyFormat.js.map +1 -0
- package/dist/node/sites/_internal/reflectCollectionsToSearchCategories.js +59 -0
- package/dist/node/sites/_internal/reflectCollectionsToSearchCategories.js.map +1 -0
- package/dist/node/sites/_internal/types.js +14 -0
- package/dist/node/sites/_internal/types.js.map +1 -0
- package/dist/node/urls/cacheBustUrl.js +16 -0
- package/dist/node/urls/cacheBustUrl.js.map +1 -0
- package/dist/node/urls/getCardModelUrl.js +81 -0
- package/dist/node/urls/getCardModelUrl.js.map +1 -0
- package/dist/node/users/view.js +74 -0
- package/dist/node/users/view.js.map +1 -0
- package/dist/node/utils/getEnvironmentFromPortalUrl.js +24 -0
- package/dist/node/utils/getEnvironmentFromPortalUrl.js.map +1 -0
- package/dist/types/associations/addAssociation.d.ts +9 -0
- package/dist/types/associations/index.d.ts +4 -0
- package/dist/types/associations/internal/getTargetEntityFromAssociationType.d.ts +8 -0
- package/dist/types/associations/internal/getTypeByIdsQuery.d.ts +10 -0
- package/dist/types/associations/internal/getTypeFromAssociationType.d.ts +7 -0
- package/dist/types/associations/internal/getTypeWithKeywordQuery.d.ts +10 -0
- package/dist/types/associations/internal/getTypeWithoutKeywordQuery.d.ts +10 -0
- package/dist/types/associations/listAssociations.d.ts +8 -0
- package/dist/types/associations/removeAssociation.d.ts +9 -0
- package/dist/types/associations/types.d.ts +19 -0
- package/dist/types/content/_internal/ContentSchema.d.ts +7 -0
- package/dist/types/content/_internal/ContentUiSchemaEdit.d.ts +10 -0
- package/dist/types/content/_internal/ContentUiSchemaSettings.d.ts +10 -0
- package/dist/types/content/_internal/computeProps.d.ts +9 -0
- package/dist/types/content/hostedServiceUtils.d.ts +35 -0
- package/dist/types/core/EntityEditor.d.ts +13 -0
- package/dist/types/core/behaviors/IWIthAssociationBehavior.d.ts +23 -0
- package/dist/types/core/behaviors/IWithFollowersBehavior.d.ts +15 -0
- package/dist/types/core/enrichEntity.d.ts +16 -0
- package/dist/types/core/schemas/getEditorConfig.d.ts +13 -0
- package/dist/types/core/schemas/internal/ConfigurableEntity.d.ts +4 -0
- package/dist/types/core/schemas/internal/configOptionHelpers.d.ts +6 -0
- package/dist/types/core/schemas/internal/getCategoryItems.d.ts +11 -0
- package/dist/types/core/schemas/internal/getConfigOptions.d.ts +12 -0
- package/dist/types/core/schemas/internal/getEditorConfigOptions.d.ts +11 -0
- package/dist/types/core/schemas/internal/getEntityEditorSchemas.d.ts +15 -0
- package/dist/types/core/schemas/internal/getFeaturedContentCatalogs.d.ts +8 -0
- package/dist/types/core/schemas/internal/getFeaturedImageUrl.d.ts +3 -0
- package/dist/types/core/schemas/internal/getLocationExtent.d.ts +7 -0
- package/dist/types/core/schemas/internal/getLocationOptions.d.ts +16 -0
- package/dist/types/core/schemas/internal/getSharableGroupsComboBoxItems.d.ts +7 -0
- package/dist/types/core/schemas/internal/getTagItems.d.ts +12 -0
- package/dist/types/core/traits/IWithAssociations.d.ts +4 -0
- package/dist/types/core/traits/IWithFollowers.d.ts +7 -0
- package/dist/types/core/types/HubEntityEditor.d.ts +11 -0
- package/dist/types/core/types/IHubGroup.d.ts +109 -0
- package/dist/types/discussions/api/channels/channels.d.ts +10 -0
- package/dist/types/discussions/api/channels/index.d.ts +1 -0
- package/dist/types/discussions/api/index.d.ts +2 -0
- package/dist/types/discussions/api/request.d.ts +11 -0
- package/dist/types/discussions/api/types.d.ts +1007 -0
- package/dist/types/discussions/api/utils/request.d.ts +25 -0
- package/dist/types/features/_internal/checkCapabilityAccess.d.ts +0 -0
- package/dist/types/features/_internal/checkFeatureAccess.d.ts +0 -0
- package/dist/types/features/_internal/index.d.ts +0 -0
- package/dist/types/features/checkFeature.d.ts +10 -0
- package/dist/types/features/index.d.ts +2 -0
- package/dist/types/features/types.d.ts +31 -0
- package/dist/types/groups/HubGroup.d.ts +114 -0
- package/dist/types/groups/_internal/AddOrInviteUsersToGroupUtils.d.ts +82 -0
- package/dist/types/groups/_internal/GroupBusinessRules.d.ts +12 -0
- package/dist/types/groups/_internal/GroupSchema.d.ts +7 -0
- package/dist/types/groups/_internal/GroupUiSchemaEdit.d.ts +10 -0
- package/dist/types/groups/_internal/GroupUiSchemaSettings.d.ts +10 -0
- package/dist/types/groups/_internal/autoAddUsersAsAdmins.d.ts +13 -0
- package/dist/types/groups/_internal/computeProps.d.ts +12 -0
- package/dist/types/groups/_internal/convertGroupToHubGroup.d.ts +9 -0
- package/dist/types/groups/_internal/convertHubGroupToGroup.d.ts +7 -0
- package/dist/types/groups/_internal/getPropertyMap.d.ts +8 -0
- package/dist/types/groups/_internal/processAutoAddUsers.d.ts +15 -0
- package/dist/types/groups/_internal/processEmailUsers.d.ts +14 -0
- package/dist/types/groups/_internal/processInviteUsers.d.ts +13 -0
- package/dist/types/groups/addOrInviteUsersToGroup.d.ts +18 -0
- package/dist/types/groups/addOrInviteUsersToGroups.d.ts +30 -0
- package/dist/types/groups/autoAddUsers.d.ts +14 -0
- package/dist/types/groups/defaults.d.ts +11 -0
- package/dist/types/groups/deleteGroupThumbnail.d.ts +9 -0
- package/dist/types/groups/emailOrgUsers.d.ts +15 -0
- package/dist/types/groups/inviteUsers.d.ts +17 -0
- package/dist/types/groups/setGroupThumbnail.d.ts +9 -0
- package/dist/types/groups/types/types.d.ts +72 -0
- package/dist/types/initiatives/_internal/InitiativeUiSchemaCreate.d.ts +13 -0
- package/dist/types/initiatives/view.d.ts +19 -0
- package/dist/types/items/deleteItemThumbnail.d.ts +9 -0
- package/dist/types/pages/HubPage.d.ts +71 -0
- package/dist/types/pages/_internal/PageSchema.d.ts +7 -0
- package/dist/types/pages/_internal/PageUiSchemaEdit.d.ts +10 -0
- package/dist/types/pages/_internal/computeProps.d.ts +12 -0
- package/dist/types/pages/_internal/getPropertyMap.d.ts +8 -0
- package/dist/types/pages/defaults.d.ts +13 -0
- package/dist/types/permissions/PlatformPermissionPolicies.d.ts +9 -0
- package/dist/types/permissions/_internal/PermissionCheckFunction.d.ts +7 -0
- package/dist/types/permissions/_internal/checkAvailability.d.ts +13 -0
- package/dist/types/permissions/_internal/checkEntityFeature.d.ts +4 -0
- package/dist/types/permissions/_internal/checkEnvironment.d.ts +13 -0
- package/dist/types/permissions/_internal/checkFeature.d.ts +16 -0
- package/dist/types/permissions/_internal/checkFeatures.d.ts +10 -0
- package/dist/types/permissions/_internal/checkParents.d.ts +12 -0
- package/dist/types/permissions/_internal/checkServiceStatus.d.ts +4 -0
- package/dist/types/permissions/_internal/processEntityFeatures.d.ts +9 -0
- package/dist/types/projects/_internal/getProjectEditorConfigOptions.d.ts +10 -0
- package/dist/types/search/_internal/commonHelpers/getDiscussionsApiDefinition.d.ts +2 -0
- package/dist/types/search/_internal/commonHelpers/shouldUseDiscussionsApi.d.ts +11 -0
- package/dist/types/search/_internal/explainFilter.d.ts +11 -0
- package/dist/types/search/_internal/explainHelpers.d.ts +38 -0
- package/dist/types/search/_internal/explainPredicate.d.ts +12 -0
- package/dist/types/search/_internal/getEntityTypeFromType.d.ts +9 -0
- package/dist/types/search/_internal/hubSearchChannels.d.ts +30 -0
- package/dist/types/search/_internal/negateGroupPredicates.d.ts +9 -0
- package/dist/types/search/explainQueryResult.d.ts +102 -0
- package/dist/types/sites/_internal/SiteUiSchemaFollowers.d.ts +11 -0
- package/dist/types/sites/_internal/_migrate-summary-stat-card-configs.d.ts +9 -0
- package/dist/types/sites/_internal/applyCatalogStructureMigration.d.ts +11 -0
- package/dist/types/sites/_internal/applyDefaultCollectionMigration.d.ts +21 -0
- package/dist/types/sites/_internal/capabilities/capabilityToFeatureMap.d.ts +14 -0
- package/dist/types/sites/_internal/capabilities/convertFeaturesToLegacyCapabilities.d.ts +19 -0
- package/dist/types/sites/_internal/capabilities/migrateLegacyCapabilitiesToFeatures.d.ts +12 -0
- package/dist/types/sites/_internal/capabilities/types.d.ts +29 -0
- package/dist/types/sites/_internal/convertCatalogToLegacyFormat.d.ts +11 -0
- package/dist/types/sites/_internal/reflectCollectionsToSearchCategories.d.ts +11 -0
- package/dist/types/sites/_internal/types.d.ts +8 -0
- package/dist/types/urls/cacheBustUrl.d.ts +5 -0
- package/dist/types/urls/getCardModelUrl.d.ts +21 -0
- package/dist/types/users/view.d.ts +9 -0
- package/dist/types/utils/getEnvironmentFromPortalUrl.d.ts +2 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkFeatureAccess.js","sourceRoot":"","sources":["../../../../src/features/_internal/checkFeatureAccess.ts"],"names":[],"mappings":";AAAA,wDAAwD;AACxD,iFAAiF;AACjF,8EAA8E;AAC9E,sEAAsE;AACtE,wDAAwD;AAExD,uCAAuC;AACvC,sBAAsB;AACtB,KAAK;AAEL,4DAA4D;AAC5D,8DAA8D;AAC9D,gEAAgE;AAEhE,4CAA4C;AAC5C,uBAAuB;AACvB,KAAK;AAEL,4CAA4C;AAC5C,uBAAuB;AACvB,KAAK;AAEL,iFAAiF;AACjF,2BAA2B;AAC3B,oBAAoB;AACpB,8BAA8B;AAC9B,qBAAqB;AACrB,+BAA+B;AAC/B,uBAAuB;AACvB,iCAAiC;AACjC,sBAAsB;AACtB,mCAAmC;AACnC,yBAAyB;AACzB,mCAAmC;AACnC,eAAe;AACf,2BAA2B;AAC3B,mCAAmC;AACnC,MAAM;AACN,IAAI;AAEJ,+DAA+D;AAC/D,qCAAqC;AACrC,2EAA2E;AAC3E,aAAa;AACb,iCAAiC;AACjC,2BAA2B;AAC3B,OAAO;AACP,IAAI;AAEJ,MAAM;AACN,iCAAiC;AACjC,mBAAmB;AACnB,oBAAoB;AACpB,mBAAmB;AACnB,cAAc;AACd,MAAM;AACN,sCAAsC;AACtC,yBAAyB;AACzB,6BAA6B;AAC7B,iCAAiC;AACjC,8BAA8B;AAC9B,2DAA2D;AAC3D,+CAA+C;AAC/C,6CAA6C;AAC7C,0DAA0D;AAC1D,sDAAsD;AACtD,6CAA6C;AAC7C,8BAA8B;AAC9B,kBAAkB;AAClB,oBAAoB;AACpB,0BAA0B;AAC1B,6BAA6B;AAC7B,sCAAsC;AACtC,8EAA8E;AAC9E,YAAY;AACZ,gBAAgB;AAChB,oDAAoD;AACpD,+DAA+D;AAC/D,8CAA8C;AAC9C,WAAW;AACX,uBAAuB;AACvB,sCAAsC;AAEtC,6BAA6B;AAC7B,uCAAuC;AACvC,6BAA6B;AAC7B,6DAA6D;AAC7D,gDAAgD;AAChD,6BAA6B;AAC7B,YAAY;AAEZ,wBAAwB;AACxB,6EAA6E;AAC7E,0DAA0D;AAC1D,WAAW;AACX,gCAAgC;AAChC,eAAe;AACf,0BAA0B;AAC1B,oCAAoC;AACpC,gCAAgC;AAChC,wCAAwC;AACxC,sCAAsC;AACtC,yBAAyB;AACzB,SAAS;AACT,SAAS;AACT,IAAI"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/features/_internal/index.ts"],"names":[],"mappings":";AAAA,wCAAwC"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { isHubFeature } from "./types";
|
|
2
|
+
const QaExtFeatures = {
|
|
3
|
+
workspaces: true,
|
|
4
|
+
};
|
|
5
|
+
const DevExtFeatures = Object.assign({}, QaExtFeatures);
|
|
6
|
+
const LocalDevFeatures = Object.assign({}, QaExtFeatures);
|
|
7
|
+
const SandboxDevFeatures = Object.assign({}, QaExtFeatures);
|
|
8
|
+
const ProductionFeatures = {
|
|
9
|
+
workspaces: false,
|
|
10
|
+
};
|
|
11
|
+
const EnterpriseFeatures = {
|
|
12
|
+
workspaces: false,
|
|
13
|
+
};
|
|
14
|
+
function getFeaturesForEnvironment(environment) {
|
|
15
|
+
switch (environment) {
|
|
16
|
+
case "qaext":
|
|
17
|
+
return QaExtFeatures;
|
|
18
|
+
case "devext":
|
|
19
|
+
return DevExtFeatures;
|
|
20
|
+
case "localdev":
|
|
21
|
+
return LocalDevFeatures;
|
|
22
|
+
case "sandbox":
|
|
23
|
+
return SandboxDevFeatures;
|
|
24
|
+
case "enterprise":
|
|
25
|
+
return EnterpriseFeatures;
|
|
26
|
+
default:
|
|
27
|
+
// default to prod
|
|
28
|
+
return ProductionFeatures;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
function getFeatures(context) {
|
|
32
|
+
const { environment } = context;
|
|
33
|
+
const featuresForEnvironment = getFeaturesForEnvironment(environment);
|
|
34
|
+
return Object.assign(Object.assign({}, featuresForEnvironment), context.features);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Check if a capability is enabled for a given entity and if the current user has necessary permissions to access it
|
|
38
|
+
* @param capability
|
|
39
|
+
* @param context
|
|
40
|
+
* @param entity
|
|
41
|
+
* @returns
|
|
42
|
+
*/
|
|
43
|
+
export function checkFeature(feature, context, entity) {
|
|
44
|
+
/*
|
|
45
|
+
TODO:
|
|
46
|
+
- by env
|
|
47
|
+
- by org??? checkAlpha? probably not checkLicense - that would be for a capability...
|
|
48
|
+
- by entity??? or is it entity type???
|
|
49
|
+
- if it is turned off for the env it is off for all entities???
|
|
50
|
+
- if it is on for the env but off for the entity then it is off for that entity???
|
|
51
|
+
- url params can ovverride everything???
|
|
52
|
+
*/
|
|
53
|
+
// const entityType: HubEntityType = getTypeFromEntity(entity);
|
|
54
|
+
// Find the rule for the given entity type and capability
|
|
55
|
+
const isValid = isHubFeature(feature);
|
|
56
|
+
if (isValid) {
|
|
57
|
+
const featuresHash = getFeatures(context);
|
|
58
|
+
const enabled = featuresHash[feature];
|
|
59
|
+
if (enabled) {
|
|
60
|
+
return {
|
|
61
|
+
feature,
|
|
62
|
+
access: true,
|
|
63
|
+
code: "enabled",
|
|
64
|
+
response: "granted",
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
return {
|
|
69
|
+
feature,
|
|
70
|
+
access: false,
|
|
71
|
+
code: "disabled",
|
|
72
|
+
response: "feature-not-available",
|
|
73
|
+
message: `Feature "${feature}" is not enabled for this environment.`,
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
// ======
|
|
77
|
+
// const rule = CapabilityPermissions.find(
|
|
78
|
+
// hubFeature => hubFeature.entity === entityType && hubFeature.feature === feature
|
|
79
|
+
// );
|
|
80
|
+
// if (rule) {
|
|
81
|
+
// // check each capability access rule
|
|
82
|
+
// return checkFeatureAccess(rule, context, entity);
|
|
83
|
+
// } else {
|
|
84
|
+
// // No rule found
|
|
85
|
+
// return {
|
|
86
|
+
// feature,
|
|
87
|
+
// access: false,
|
|
88
|
+
// code: "disabled",
|
|
89
|
+
// response: "not-available",
|
|
90
|
+
// message: `Feature "${feature}" is not defined for ${entityType}.`,
|
|
91
|
+
// responses: [],
|
|
92
|
+
// } as IFeatureAccessResponse;
|
|
93
|
+
// }
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
// Invalid Feature
|
|
97
|
+
return {
|
|
98
|
+
feature,
|
|
99
|
+
access: false,
|
|
100
|
+
code: "disabled",
|
|
101
|
+
response: "invalid-feature",
|
|
102
|
+
message: `Value "${feature}" is not a valid Hub Feature.`,
|
|
103
|
+
responses: [],
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=checkFeature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkFeature.js","sourceRoot":"","sources":["../../../src/features/checkFeature.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmD,YAAY,EAAE,MAAM,SAAS,CAAC;AAiBxF,MAAM,aAAa,GAAgB;IACjC,UAAU,EAAE,IAAI;CACjB,CAAC;AAEF,MAAM,cAAc,qBAAqB,aAAa,CAAE,CAAC;AACzD,MAAM,gBAAgB,qBAAqB,aAAa,CAAE,CAAC;AAC3D,MAAM,kBAAkB,qBAAqB,aAAa,CAAE,CAAC;AAE7D,MAAM,kBAAkB,GAAgB;IACtC,UAAU,EAAE,KAAK;CAClB,CAAC;AAEF,MAAM,kBAAkB,GAAgB;IACtC,UAAU,EAAE,KAAK;CAClB,CAAC;AAEF,SAAS,yBAAyB,CAAC,WAA2B;IAC5D,QAAQ,WAAW,EAAE;QACnB,KAAK,OAAO;YACV,OAAO,aAAa,CAAC;QACvB,KAAK,QAAQ;YACX,OAAO,cAAc,CAAC;QACxB,KAAK,UAAU;YACb,OAAO,gBAAgB,CAAC;QAC1B,KAAK,SAAS;YACZ,OAAO,kBAAkB,CAAC;QAC5B,KAAK,YAAY;YACf,OAAO,kBAAkB,CAAC;QAC5B;YACE,kBAAkB;YAClB,OAAO,kBAAkB,CAAC;KAC7B;AACH,CAAC;AAED,SAAS,WAAW,CAAC,OAAuB;IAC1C,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IAChC,MAAM,sBAAsB,GAAG,yBAAyB,CAAC,WAAW,CAAC,CAAC;IACtE,uCACK,sBAAsB,GACtB,OAAO,CAAC,QAAQ,EACnB;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAC1B,OAAmB,EACnB,OAAuB,EACvB,MAAkC;IAElC;;;;;;;;MAQE;IACF,+DAA+D;IAC/D,yDAAyD;IACzD,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IACtC,IAAI,OAAO,EAAE;QACX,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,OAAO,EAAE;YACX,OAAO;gBACL,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE,SAAS;aACM,CAAC;SAC7B;aAAM;YACL,OAAO;gBACL,OAAO;gBACP,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,uBAAuB;gBACjC,OAAO,EAAE,YAAY,OAAO,wCAAwC;aAC3C,CAAC;SAC7B;QACD,SAAS;QACT,2CAA2C;QAC3C,qFAAqF;QACrF,KAAK;QACL,cAAc;QACd,yCAAyC;QACzC,sDAAsD;QACtD,WAAW;QACX,qBAAqB;QACrB,aAAa;QACb,eAAe;QACf,qBAAqB;QACrB,wBAAwB;QACxB,iCAAiC;QACjC,yEAAyE;QACzE,qBAAqB;QACrB,iCAAiC;QACjC,IAAI;KACL;SAAM;QACL,kBAAkB;QAClB,OAAO;YACL,OAAO;YACP,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,iBAAiB;YAC3B,OAAO,EAAE,UAAU,OAAO,+BAA+B;YACzD,SAAS,EAAE,EAAE;SACY,CAAC;KAC7B;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/features/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,+CAA+C;AAC/C,8CAA8C;AAC9C,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hub System Features
|
|
3
|
+
*/
|
|
4
|
+
const validFeaures = [
|
|
5
|
+
"workspaces",
|
|
6
|
+
];
|
|
7
|
+
/**
|
|
8
|
+
* Validate a feature. This is used because the libary can be used outside of typescript and we want to be able to return a message is the string passed in is not a valid capability
|
|
9
|
+
* @param Feature
|
|
10
|
+
* @returns
|
|
11
|
+
*/
|
|
12
|
+
export function isHubFeature(maybeFeature) {
|
|
13
|
+
return validFeaures.includes(maybeFeature);
|
|
14
|
+
}
|
|
15
|
+
// /**
|
|
16
|
+
// * All capability checks for an Entity's workspace
|
|
17
|
+
// */
|
|
18
|
+
// export interface IWorkspaceCapabilityResponse {
|
|
19
|
+
// /**
|
|
20
|
+
// * Array of capabilities the current user has access to, in the context of a given entity
|
|
21
|
+
// */
|
|
22
|
+
// granted: Capability[];
|
|
23
|
+
// /**
|
|
24
|
+
// * Detailed checks for each capability. Used for observability
|
|
25
|
+
// */
|
|
26
|
+
// details: ICapabilityAccessResponse[];
|
|
27
|
+
// }
|
|
28
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/features/types.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,MAAM,YAAY,GAAG;IACnB,YAAY;CACJ,CAAC;AAcX;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,YAAoB;IAC/C,OAAO,YAAY,CAAC,QAAQ,CAAC,YAA0B,CAAC,CAAC;AAC3D,CAAC;AAyBD,MAAM;AACN,qDAAqD;AACrD,MAAM;AACN,kDAAkD;AAClD,QAAQ;AACR,8FAA8F;AAC9F,QAAQ;AACR,2BAA2B;AAC3B,QAAQ;AACR,mEAAmE;AACnE,QAAQ;AACR,0CAA0C;AAC1C,IAAI"}
|
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
import { createHubGroup, updateHubGroup, fetchHubGroup, deleteHubGroup, } from "./HubGroups";
|
|
2
|
+
import { convertHubGroupToGroup } from "./_internal/convertHubGroupToGroup";
|
|
3
|
+
import { DEFAULT_GROUP } from "./defaults";
|
|
4
|
+
import { addPermissionPolicy, checkPermission, removePermissionPolicy, } from "../permissions";
|
|
5
|
+
import { cloneObject } from "../util";
|
|
6
|
+
import { getEditorConfig } from "../core/schemas/getEditorConfig";
|
|
7
|
+
import { setGroupThumbnail } from "./setGroupThumbnail";
|
|
8
|
+
import { getGroupThumbnailUrl } from "../search/utils";
|
|
9
|
+
import { deleteGroupThumbnail } from "./deleteGroupThumbnail";
|
|
10
|
+
import { enrichEntity } from "../core/enrichEntity";
|
|
11
|
+
/**
|
|
12
|
+
* Hub Group Class
|
|
13
|
+
*/
|
|
14
|
+
export class HubGroup {
|
|
15
|
+
constructor(group, context) {
|
|
16
|
+
this.isDestroyed = false;
|
|
17
|
+
this.thumbnailCache = null;
|
|
18
|
+
this.entity = group;
|
|
19
|
+
this.context = context;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Whether the user can edit the group,
|
|
23
|
+
* only the owner or admins of the group can
|
|
24
|
+
*/
|
|
25
|
+
get canEdit() {
|
|
26
|
+
return ((this.entity.memberType &&
|
|
27
|
+
(this.entity.memberType === "owner" ||
|
|
28
|
+
this.entity.memberType === "admin")) ||
|
|
29
|
+
this.entity.owner === this.context.currentUser.username);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Whether the user can delete the group
|
|
33
|
+
* only the owner or admins of the group can
|
|
34
|
+
*/
|
|
35
|
+
get canDelete() {
|
|
36
|
+
return this.canEdit;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Whether the group is protected, if so, it can't be deleted
|
|
40
|
+
*/
|
|
41
|
+
get isProtected() {
|
|
42
|
+
return this.entity.protected;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Create an instance from an IHubGroup object
|
|
46
|
+
* @param json - JSON object to create a HubGroup from
|
|
47
|
+
* @param context - ArcGIS context
|
|
48
|
+
* @returns
|
|
49
|
+
*/
|
|
50
|
+
static fromJson(json, context) {
|
|
51
|
+
// merge what we have with the default values
|
|
52
|
+
const pojo = this.applyDefaults(json);
|
|
53
|
+
return new HubGroup(pojo, context);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Create a new HubGroup, returning a HubGroup instance.
|
|
57
|
+
* Note: This does not persist the Group into the backing store
|
|
58
|
+
* @param partialGroup
|
|
59
|
+
* @param context
|
|
60
|
+
* @returns
|
|
61
|
+
*/
|
|
62
|
+
static async create(partialGroup, context, save = false) {
|
|
63
|
+
const pojo = this.applyDefaults(partialGroup);
|
|
64
|
+
// return an instance of HubGroup
|
|
65
|
+
const instance = HubGroup.fromJson(pojo, context);
|
|
66
|
+
if (save) {
|
|
67
|
+
await instance.save();
|
|
68
|
+
}
|
|
69
|
+
return instance;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Fetch a Group from the backing store and return a HubGroup instance.
|
|
73
|
+
* @param identifier - Identifier of the group to load
|
|
74
|
+
* @param context
|
|
75
|
+
* @returns
|
|
76
|
+
*/
|
|
77
|
+
static async fetch(identifier, context) {
|
|
78
|
+
try {
|
|
79
|
+
const group = await fetchHubGroup(identifier, context.userRequestOptions);
|
|
80
|
+
// create an instance of HubGroup from the group
|
|
81
|
+
return HubGroup.fromJson(group, context);
|
|
82
|
+
}
|
|
83
|
+
catch (ex) {
|
|
84
|
+
if (ex.message ===
|
|
85
|
+
"COM_0003: Group does not exist or is inaccessible.") {
|
|
86
|
+
throw new Error(`Group not found.`);
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
throw ex;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
static applyDefaults(partialGroup) {
|
|
94
|
+
// extend the partial over the defaults
|
|
95
|
+
return Object.assign(Object.assign({}, DEFAULT_GROUP), partialGroup);
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Return the backing entity as an object literal
|
|
99
|
+
*/
|
|
100
|
+
toJson() {
|
|
101
|
+
if (this.isDestroyed) {
|
|
102
|
+
throw new Error("HubGroup is already destroyed.");
|
|
103
|
+
}
|
|
104
|
+
return cloneObject(this.entity);
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Apply a new state to the instance
|
|
108
|
+
* @param changes
|
|
109
|
+
*/
|
|
110
|
+
update(changes) {
|
|
111
|
+
if (this.isDestroyed) {
|
|
112
|
+
throw new Error("HubGroup is already destroyed.");
|
|
113
|
+
}
|
|
114
|
+
// merge partial onto existing entity
|
|
115
|
+
this.entity = Object.assign(Object.assign({}, this.entity), changes);
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Save the HubGroup to the backing store
|
|
119
|
+
* @returns
|
|
120
|
+
*/
|
|
121
|
+
async save() {
|
|
122
|
+
if (this.isDestroyed) {
|
|
123
|
+
throw new Error("HubGroup is already destroyed.");
|
|
124
|
+
}
|
|
125
|
+
if (this.entity.id) {
|
|
126
|
+
// update it
|
|
127
|
+
this.entity = await updateHubGroup(this.entity, this.context.userRequestOptions);
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
// create it
|
|
131
|
+
this.entity = await createHubGroup(this.entity, this.context.userRequestOptions);
|
|
132
|
+
}
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Delete the HubGroup from the store
|
|
137
|
+
* set a flag to indicate that it is destroyed
|
|
138
|
+
* @returns
|
|
139
|
+
*/
|
|
140
|
+
async delete() {
|
|
141
|
+
if (this.isDestroyed) {
|
|
142
|
+
throw new Error("HubGroup is already destroyed.");
|
|
143
|
+
}
|
|
144
|
+
this.isDestroyed = true;
|
|
145
|
+
// Delegate to module fn
|
|
146
|
+
await deleteHubGroup(this.entity.id, this.context.userRequestOptions);
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Check if current user has a specific permission, accounting for
|
|
150
|
+
* both system and entity level policies
|
|
151
|
+
* @param permission
|
|
152
|
+
* @returns
|
|
153
|
+
*/
|
|
154
|
+
checkPermission(permission) {
|
|
155
|
+
return checkPermission(permission, this.context, this.entity);
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Get all policies related to a specific permission
|
|
159
|
+
* @param permission
|
|
160
|
+
* @returns
|
|
161
|
+
*/
|
|
162
|
+
getPermissionPolicies(permission) {
|
|
163
|
+
const permissions = this.entity.permissions;
|
|
164
|
+
return permissions.filter((p) => p.permission === permission);
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Add a policy to the entity
|
|
168
|
+
* @param policy
|
|
169
|
+
*/
|
|
170
|
+
addPermissionPolicy(policy) {
|
|
171
|
+
this.entity.permissions = addPermissionPolicy(this.entity.permissions, policy);
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Remove a policy from the entity
|
|
175
|
+
* @param permission
|
|
176
|
+
* @param id
|
|
177
|
+
*/
|
|
178
|
+
removePermissionPolicy(permission, id) {
|
|
179
|
+
this.entity.permissions = removePermissionPolicy(this.entity.permissions, permission, id);
|
|
180
|
+
}
|
|
181
|
+
/*
|
|
182
|
+
* Get the editor config for the HubGroup entity.
|
|
183
|
+
* @param i18nScope translation scope to be interpolated into the uiSchema
|
|
184
|
+
* @param type editor type - corresonds to the returned uiSchema
|
|
185
|
+
* @param options optional hash of dynamic uiSchema element options
|
|
186
|
+
*/
|
|
187
|
+
async getEditorConfig(i18nScope, type) {
|
|
188
|
+
// delegate to the schema subsystem
|
|
189
|
+
return getEditorConfig(i18nScope, type, this.entity, this.context);
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Return the group as an editor object
|
|
193
|
+
*/
|
|
194
|
+
async toEditor(editorContext = {}, include = []) {
|
|
195
|
+
// 1. optionally enrich entity and cast to editor
|
|
196
|
+
const editor = include.length
|
|
197
|
+
? (await enrichEntity(cloneObject(this.entity), include, this.context.hubRequestOptions))
|
|
198
|
+
: cloneObject(this.entity);
|
|
199
|
+
// 2. Apply transforms to relevant entity values so they
|
|
200
|
+
// can be consumed by the editor
|
|
201
|
+
return editor;
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Load the group from the editor object
|
|
205
|
+
* @param editor
|
|
206
|
+
* @returns
|
|
207
|
+
*/
|
|
208
|
+
async fromEditor(editor) {
|
|
209
|
+
const isCreate = !editor.id;
|
|
210
|
+
// Setting the thumbnailCache will ensure that
|
|
211
|
+
// the thumbnail is updated on next save
|
|
212
|
+
if (editor._thumbnail) {
|
|
213
|
+
if (editor._thumbnail.blob) {
|
|
214
|
+
this.thumbnailCache = {
|
|
215
|
+
file: editor._thumbnail.blob,
|
|
216
|
+
filename: editor._thumbnail.fileName,
|
|
217
|
+
clear: false,
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
else {
|
|
221
|
+
this.thumbnailCache = {
|
|
222
|
+
clear: true,
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
delete editor._thumbnail;
|
|
227
|
+
if (this.thumbnailCache) {
|
|
228
|
+
if (this.thumbnailCache.clear) {
|
|
229
|
+
await deleteGroupThumbnail(this.entity.id, this.context.userRequestOptions);
|
|
230
|
+
}
|
|
231
|
+
else {
|
|
232
|
+
await setGroupThumbnail(this.entity.id, this.thumbnailCache.file, this.thumbnailCache.filename, this.context.userRequestOptions, this.entity.owner);
|
|
233
|
+
// Note: updating the thumbnail alone does not update the modified date of the group
|
|
234
|
+
// thus we can just set props on the entity w/o re-fetching
|
|
235
|
+
this.entity.thumbnail = `thumbnail/${this.thumbnailCache.filename}`;
|
|
236
|
+
// Cover the Hub Group to an IGoup
|
|
237
|
+
const group = convertHubGroupToGroup(this.entity);
|
|
238
|
+
this.entity.thumbnailUrl = getGroupThumbnailUrl(this.context.userRequestOptions.portal, group);
|
|
239
|
+
// clear the thumbnail cache
|
|
240
|
+
this.thumbnailCache = null;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
// convert back to an entity. Apply any reverse transforms used in
|
|
244
|
+
// of the toEditor method
|
|
245
|
+
const entity = cloneObject(editor);
|
|
246
|
+
// create it if it does not yet exist...
|
|
247
|
+
if (isCreate) {
|
|
248
|
+
throw new Error("Cannot create group using the Editor.");
|
|
249
|
+
}
|
|
250
|
+
else {
|
|
251
|
+
// ...otherwise, update the in-memory entity and save it
|
|
252
|
+
this.entity = entity;
|
|
253
|
+
await this.save();
|
|
254
|
+
}
|
|
255
|
+
return this.entity;
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
//# sourceMappingURL=HubGroup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HubGroup.js","sourceRoot":"","sources":["../../../src/groups/HubGroup.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
import { processAutoAddUsers } from "./processAutoAddUsers";
|
|
2
|
+
import { processInviteUsers } from "./processInviteUsers";
|
|
3
|
+
// Add or invite flow based on the type of user begins here
|
|
4
|
+
/**
|
|
5
|
+
* @private
|
|
6
|
+
* Handles add/invite logic for collaboration coordinators inside partnered orgs.
|
|
7
|
+
* This is intentionally split out from the invitation of partnered org normal members,
|
|
8
|
+
* because the two types of partnered org usres (regular and collaboration coordinator)
|
|
9
|
+
* always come from the same 'bucket', however have distinctly different add paths Invite vs auto add.
|
|
10
|
+
* It returns either an empty instance of the addOrInviteResponse
|
|
11
|
+
* object, or their response from auto adding users.
|
|
12
|
+
*
|
|
13
|
+
* @export
|
|
14
|
+
* @param {IAddOrInviteContext} context context object
|
|
15
|
+
* @return {IAddOrInviteResponse} response object
|
|
16
|
+
*/
|
|
17
|
+
export async function addOrInviteCollaborationCoordinators(context) {
|
|
18
|
+
// If there are no org users return handling no users
|
|
19
|
+
if (!context.collaborationCoordinator ||
|
|
20
|
+
context.collaborationCoordinator.length === 0) {
|
|
21
|
+
// we return an empty object because
|
|
22
|
+
// if you leave out any of the props
|
|
23
|
+
// from the final object and you are concatting together arrays you can concat
|
|
24
|
+
// an undeifined inside an array which will throw off array lengths.
|
|
25
|
+
return handleNoUsers();
|
|
26
|
+
}
|
|
27
|
+
return processAutoAddUsers(context, "collaborationCoordinator");
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* @private
|
|
31
|
+
* Handles add/invite logic for community users
|
|
32
|
+
* It returns either an empty instance of the addOrInviteResponse
|
|
33
|
+
* object, or either ther esponse from processing auto adding
|
|
34
|
+
* users or inviting users. If an email has been passed in it also notifies
|
|
35
|
+
* processAutoAddUsers that emails should be sent.
|
|
36
|
+
*
|
|
37
|
+
* @export
|
|
38
|
+
* @param {IAddOrInviteContext} context context object
|
|
39
|
+
* @return {IAddOrInviteResponse} response object
|
|
40
|
+
*/
|
|
41
|
+
export async function addOrInviteCommunityUsers(context) {
|
|
42
|
+
// We default to handleNoUsers
|
|
43
|
+
// we return an empty object because
|
|
44
|
+
// if you leave out any of the props
|
|
45
|
+
// from the final object and you are concatting together arrays you can concat
|
|
46
|
+
// an undeifined inside an array which will throw off array lengths.
|
|
47
|
+
let fnToCall = handleNoUsers;
|
|
48
|
+
let shouldEmail = false;
|
|
49
|
+
// If community users were passed in...
|
|
50
|
+
if (context.community && context.community.length > 0) {
|
|
51
|
+
// Default to either autoAdd or invite based on canAutoAddUser.
|
|
52
|
+
fnToCall = context.canAutoAddUser
|
|
53
|
+
? processAutoAddUsers
|
|
54
|
+
: processInviteUsers;
|
|
55
|
+
// If we have an email object
|
|
56
|
+
// Then we will auto add...
|
|
57
|
+
// But whether or not we email is still in question
|
|
58
|
+
if (context.email) {
|
|
59
|
+
// If the email object has the groupId property...
|
|
60
|
+
if (context.email.hasOwnProperty("groupId")) {
|
|
61
|
+
// If the email objects groupId property is the same as the current groupId in context...
|
|
62
|
+
// (This function is part of a flow that could work for N groupIds)
|
|
63
|
+
if (context.email.groupId === context.groupId) {
|
|
64
|
+
// Then we auto add and send email
|
|
65
|
+
fnToCall = processAutoAddUsers;
|
|
66
|
+
shouldEmail = true;
|
|
67
|
+
} // ELSE if the groupId's do NOT match, we will fall back
|
|
68
|
+
// To autoAdd or invite as per line 32.
|
|
69
|
+
// We are doing the above logic (lines 43 - 47) because
|
|
70
|
+
// We wish to add users to core groups, followers, and content groups
|
|
71
|
+
// but only to email the core group.
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
// If it does not have a groupId at all then we will autoAdd and email.
|
|
75
|
+
fnToCall = processAutoAddUsers;
|
|
76
|
+
shouldEmail = true;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
// Return/call the function
|
|
81
|
+
return fnToCall(context, "community", shouldEmail);
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* @private
|
|
85
|
+
* Handles add/invite logic for Org users
|
|
86
|
+
* It returns either an empty instance of the addOrInviteResponse
|
|
87
|
+
* object, or either ther esponse from processing auto adding a users or inviting a user
|
|
88
|
+
*
|
|
89
|
+
* @export
|
|
90
|
+
* @param {IAddOrInviteContext} context context object
|
|
91
|
+
* @return {IAddOrInviteResponse} response object
|
|
92
|
+
*/
|
|
93
|
+
export async function addOrInviteOrgUsers(context) {
|
|
94
|
+
// If there are no org users return handling no users
|
|
95
|
+
if (!context.org || context.org.length === 0) {
|
|
96
|
+
// we return an empty object because
|
|
97
|
+
// if you leave out any of the props
|
|
98
|
+
// from the final object and you are concatting together arrays you can concat
|
|
99
|
+
// an undeifined inside an array which will throw off array lengths.
|
|
100
|
+
return handleNoUsers();
|
|
101
|
+
}
|
|
102
|
+
// for org user if you have assignUsers then auto add the user
|
|
103
|
+
// if not then invite the user
|
|
104
|
+
return context.canAutoAddUser
|
|
105
|
+
? processAutoAddUsers(context, "org")
|
|
106
|
+
: processInviteUsers(context, "org");
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* @private
|
|
110
|
+
* Handles add/invite logic for partnered org users.
|
|
111
|
+
* It returns either an empty instance of the addOrInviteResponse
|
|
112
|
+
* object, or their response from inviting users.
|
|
113
|
+
*
|
|
114
|
+
* @export
|
|
115
|
+
* @param {IAddOrInviteContext} context context object
|
|
116
|
+
* @return {IAddOrInviteResponse} response object
|
|
117
|
+
*/
|
|
118
|
+
export async function addOrInvitePartneredUsers(context) {
|
|
119
|
+
// If there are no org users return handling no users
|
|
120
|
+
if (!context.partnered || context.partnered.length === 0) {
|
|
121
|
+
// we return an empty object because
|
|
122
|
+
// if you leave out any of the props
|
|
123
|
+
// from the final object and you are concatting together arrays you can concat
|
|
124
|
+
// an undeifined inside an array which will throw off array lengths.
|
|
125
|
+
return handleNoUsers();
|
|
126
|
+
}
|
|
127
|
+
// process invite
|
|
128
|
+
return processInviteUsers(context, "partnered");
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* @private
|
|
132
|
+
* Handles add/invite logic for world users
|
|
133
|
+
* It either returns an empty instance of the add/invite response
|
|
134
|
+
* object, or a populated version from processInviteUsers
|
|
135
|
+
*
|
|
136
|
+
* @export
|
|
137
|
+
* @param {IAddOrInviteContext} context Context object
|
|
138
|
+
* @return {IAddOrInviteResponse} Response object
|
|
139
|
+
*/
|
|
140
|
+
export async function addOrInviteWorldUsers(context) {
|
|
141
|
+
// If there are no world users return handling no users
|
|
142
|
+
if (!context.world || context.world.length === 0) {
|
|
143
|
+
// we return an empty object because
|
|
144
|
+
// if you leave out any of the props
|
|
145
|
+
// from the final object and you are concatting together arrays you can concat
|
|
146
|
+
// an undeifined inside an array which will throw off array lengths.
|
|
147
|
+
return handleNoUsers();
|
|
148
|
+
}
|
|
149
|
+
// process invite
|
|
150
|
+
return processInviteUsers(context, "world");
|
|
151
|
+
}
|
|
152
|
+
// Add or invite flow based on the type of user ends here
|
|
153
|
+
/**
|
|
154
|
+
* @private
|
|
155
|
+
* Returns an empty instance of the addorinviteresponse object.
|
|
156
|
+
* We are using this because if you leave out any of the props
|
|
157
|
+
* from the final object and you are concatting together arrays you can concat
|
|
158
|
+
* an undeifined inside an array which will throw off array lengths.
|
|
159
|
+
*
|
|
160
|
+
* @export
|
|
161
|
+
* @return {IAddOrInviteResponse}
|
|
162
|
+
*/
|
|
163
|
+
export async function handleNoUsers(context, userType, shouldEmail) {
|
|
164
|
+
return {
|
|
165
|
+
notAdded: [],
|
|
166
|
+
notEmailed: [],
|
|
167
|
+
notInvited: [],
|
|
168
|
+
users: [],
|
|
169
|
+
errors: [],
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* @private
|
|
174
|
+
* Takes users array and sorts them into an object by the type of user they are
|
|
175
|
+
* based on the orgType prop (world|org|community)
|
|
176
|
+
*
|
|
177
|
+
* @export
|
|
178
|
+
* @param {IUserWithOrgType[]} users array of users
|
|
179
|
+
* @return {IUserOrgRelationship} Object of users sorted by type (world, org, community)
|
|
180
|
+
*/
|
|
181
|
+
export function groupUsersByOrgRelationship(users) {
|
|
182
|
+
return users.reduce((acc, user) => {
|
|
183
|
+
// keyof needed to make bracket notation work without TS throwing a wobbly.
|
|
184
|
+
const orgType = user.orgType;
|
|
185
|
+
acc[orgType].push(user);
|
|
186
|
+
return acc;
|
|
187
|
+
}, {
|
|
188
|
+
world: [],
|
|
189
|
+
org: [],
|
|
190
|
+
community: [],
|
|
191
|
+
partnered: [],
|
|
192
|
+
collaborationCoordinator: [],
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
//# sourceMappingURL=AddOrInviteUsersToGroupUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AddOrInviteUsersToGroupUtils.js","sourceRoot":"","sources":["../../../../src/groups/_internal/AddOrInviteUsersToGroupUtils.ts"],"names":[],"mappings":"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"}
|