@esri/hub-common 13.17.2 → 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/_internal/portalSearchGroupMembers.js +10 -1
- package/dist/esm/search/_internal/portalSearchGroupMembers.js.map +1 -1
- 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/_internal/portalSearchGroupMembers.js +10 -1
- package/dist/node/search/_internal/portalSearchGroupMembers.js.map +1 -1
- 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/_internal/portalSearchGroupMembers.d.ts +2 -1
- 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,193 @@
|
|
|
1
|
+
import { cloneObject } from "../../util";
|
|
2
|
+
import { getItemGroups } from "@esri/arcgis-rest-portal";
|
|
3
|
+
import { getWithDefault } from "../../objects/get-with-default";
|
|
4
|
+
import { getProp } from "../../objects/get-prop";
|
|
5
|
+
export async function explainDatePredicate(predicate, result, requestOptions) {
|
|
6
|
+
// get the value from the predicate
|
|
7
|
+
throw new Error("Not implemented");
|
|
8
|
+
}
|
|
9
|
+
export async function explainPropPredicate(predicate, result, requestOptions) {
|
|
10
|
+
// get the value from the predicate
|
|
11
|
+
throw new Error("Not implemented");
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* @internal
|
|
15
|
+
* Create explanation for an IMatchOptions predicate
|
|
16
|
+
* @param predicate
|
|
17
|
+
* @param result
|
|
18
|
+
* @param requestOptions
|
|
19
|
+
* @returns
|
|
20
|
+
*/
|
|
21
|
+
export async function explainMatchOptionPredicate(predicate, result, requestOptions) {
|
|
22
|
+
// get the key from the predicate
|
|
23
|
+
const attribute = Object.keys(predicate)[0];
|
|
24
|
+
const matchOptions = predicate[attribute];
|
|
25
|
+
const explanation = {
|
|
26
|
+
predicate: cloneObject(predicate),
|
|
27
|
+
matched: true,
|
|
28
|
+
reasons: [],
|
|
29
|
+
};
|
|
30
|
+
// Construct meta hash that will allow us to carry additional info about the match
|
|
31
|
+
const meta = {};
|
|
32
|
+
// TODO Implement when needed
|
|
33
|
+
// if (attribute === "orgid") {
|
|
34
|
+
// // fetch org into and attach the id + name into the meta hash
|
|
35
|
+
// }
|
|
36
|
+
if (attribute === "group") {
|
|
37
|
+
// fetch items groups and attach as `group` prop
|
|
38
|
+
const response = await getItemGroups(result.id, requestOptions);
|
|
39
|
+
// ----------------------------------------
|
|
40
|
+
// TODO: We've got a bunch of useful group info in the response, but only use the ids for the explanation
|
|
41
|
+
// However, to provide the user a useful explanation, we should include the group titles, and maybe even the group owners
|
|
42
|
+
// ----------------------------------------
|
|
43
|
+
// map out the id and titles into meta.groups
|
|
44
|
+
meta.groups = [
|
|
45
|
+
...getWithDefault(response, "admin", []),
|
|
46
|
+
...getWithDefault(response, "member", []),
|
|
47
|
+
...getWithDefault(response, "other", []),
|
|
48
|
+
].map((g) => ({ id: g.id, title: g.title }));
|
|
49
|
+
// and the id's into the match options attribute `group`
|
|
50
|
+
result.group = meta.groups.map((g) => g.id);
|
|
51
|
+
}
|
|
52
|
+
// get the value of the key, from the result
|
|
53
|
+
const resultValue = getProp(result, attribute);
|
|
54
|
+
if (resultValue) {
|
|
55
|
+
// check the any, all, not, exact props if defined
|
|
56
|
+
const fns = {
|
|
57
|
+
any: checkAny,
|
|
58
|
+
all: checkAll,
|
|
59
|
+
not: checkNot,
|
|
60
|
+
};
|
|
61
|
+
// for each prop, if defined, call the appropriate check function
|
|
62
|
+
Object.keys(fns).forEach((prop) => {
|
|
63
|
+
const conditionToCheck = getProp(matchOptions, prop);
|
|
64
|
+
if (conditionToCheck) {
|
|
65
|
+
const fn = getProp(fns, prop);
|
|
66
|
+
const r = fn(attribute, conditionToCheck, resultValue);
|
|
67
|
+
r.meta = meta;
|
|
68
|
+
explanation.reasons.push(r);
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
// decide if all the predicates matched
|
|
72
|
+
explanation.matched = explanation.reasons.every((r) => r.matched);
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
explanation.matched = false;
|
|
76
|
+
explanation.reasons.push({
|
|
77
|
+
attribute,
|
|
78
|
+
matched: false,
|
|
79
|
+
message: `Property ${attribute} not present on search result, cannot provide explanation`,
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
return Promise.resolve(explanation);
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Returns information about the match between a result value and the .any property of an IMatchOptions predicate
|
|
86
|
+
* @param attribute
|
|
87
|
+
* @param option
|
|
88
|
+
* @param resultValue
|
|
89
|
+
* @returns
|
|
90
|
+
*/
|
|
91
|
+
export function checkAny(attribute, option, resultValue) {
|
|
92
|
+
const result = {
|
|
93
|
+
attribute,
|
|
94
|
+
values: arrayify(resultValue).join(","),
|
|
95
|
+
condition: "IN",
|
|
96
|
+
matched: false,
|
|
97
|
+
requirement: arrayify(option).join(","),
|
|
98
|
+
message: "No match",
|
|
99
|
+
};
|
|
100
|
+
const { options, matches } = getMatches(arrayify(option), arrayify(resultValue));
|
|
101
|
+
result.matched = matches.length > 0;
|
|
102
|
+
if (result.matched) {
|
|
103
|
+
result.message = `Value(s) ${result.values} contained at least one of value from [${result.requirement}]`;
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
result.message = `Value(s) ${result.values} did not contain any of value from [${result.requirement}]`;
|
|
107
|
+
}
|
|
108
|
+
return result;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* * Returns information about the match between a result value and the .all property of an IMatchOptions predicate
|
|
112
|
+
* @param attribute
|
|
113
|
+
* @param option
|
|
114
|
+
* @param resultValue
|
|
115
|
+
* @returns
|
|
116
|
+
*/
|
|
117
|
+
export function checkAll(attribute, option, resultValue) {
|
|
118
|
+
const result = {
|
|
119
|
+
attribute,
|
|
120
|
+
values: arrayify(resultValue).join(","),
|
|
121
|
+
condition: "ALL",
|
|
122
|
+
requirement: arrayify(option).join(","),
|
|
123
|
+
matched: false,
|
|
124
|
+
message: "No match",
|
|
125
|
+
};
|
|
126
|
+
const { options, matches } = getMatches(arrayify(option), arrayify(resultValue));
|
|
127
|
+
result.matched = matches.length === options.length;
|
|
128
|
+
if (result.matched) {
|
|
129
|
+
result.message = `Value(s) ${result.values} contained all values from [${result.requirement}]`;
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
result.message = `Value(s) ${result.values} did not contain all values from [${result.requirement}]`;
|
|
133
|
+
}
|
|
134
|
+
return result;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* * Returns information about the match between a result value and the .not property of an IMatchOptions predicate
|
|
138
|
+
* @param attribute
|
|
139
|
+
* @param option
|
|
140
|
+
* @param resultValue
|
|
141
|
+
* @returns
|
|
142
|
+
*/
|
|
143
|
+
export function checkNot(attribute, option, resultValue) {
|
|
144
|
+
const result = {
|
|
145
|
+
attribute,
|
|
146
|
+
values: arrayify(resultValue).join(","),
|
|
147
|
+
condition: "NOT_IN",
|
|
148
|
+
requirement: arrayify(option).join(","),
|
|
149
|
+
matched: false,
|
|
150
|
+
message: "No match",
|
|
151
|
+
};
|
|
152
|
+
const { options, values, matches } = getMatches(arrayify(option), arrayify(resultValue));
|
|
153
|
+
result.matched = matches.length === 0;
|
|
154
|
+
if (result.matched) {
|
|
155
|
+
result.message = `Value(s) ${result.values} is not contained in [${result.requirement}]`;
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
result.message = `Value(s) ${result.values} is contained in [${result.requirement}]`;
|
|
159
|
+
}
|
|
160
|
+
return result;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Ensure a value that could be `string | string[]` is a `string[]`
|
|
164
|
+
* @param value
|
|
165
|
+
* @returns
|
|
166
|
+
*/
|
|
167
|
+
function arrayify(value) {
|
|
168
|
+
if (!Array.isArray(value)) {
|
|
169
|
+
return [value];
|
|
170
|
+
}
|
|
171
|
+
return value;
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Return matching values from two arrays
|
|
175
|
+
* @param options
|
|
176
|
+
* @param resultValues
|
|
177
|
+
* @returns
|
|
178
|
+
*/
|
|
179
|
+
function getMatches(options, resultValues) {
|
|
180
|
+
const result = {
|
|
181
|
+
options,
|
|
182
|
+
values: resultValues,
|
|
183
|
+
matches: [],
|
|
184
|
+
};
|
|
185
|
+
result.matches = options.reduce((acc, o) => {
|
|
186
|
+
if (resultValues.includes(o)) {
|
|
187
|
+
acc.push(o);
|
|
188
|
+
}
|
|
189
|
+
return acc;
|
|
190
|
+
}, []);
|
|
191
|
+
return result;
|
|
192
|
+
}
|
|
193
|
+
//# sourceMappingURL=explainHelpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"explainHelpers.js","sourceRoot":"","sources":["../../../../src/search/_internal/explainHelpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { PREDICATE_DATE_PROPS, PREDICATE_NON_MATCH_OPTIONS_PROPS, } from "./expandPredicate";
|
|
2
|
+
import { explainMatchOptionPredicate, explainDatePredicate, explainPropPredicate, } from "./explainHelpers";
|
|
3
|
+
/**
|
|
4
|
+
* Geneate an explanation if a specific result passes the predicate's criteria
|
|
5
|
+
* This will delegate to more specific functions based on the predicate's key
|
|
6
|
+
* @param predicate
|
|
7
|
+
* @param result
|
|
8
|
+
* @param requestOptions
|
|
9
|
+
* @returns
|
|
10
|
+
*/
|
|
11
|
+
export async function explainPredicate(predicate, result, requestOptions) {
|
|
12
|
+
// const predicateResult: IPredicateExplanation = {
|
|
13
|
+
// predicate: cloneObject(predicate),
|
|
14
|
+
// included: false,
|
|
15
|
+
// reasons: [],
|
|
16
|
+
// };
|
|
17
|
+
// get the key from the predicate
|
|
18
|
+
const key = Object.keys(predicate)[0];
|
|
19
|
+
// default to match options...
|
|
20
|
+
let fn = explainMatchOptionPredicate;
|
|
21
|
+
// However, some keys are treated differently
|
|
22
|
+
if (PREDICATE_NON_MATCH_OPTIONS_PROPS.includes(key)) {
|
|
23
|
+
if (PREDICATE_DATE_PROPS.includes(key)) {
|
|
24
|
+
// handle as date
|
|
25
|
+
fn = explainDatePredicate;
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
// handle as prop we just copy forward
|
|
29
|
+
fn = explainPropPredicate;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
// return the result
|
|
33
|
+
return fn(predicate, result, requestOptions);
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=explainPredicate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"explainPredicate.js","sourceRoot":"","sources":["../../../../src/search/_internal/explainPredicate.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,oBAAoB,EACpB,iCAAiC,GAClC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,2BAA2B,EAC3B,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAE1B;;;;;;;GAOG;AAEH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,SAAwC,EACxC,MAAqB,EACrB,cAA+B;IAE/B,mDAAmD;IACnD,uCAAuC;IACvC,qBAAqB;IACrB,iBAAiB;IACjB,KAAK;IAEL,iCAAiC;IACjC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACtC,8BAA8B;IAC9B,IAAI,EAAE,GAAG,2BAA2B,CAAC;IAErC,6CAA6C;IAC7C,IAAI,iCAAiC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QACnD,IAAI,oBAAoB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACtC,iBAAiB;YACjB,EAAE,GAAG,oBAAoB,CAAC;SAC3B;aAAM;YACL,sCAAsC;YACtC,EAAE,GAAG,oBAAoB,CAAC;SAC3B;KACF;IACD,oBAAoB;IACpB,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;AAC/C,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @private
|
|
3
|
+
* Given a type (e.g. Hub Site Application) return the appropriate entity type
|
|
4
|
+
* that can be used as a `targetEntity` in an `IQuery`
|
|
5
|
+
* @param type
|
|
6
|
+
* @returns
|
|
7
|
+
*/
|
|
8
|
+
export function getEntityTypeFromType(type) {
|
|
9
|
+
// Default to item, as it's the most common
|
|
10
|
+
let etype = "item";
|
|
11
|
+
// Some are just downcased, so we can check them with an array
|
|
12
|
+
if (["group", "event", "user", "channel"].includes(type.toLowerCase())) {
|
|
13
|
+
etype = type.toLocaleLowerCase();
|
|
14
|
+
}
|
|
15
|
+
// Group Member is just weird
|
|
16
|
+
if (type.toLowerCase() === "group member") {
|
|
17
|
+
etype = "groupMember";
|
|
18
|
+
}
|
|
19
|
+
return etype;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=getEntityTypeFromType.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getEntityTypeFromType.js","sourceRoot":"","sources":["../../../../src/search/_internal/getEntityTypeFromType.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAChD,2CAA2C;IAC3C,IAAI,KAAK,GAAe,MAAM,CAAC;IAE/B,8DAA8D;IAC9D,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE;QACtE,KAAK,GAAG,IAAI,CAAC,iBAAiB,EAAgB,CAAC;KAChD;IAED,6BAA6B;IAC7B,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,cAAc,EAAE;QACzC,KAAK,GAAG,aAAa,CAAC;KACvB;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import HubError from "../../HubError";
|
|
2
|
+
import { searchChannels } from "../../discussions/api/channels";
|
|
3
|
+
import { getGroup } from "@esri/arcgis-rest-portal";
|
|
4
|
+
/**
|
|
5
|
+
* @private
|
|
6
|
+
* Convert hubSearch IHubSearchOptions and IQuery interfaces to a
|
|
7
|
+
* ISearchChannelsParams structure that is needed for the Discussions API
|
|
8
|
+
* searchChannels(searchOptions: ISearchCHannelsParams) function
|
|
9
|
+
* @param {IHubSearchOptions} options
|
|
10
|
+
* @param {IQuery} query
|
|
11
|
+
* @returns ISearchChannelParams
|
|
12
|
+
*/
|
|
13
|
+
export const processSearchParams = (options, query) => {
|
|
14
|
+
if (!options.requestOptions) {
|
|
15
|
+
throw new HubError("hubSearchChannels", "options.requestOptions is required");
|
|
16
|
+
}
|
|
17
|
+
// Array of properties we want to copy over from IHubSeachOptions to ISearchChannels
|
|
18
|
+
const paginationProps = {};
|
|
19
|
+
const allowedPaginationProps = [
|
|
20
|
+
"num",
|
|
21
|
+
"start",
|
|
22
|
+
"sortField",
|
|
23
|
+
"sortOrder",
|
|
24
|
+
];
|
|
25
|
+
// Map ISearchOptions key to ISearchChannels key
|
|
26
|
+
const keyMappings = {
|
|
27
|
+
sortField: "sortBy",
|
|
28
|
+
term: "name",
|
|
29
|
+
};
|
|
30
|
+
// Map any values that originated from ISearchOptions
|
|
31
|
+
// into a correct ISearchChannels value
|
|
32
|
+
const mapValue = (key, value) => {
|
|
33
|
+
let _value = value;
|
|
34
|
+
if (key === "sortOrder") {
|
|
35
|
+
_value = value === null || value === void 0 ? void 0 : value.toUpperCase();
|
|
36
|
+
}
|
|
37
|
+
else if (key === "sortBy") {
|
|
38
|
+
_value = {
|
|
39
|
+
created: "createdAt",
|
|
40
|
+
modified: "updatedAt",
|
|
41
|
+
title: null,
|
|
42
|
+
}[value];
|
|
43
|
+
}
|
|
44
|
+
return _value;
|
|
45
|
+
};
|
|
46
|
+
allowedPaginationProps.forEach((prop) => {
|
|
47
|
+
if (options.hasOwnProperty(prop)) {
|
|
48
|
+
const { [prop]: key = prop } = keyMappings;
|
|
49
|
+
const _key = key;
|
|
50
|
+
const value = mapValue(_key, options[prop]);
|
|
51
|
+
if (key && value) {
|
|
52
|
+
paginationProps[_key] = value;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
// Acceptable fields to use as filters
|
|
57
|
+
const filterProps = {};
|
|
58
|
+
const allowedFilterProps = [
|
|
59
|
+
"access",
|
|
60
|
+
"groups",
|
|
61
|
+
"name",
|
|
62
|
+
];
|
|
63
|
+
// Find predicates that match acceptable filter fields
|
|
64
|
+
query.filters.forEach((filter) => {
|
|
65
|
+
filter.predicates.forEach((predicate) => {
|
|
66
|
+
Object.keys(predicate).forEach((key) => {
|
|
67
|
+
const { [key]: _key = key } = keyMappings;
|
|
68
|
+
if (allowedFilterProps.includes(_key)) {
|
|
69
|
+
filterProps[_key] = [...(filterProps[_key] || []), predicate[key]];
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
// Return as ISearchChannelsParams
|
|
75
|
+
return Object.assign(Object.assign({}, options.requestOptions), { data: Object.assign(Object.assign({}, paginationProps), filterProps) });
|
|
76
|
+
};
|
|
77
|
+
/**
|
|
78
|
+
* @private
|
|
79
|
+
* Convert the Discussions API searchChannels response into an
|
|
80
|
+
* IHubSearchResponse necessary for supporting hubSearch results
|
|
81
|
+
* @param {IPagedResponse{IChannel}} channelsResponse
|
|
82
|
+
* @param {IQuery} query
|
|
83
|
+
* @param {IHubSearchOptions} options
|
|
84
|
+
* @returns IHubSearchResponse<IHubSearchResult>
|
|
85
|
+
*/
|
|
86
|
+
export const toHubSearchResult = async (channelsResponse, query, options) => {
|
|
87
|
+
const { total, items, nextStart } = channelsResponse;
|
|
88
|
+
// Convert IChannel to IHubSearchResult
|
|
89
|
+
const channelToSearchResult = async (channel) => {
|
|
90
|
+
var _a;
|
|
91
|
+
return Object.assign(Object.assign({}, channel), { id: channel.id, name: channel.name, createdDate: new Date(channel.createdAt), createdDateSource: "channel", updatedDate: new Date(channel.updatedAt), updatedDateSource: "channel", type: "channel", access: channel.access, family: "channel", owner: channel.creator, links: {
|
|
92
|
+
// TODO: add links?
|
|
93
|
+
thumbnail: null,
|
|
94
|
+
self: null,
|
|
95
|
+
siteRelative: null,
|
|
96
|
+
}, includes: {
|
|
97
|
+
// when 'include' requests 'groups' enrichment, get group details
|
|
98
|
+
groups: ((_a = options.include) === null || _a === void 0 ? void 0 : _a.includes("groups")) ? await Promise.all(channel.groups.map(async (groupId) => {
|
|
99
|
+
let group;
|
|
100
|
+
try {
|
|
101
|
+
group = await getGroup(groupId, options.requestOptions);
|
|
102
|
+
}
|
|
103
|
+
catch (e) {
|
|
104
|
+
group = null;
|
|
105
|
+
/* tslint:disable-next-line: no-console */
|
|
106
|
+
console.warn(`Cannot fetch group enhancement for id = ${groupId}`, e);
|
|
107
|
+
}
|
|
108
|
+
return group;
|
|
109
|
+
}))
|
|
110
|
+
: [],
|
|
111
|
+
} });
|
|
112
|
+
};
|
|
113
|
+
return {
|
|
114
|
+
total,
|
|
115
|
+
results: await Promise.all(items.map(channelToSearchResult)),
|
|
116
|
+
hasNext: nextStart > -1,
|
|
117
|
+
next: () => {
|
|
118
|
+
return hubSearchChannels(query, Object.assign(Object.assign({}, options), { start: nextStart }));
|
|
119
|
+
},
|
|
120
|
+
};
|
|
121
|
+
};
|
|
122
|
+
/**
|
|
123
|
+
* @private
|
|
124
|
+
* Execute channel search against the Discussions API
|
|
125
|
+
* @param query
|
|
126
|
+
* @param options
|
|
127
|
+
* @returns
|
|
128
|
+
*/
|
|
129
|
+
export const hubSearchChannels = async (query, options) => {
|
|
130
|
+
// Pull useful info out of query
|
|
131
|
+
const searchOptions = processSearchParams(options, query);
|
|
132
|
+
// Call to searchChannels
|
|
133
|
+
const channelsResponse = await searchChannels(searchOptions);
|
|
134
|
+
// Parse into <IHubSearchResponse<IHubSearchResult>>
|
|
135
|
+
return toHubSearchResult(channelsResponse, query, options);
|
|
136
|
+
};
|
|
137
|
+
//# sourceMappingURL=hubSearchChannels.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hubSearchChannels.js","sourceRoot":"","sources":["../../../../src/search/_internal/hubSearchChannels.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { expandQuery } from "./portalSearchItems";
|
|
2
|
+
/**
|
|
3
|
+
* @private
|
|
4
|
+
* Helper function that locates group predicates and "negates" them
|
|
5
|
+
* so we get a query that is `not in groups ...` vs `in groups ...`
|
|
6
|
+
* @param query
|
|
7
|
+
* @returns
|
|
8
|
+
*/
|
|
9
|
+
export function negateGroupPredicates(query) {
|
|
10
|
+
// if nothing is passed in just return undefined
|
|
11
|
+
if (!query) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
const expanded = expandQuery(query);
|
|
15
|
+
// negate the group predicate on the query
|
|
16
|
+
// we opted to be surgical about this vs attempting a `negateQuery(query)` function
|
|
17
|
+
expanded.filters.forEach((f) => {
|
|
18
|
+
f.predicates.forEach((p) => {
|
|
19
|
+
if (p.group) {
|
|
20
|
+
p.group.not = [...(p.group.any || []), ...(p.group.all || [])];
|
|
21
|
+
p.group.any = [];
|
|
22
|
+
p.group.all = [];
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
return expanded;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=negateGroupPredicates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"negateGroupPredicates.js","sourceRoot":"","sources":["../../../../src/search/_internal/negateGroupPredicates.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAa;IACjD,gDAAgD;IAChD,IAAI,CAAC,KAAK,EAAE;QACV,OAAO;KACR;IACD,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IACpC,0CAA0C;IAC1C,mFAAmF;IACnF,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QAC7B,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACzB,IAAI,CAAC,CAAC,KAAK,EAAE;gBACX,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC/D,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC;gBACjB,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC;aAClB;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -8,7 +8,8 @@ import { failSafe } from "../../utils";
|
|
|
8
8
|
import { getProp, pickProps, setProp } from "../../objects";
|
|
9
9
|
/**
|
|
10
10
|
* Search for members of a group.
|
|
11
|
-
* The
|
|
11
|
+
* The groupId is specified via a `group` predicate.
|
|
12
|
+
* Any `term` predicate will be re-mapped to `name`.
|
|
12
13
|
*
|
|
13
14
|
* The backing API is very limited in what
|
|
14
15
|
* it returns so this method executes the search and then tries to fetch
|
|
@@ -49,6 +50,14 @@ export async function portalSearchGroupMembers(query, options) {
|
|
|
49
50
|
// only `name` and `memberType` are supported
|
|
50
51
|
const validPredicateKeys = ["name", "memberType"];
|
|
51
52
|
filter.predicates = filter.predicates
|
|
53
|
+
.map((p) => {
|
|
54
|
+
// convert `term` to `name`
|
|
55
|
+
if (p.term) {
|
|
56
|
+
p.name = p.term;
|
|
57
|
+
delete p.term;
|
|
58
|
+
}
|
|
59
|
+
return p;
|
|
60
|
+
})
|
|
52
61
|
// remove any keys that aren't supported
|
|
53
62
|
.map((p) => {
|
|
54
63
|
return pickProps(p, validPredicateKeys);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"portalSearchGroupMembers.js","sourceRoot":"","sources":["../../../../src/search/_internal/portalSearchGroupMembers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAOrE,OAAO,EAGL,OAAO,EACP,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE5D
|
|
1
|
+
{"version":3,"file":"portalSearchGroupMembers.js","sourceRoot":"","sources":["../../../../src/search/_internal/portalSearchGroupMembers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { expandQuery } from "./_internal/portalSearchItems";
|
|
2
|
+
import { cloneObject } from "../util";
|
|
3
|
+
import { explainFilter } from "./_internal/explainFilter";
|
|
4
|
+
/**
|
|
5
|
+
* Explain why a specific result was included in a Query.
|
|
6
|
+
*
|
|
7
|
+
* NOTE: This only works for entityType: "item" queries and does not
|
|
8
|
+
* cover all possible permutations.
|
|
9
|
+
* @param queryResult
|
|
10
|
+
* @param query
|
|
11
|
+
* @param requestOptions
|
|
12
|
+
* @returns
|
|
13
|
+
*/
|
|
14
|
+
export async function explainQueryResult(queryResult, query, requestOptions) {
|
|
15
|
+
// Throw if the query is not for items
|
|
16
|
+
if (query.targetEntity !== "item") {
|
|
17
|
+
throw new Error(`explainQueryResult: Only queries with targetEntity: "item" are supported`);
|
|
18
|
+
}
|
|
19
|
+
// Expand the query so we have a standardized structure to work with
|
|
20
|
+
const expandedQuery = expandQuery(query);
|
|
21
|
+
// iterate the filters on the query and get explanations for each
|
|
22
|
+
const filterExplanations = [];
|
|
23
|
+
for (const filter of expandedQuery.filters) {
|
|
24
|
+
const fe = await explainFilter(filter, queryResult, requestOptions);
|
|
25
|
+
filterExplanations.push(fe);
|
|
26
|
+
}
|
|
27
|
+
// Collect up the reasons
|
|
28
|
+
const included = filterExplanations.reduce((acc, explanation) => {
|
|
29
|
+
if (!explanation.matched) {
|
|
30
|
+
acc = false;
|
|
31
|
+
}
|
|
32
|
+
return acc;
|
|
33
|
+
}, true);
|
|
34
|
+
// Collect up all the reasons into a single array
|
|
35
|
+
const summary = [];
|
|
36
|
+
filterExplanations.forEach((fe) => {
|
|
37
|
+
fe.reasons.forEach((predicateExplanation) => {
|
|
38
|
+
predicateExplanation.reasons.forEach((reason) => {
|
|
39
|
+
summary.push(reason);
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
// construct the result
|
|
44
|
+
const result = {
|
|
45
|
+
result: cloneObject(queryResult),
|
|
46
|
+
query: cloneObject(query),
|
|
47
|
+
matched: included,
|
|
48
|
+
reasons: filterExplanations,
|
|
49
|
+
summary,
|
|
50
|
+
};
|
|
51
|
+
return result;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=explainQueryResult.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"explainQueryResult.js","sourceRoot":"","sources":["../../../src/search/explainQueryResult.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAkG1D;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,WAA0B,EAC1B,KAAa,EACb,cAA+B;IAE/B,sCAAsC;IACtC,IAAI,KAAK,CAAC,YAAY,KAAK,MAAM,EAAE;QACjC,MAAM,IAAI,KAAK,CACb,0EAA0E,CAC3E,CAAC;KACH;IAED,oEAAoE;IACpE,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAEzC,iEAAiE;IACjE,MAAM,kBAAkB,GAAyB,EAAE,CAAC;IACpD,KAAK,MAAM,MAAM,IAAI,aAAa,CAAC,OAAO,EAAE;QAC1C,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;QACpE,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KAC7B;IAED,yBAAyB;IACzB,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE;QAC9D,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;YACxB,GAAG,GAAG,KAAK,CAAC;SACb;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,IAAI,CAAC,CAAC;IAET,iDAAiD;IACjD,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,kBAAkB,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;QAChC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,oBAAoB,EAAE,EAAE;YAC1C,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;gBAC9C,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,uBAAuB;IACvB,MAAM,MAAM,GAAsB;QAChC,MAAM,EAAE,WAAW,CAAC,WAAW,CAAC;QAChC,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC;QACzB,OAAO,EAAE,QAAQ;QACjB,OAAO,EAAE,kBAAkB;QAC3B,OAAO;KACR,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -80,9 +80,10 @@ export class HubSite extends HubItemEntity {
|
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
82
|
static applyDefaults(partialSite, context) {
|
|
83
|
+
var _a;
|
|
83
84
|
// ensure we have the orgUrlKey
|
|
84
85
|
if (!partialSite.orgUrlKey) {
|
|
85
|
-
partialSite.orgUrlKey = context.portal.urlKey;
|
|
86
|
+
partialSite.orgUrlKey = (_a = context.portal) === null || _a === void 0 ? void 0 : _a.urlKey;
|
|
86
87
|
}
|
|
87
88
|
// extend the partial over the defaults
|
|
88
89
|
const pojo = Object.assign(Object.assign({}, DEFAULT_SITE), partialSite);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HubSite.js","sourceRoot":"","sources":["../../../src/sites/HubSite.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EACL,UAAU,EACV,UAAU,EACV,yBAAyB,EACzB,SAAS,EACT,kBAAkB,EAClB,UAAU,GACX,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE9D,OAAO,EAEL,aAAa,EACb,aAAa,EACb,UAAU,EAIV,cAAc,EACd,aAAa,EACb,qBAAqB,GACtB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAI5D;;;GAGG;AACH,MAAM,OAAO,OACX,SAAQ,aAAuB;IAW/B;;;;OAIG;IACH,YAAoB,IAAc,EAAE,OAAuB;QACzD,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAPf,kBAAa,GAAgC,EAAE,CAAC;QAQtD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/D,CAAC;IAED;;;OAGG;IACH,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAuB,EAAE,OAAuB;QAC9D,6CAA6C;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC/C,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,WAA8B,EAC9B,OAAuB,EACvB,OAAgB,KAAK;QAErB,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACtD,mCAAmC;QACnC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACjD,IAAI,IAAI,EAAE;YACR,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;SACvB;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,KAAK,CAChB,UAAkB,EAClB,OAAuB;QAEvB,+BAA+B;QAC/B,IAAI;YACF,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;YACpE,8CAA8C;YAC9C,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SACxC;QAAC,OAAO,EAAE,EAAE;YACX,IACG,EAAY,CAAC,OAAO;gBACrB,oDAAoD,EACpD;gBACA,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;aACpC;iBAAM;gBACL,MAAM,EAAE,CAAC;aACV;SACF;IACH,CAAC;IAEO,MAAM,CAAC,aAAa,CAC1B,WAA8B,EAC9B,OAAuB
|
|
1
|
+
{"version":3,"file":"HubSite.js","sourceRoot":"","sources":["../../../src/sites/HubSite.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @private
|
|
3
|
+
* constructs the followers uiSchema for Hub Sites.
|
|
4
|
+
* This defines how the schema properties should
|
|
5
|
+
* be rendered in the site followers > settings
|
|
6
|
+
* experience
|
|
7
|
+
*/
|
|
8
|
+
export const buildUiSchema = async (i18nScope, entity, context) => {
|
|
9
|
+
return {
|
|
10
|
+
type: "Layout",
|
|
11
|
+
elements: [
|
|
12
|
+
{
|
|
13
|
+
type: "Section",
|
|
14
|
+
elements: [
|
|
15
|
+
{
|
|
16
|
+
labelKey: `${i18nScope}.fields.followers.groupAccess.label`,
|
|
17
|
+
scope: "/properties/_followers/properties/groupAccess",
|
|
18
|
+
type: "Control",
|
|
19
|
+
options: {
|
|
20
|
+
control: "hub-field-input-tile-select",
|
|
21
|
+
layout: "horizontal",
|
|
22
|
+
helperText: {
|
|
23
|
+
labelKey: `${i18nScope}.fields.followers.groupAccess.helperText`,
|
|
24
|
+
},
|
|
25
|
+
labels: [
|
|
26
|
+
`{{${i18nScope}.fields.followers.groupAccess.private.label:translate}}`,
|
|
27
|
+
`{{${i18nScope}.fields.followers.groupAccess.org.label:translate}}`,
|
|
28
|
+
`{{${i18nScope}.fields.followers.groupAccess.public.label:translate}}`,
|
|
29
|
+
],
|
|
30
|
+
descriptions: [
|
|
31
|
+
`{{${i18nScope}.fields.followers.groupAccess.private.description:translate}}`,
|
|
32
|
+
`{{${i18nScope}.fields.followers.groupAccess.org.description:translate}}`,
|
|
33
|
+
`{{${i18nScope}.fields.followers.groupAccess.public.description:translate}}`,
|
|
34
|
+
],
|
|
35
|
+
icons: ["users", "organization", "globe"],
|
|
36
|
+
styles: { "max-width": "45rem" },
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
labelKey: `${i18nScope}.fields.followers.showFollowAction.label`,
|
|
41
|
+
scope: "/properties/_followers/properties/showFollowAction",
|
|
42
|
+
type: "Control",
|
|
43
|
+
options: {
|
|
44
|
+
control: "hub-field-input-switch",
|
|
45
|
+
layout: "inline-space-between",
|
|
46
|
+
helperText: {
|
|
47
|
+
labelKey: `${i18nScope}.fields.followers.showFollowAction.helperText`,
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
|
+
},
|
|
51
|
+
],
|
|
52
|
+
},
|
|
53
|
+
],
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
//# sourceMappingURL=SiteUiSchemaFollowers.js.map
|