@esri/hub-common 20.5.1 → 20.5.2
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/access/compareAccess.js +15 -0
- package/dist/esm/access/compareAccess.js.map +1 -0
- package/dist/esm/channels/_internal/channelEditorTypes.js +9 -0
- package/dist/esm/channels/_internal/channelEditorTypes.js.map +1 -0
- package/dist/esm/content/HubContent.js +1 -1
- package/dist/esm/content/HubContent.js.map +1 -1
- package/dist/esm/content/_internal/ContentUiSchemaSettings.js +4 -2
- package/dist/esm/content/_internal/ContentUiSchemaSettings.js.map +1 -1
- package/dist/esm/content/_internal/contentEditorTypes.js +7 -0
- package/dist/esm/content/_internal/contentEditorTypes.js.map +1 -0
- package/dist/esm/content/_internal/shouldFetchData.js +29 -0
- package/dist/esm/content/_internal/shouldFetchData.js.map +1 -0
- package/dist/esm/content/_internal/shouldShowDownloadsConfiguration.js +6 -1
- package/dist/esm/content/_internal/shouldShowDownloadsConfiguration.js.map +1 -1
- package/dist/esm/content/edit.js +11 -7
- package/dist/esm/content/edit.js.map +1 -1
- package/dist/esm/content/isSiteType.js +12 -0
- package/dist/esm/content/isSiteType.js.map +1 -0
- package/dist/esm/core/_internal/getTemplate.js +212 -0
- package/dist/esm/core/_internal/getTemplate.js.map +1 -0
- package/dist/esm/core/schemas/internal/embed/EmbedSchema.js +8 -0
- package/dist/esm/core/schemas/internal/embed/EmbedSchema.js.map +1 -0
- package/dist/esm/core/schemas/internal/embed/EmbedUiSchema.js +15 -0
- package/dist/esm/core/schemas/internal/embed/EmbedUiSchema.js.map +1 -0
- package/dist/esm/core/schemas/internal/getLayoutSetupUiSchemaElement.js +31 -0
- package/dist/esm/core/schemas/internal/getLayoutSetupUiSchemaElement.js.map +1 -0
- package/dist/esm/core/types/IServiceQueryOptions.js +1 -0
- package/dist/esm/core/types/IServiceQueryOptions.js.map +1 -0
- package/dist/esm/core/types/ServiceAggregation.js +1 -0
- package/dist/esm/core/types/ServiceAggregation.js.map +1 -0
- package/dist/esm/discussions/_internal/discussionEditorTypes.js +7 -0
- package/dist/esm/discussions/_internal/discussionEditorTypes.js.map +1 -0
- package/dist/esm/events/_internal/eventEditorTypes.js +6 -0
- package/dist/esm/events/_internal/eventEditorTypes.js.map +1 -0
- package/dist/esm/groups/_internal/groupEditorTypes.js +13 -0
- package/dist/esm/groups/_internal/groupEditorTypes.js.map +1 -0
- package/dist/esm/groups/enrichGroupSearchResult.js +61 -0
- package/dist/esm/groups/enrichGroupSearchResult.js.map +1 -0
- package/dist/esm/initiative-templates/_internal/initiativeTemplateEditorTypes.js +4 -0
- package/dist/esm/initiative-templates/_internal/initiativeTemplateEditorTypes.js.map +1 -0
- package/dist/esm/initiatives/_internal/initiativeEditorTypes.js +9 -0
- package/dist/esm/initiatives/_internal/initiativeEditorTypes.js.map +1 -0
- package/dist/esm/models/createModel.js +28 -0
- package/dist/esm/models/createModel.js.map +1 -0
- package/dist/esm/models/fetchModelFromItem.js +18 -0
- package/dist/esm/models/fetchModelFromItem.js.map +1 -0
- package/dist/esm/models/fetchModelResource.js +34 -0
- package/dist/esm/models/fetchModelResource.js.map +1 -0
- package/dist/esm/models/getModel.js +19 -0
- package/dist/esm/models/getModel.js.map +1 -0
- package/dist/esm/models/getModelBySlug.js +40 -0
- package/dist/esm/models/getModelBySlug.js.map +1 -0
- package/dist/esm/models/updateModel.js +55 -0
- package/dist/esm/models/updateModel.js.map +1 -0
- package/dist/esm/models/upsertModelResource.js +37 -0
- package/dist/esm/models/upsertModelResource.js.map +1 -0
- package/dist/esm/pages/_internal/pageEditorTypes.js +2 -0
- package/dist/esm/pages/_internal/pageEditorTypes.js.map +1 -0
- package/dist/esm/permissions/_internal/checkPlatformVersion.js +43 -0
- package/dist/esm/permissions/_internal/checkPlatformVersion.js.map +1 -0
- package/dist/esm/permissions/_internal/checkReleaseGating.js +61 -0
- package/dist/esm/permissions/_internal/checkReleaseGating.js.map +1 -0
- package/dist/esm/projects/_internal/projectEditorTypes.js +8 -0
- package/dist/esm/projects/_internal/projectEditorTypes.js.map +1 -0
- package/dist/esm/search/_internal/applyWellKnownItemPredicates.js +104 -0
- package/dist/esm/search/_internal/applyWellKnownItemPredicates.js.map +1 -0
- package/dist/esm/search/_internal/bboxStringToGeoJSONPolygon.js +28 -0
- package/dist/esm/search/_internal/bboxStringToGeoJSONPolygon.js.map +1 -0
- package/dist/esm/search/_internal/constants.js +145 -0
- package/dist/esm/search/_internal/constants.js.map +1 -0
- package/dist/esm/search/_internal/expandPredicates.js +17 -0
- package/dist/esm/search/_internal/expandPredicates.js.map +1 -0
- package/dist/esm/search/_internal/hubDiscussionsHelpers/postToSearchResult.js +28 -0
- package/dist/esm/search/_internal/hubDiscussionsHelpers/postToSearchResult.js.map +1 -0
- package/dist/esm/search/_internal/hubDiscussionsHelpers/processPostFilters.js +87 -0
- package/dist/esm/search/_internal/hubDiscussionsHelpers/processPostFilters.js.map +1 -0
- package/dist/esm/search/_internal/hubDiscussionsHelpers/processPostOptions.js +48 -0
- package/dist/esm/search/_internal/hubDiscussionsHelpers/processPostOptions.js.map +1 -0
- package/dist/esm/search/_internal/hubDiscussionsHelpers/processRelations.js +25 -0
- package/dist/esm/search/_internal/hubDiscussionsHelpers/processRelations.js.map +1 -0
- package/dist/esm/search/_internal/hubSearchPosts.js +83 -0
- package/dist/esm/search/_internal/hubSearchPosts.js.map +1 -0
- package/dist/esm/search/_internal/isFamilyExpansionType.js +20 -0
- package/dist/esm/search/_internal/isFamilyExpansionType.js.map +1 -0
- package/dist/esm/search/_internal/isWellKnownTypeFilter.js +18 -0
- package/dist/esm/search/_internal/isWellKnownTypeFilter.js.map +1 -0
- package/dist/esm/search/_internal/types.js +1 -0
- package/dist/esm/search/_internal/types.js.map +1 -0
- package/dist/esm/search/getCOrgOrEOrgId.js +17 -0
- package/dist/esm/search/getCOrgOrEOrgId.js.map +1 -0
- package/dist/esm/search/relativeDateToDateRange.js +44 -0
- package/dist/esm/search/relativeDateToDateRange.js.map +1 -0
- package/dist/esm/search/types/ICatalogSearchResponse.js +1 -0
- package/dist/esm/search/types/ICatalogSearchResponse.js.map +1 -0
- package/dist/esm/search/types/IHubSearchResponseHash.js +1 -0
- package/dist/esm/search/types/IHubSearchResponseHash.js.map +1 -0
- package/dist/esm/search/types/ISearchAssociatedContentOptions.js +1 -0
- package/dist/esm/search/types/ISearchAssociatedContentOptions.js.map +1 -0
- package/dist/esm/search/valueToMatchOptions.js +26 -0
- package/dist/esm/search/valueToMatchOptions.js.map +1 -0
- package/dist/esm/sites/_internal/removeCatalogFromUpgradedSite.js +20 -0
- package/dist/esm/sites/_internal/removeCatalogFromUpgradedSite.js.map +1 -0
- package/dist/esm/sites/_internal/removeCatalogV1FromUpgradedSite.js +20 -0
- package/dist/esm/sites/_internal/removeCatalogV1FromUpgradedSite.js.map +1 -0
- package/dist/esm/sites/_internal/siteEditorTypes.js +9 -0
- package/dist/esm/sites/_internal/siteEditorTypes.js.map +1 -0
- package/dist/esm/templates/_internal/templateEditorTypes.js +2 -0
- package/dist/esm/templates/_internal/templateEditorTypes.js.map +1 -0
- package/dist/esm/urls/feature-service-urls.js +22 -0
- package/dist/esm/urls/feature-service-urls.js.map +1 -0
- package/dist/esm/users/_internal/userEditorTypes.js +2 -0
- package/dist/esm/users/_internal/userEditorTypes.js.map +1 -0
- package/dist/node/access/compareAccess.js +19 -0
- package/dist/node/access/compareAccess.js.map +1 -0
- package/dist/node/channels/_internal/channelEditorTypes.js +12 -0
- package/dist/node/channels/_internal/channelEditorTypes.js.map +1 -0
- package/dist/node/content/HubContent.js +1 -1
- package/dist/node/content/HubContent.js.map +1 -1
- package/dist/node/content/_internal/ContentUiSchemaSettings.js +4 -2
- package/dist/node/content/_internal/ContentUiSchemaSettings.js.map +1 -1
- package/dist/node/content/_internal/contentEditorTypes.js +10 -0
- package/dist/node/content/_internal/contentEditorTypes.js.map +1 -0
- package/dist/node/content/_internal/shouldFetchData.js +32 -0
- package/dist/node/content/_internal/shouldFetchData.js.map +1 -0
- package/dist/node/content/_internal/shouldShowDownloadsConfiguration.js +6 -1
- package/dist/node/content/_internal/shouldShowDownloadsConfiguration.js.map +1 -1
- package/dist/node/content/edit.js +11 -7
- package/dist/node/content/edit.js.map +1 -1
- package/dist/node/content/isSiteType.js +16 -0
- package/dist/node/content/isSiteType.js.map +1 -0
- package/dist/node/core/_internal/getTemplate.js +216 -0
- package/dist/node/core/_internal/getTemplate.js.map +1 -0
- package/dist/node/core/schemas/internal/embed/EmbedSchema.js +11 -0
- package/dist/node/core/schemas/internal/embed/EmbedSchema.js.map +1 -0
- package/dist/node/core/schemas/internal/embed/EmbedUiSchema.js +18 -0
- package/dist/node/core/schemas/internal/embed/EmbedUiSchema.js.map +1 -0
- package/dist/node/core/schemas/internal/getLayoutSetupUiSchemaElement.js +35 -0
- package/dist/node/core/schemas/internal/getLayoutSetupUiSchemaElement.js.map +1 -0
- package/dist/node/core/types/IServiceQueryOptions.js +3 -0
- package/dist/node/core/types/IServiceQueryOptions.js.map +1 -0
- package/dist/node/core/types/ServiceAggregation.js +3 -0
- package/dist/node/core/types/ServiceAggregation.js.map +1 -0
- package/dist/node/discussions/_internal/discussionEditorTypes.js +10 -0
- package/dist/node/discussions/_internal/discussionEditorTypes.js.map +1 -0
- package/dist/node/events/_internal/eventEditorTypes.js +9 -0
- package/dist/node/events/_internal/eventEditorTypes.js.map +1 -0
- package/dist/node/groups/_internal/groupEditorTypes.js +16 -0
- package/dist/node/groups/_internal/groupEditorTypes.js.map +1 -0
- package/dist/node/groups/enrichGroupSearchResult.js +65 -0
- package/dist/node/groups/enrichGroupSearchResult.js.map +1 -0
- package/dist/node/initiative-templates/_internal/initiativeTemplateEditorTypes.js +7 -0
- package/dist/node/initiative-templates/_internal/initiativeTemplateEditorTypes.js.map +1 -0
- package/dist/node/initiatives/_internal/initiativeEditorTypes.js +12 -0
- package/dist/node/initiatives/_internal/initiativeEditorTypes.js.map +1 -0
- package/dist/node/models/createModel.js +32 -0
- package/dist/node/models/createModel.js.map +1 -0
- package/dist/node/models/fetchModelFromItem.js +22 -0
- package/dist/node/models/fetchModelFromItem.js.map +1 -0
- package/dist/node/models/fetchModelResource.js +38 -0
- package/dist/node/models/fetchModelResource.js.map +1 -0
- package/dist/node/models/getModel.js +23 -0
- package/dist/node/models/getModel.js.map +1 -0
- package/dist/node/models/getModelBySlug.js +44 -0
- package/dist/node/models/getModelBySlug.js.map +1 -0
- package/dist/node/models/updateModel.js +59 -0
- package/dist/node/models/updateModel.js.map +1 -0
- package/dist/node/models/upsertModelResource.js +41 -0
- package/dist/node/models/upsertModelResource.js.map +1 -0
- package/dist/node/pages/_internal/pageEditorTypes.js +5 -0
- package/dist/node/pages/_internal/pageEditorTypes.js.map +1 -0
- package/dist/node/permissions/_internal/checkPlatformVersion.js +47 -0
- package/dist/node/permissions/_internal/checkPlatformVersion.js.map +1 -0
- package/dist/node/permissions/_internal/checkReleaseGating.js +65 -0
- package/dist/node/permissions/_internal/checkReleaseGating.js.map +1 -0
- package/dist/node/projects/_internal/projectEditorTypes.js +11 -0
- package/dist/node/projects/_internal/projectEditorTypes.js.map +1 -0
- package/dist/node/search/_internal/applyWellKnownItemPredicates.js +108 -0
- package/dist/node/search/_internal/applyWellKnownItemPredicates.js.map +1 -0
- package/dist/node/search/_internal/bboxStringToGeoJSONPolygon.js +32 -0
- package/dist/node/search/_internal/bboxStringToGeoJSONPolygon.js.map +1 -0
- package/dist/node/search/_internal/constants.js +148 -0
- package/dist/node/search/_internal/constants.js.map +1 -0
- package/dist/node/search/_internal/expandPredicates.js +21 -0
- package/dist/node/search/_internal/expandPredicates.js.map +1 -0
- package/dist/node/search/_internal/hubDiscussionsHelpers/postToSearchResult.js +32 -0
- package/dist/node/search/_internal/hubDiscussionsHelpers/postToSearchResult.js.map +1 -0
- package/dist/node/search/_internal/hubDiscussionsHelpers/processPostFilters.js +91 -0
- package/dist/node/search/_internal/hubDiscussionsHelpers/processPostFilters.js.map +1 -0
- package/dist/node/search/_internal/hubDiscussionsHelpers/processPostOptions.js +52 -0
- package/dist/node/search/_internal/hubDiscussionsHelpers/processPostOptions.js.map +1 -0
- package/dist/node/search/_internal/hubDiscussionsHelpers/processRelations.js +29 -0
- package/dist/node/search/_internal/hubDiscussionsHelpers/processRelations.js.map +1 -0
- package/dist/node/search/_internal/hubSearchPosts.js +87 -0
- package/dist/node/search/_internal/hubSearchPosts.js.map +1 -0
- package/dist/node/search/_internal/isFamilyExpansionType.js +24 -0
- package/dist/node/search/_internal/isFamilyExpansionType.js.map +1 -0
- package/dist/node/search/_internal/isWellKnownTypeFilter.js +22 -0
- package/dist/node/search/_internal/isWellKnownTypeFilter.js.map +1 -0
- package/dist/node/search/_internal/types.js +3 -0
- package/dist/node/search/_internal/types.js.map +1 -0
- package/dist/node/search/getCOrgOrEOrgId.js +21 -0
- package/dist/node/search/getCOrgOrEOrgId.js.map +1 -0
- package/dist/node/search/relativeDateToDateRange.js +48 -0
- package/dist/node/search/relativeDateToDateRange.js.map +1 -0
- package/dist/node/search/types/ICatalogSearchResponse.js +3 -0
- package/dist/node/search/types/ICatalogSearchResponse.js.map +1 -0
- package/dist/node/search/types/IHubSearchResponseHash.js +3 -0
- package/dist/node/search/types/IHubSearchResponseHash.js.map +1 -0
- package/dist/node/search/types/ISearchAssociatedContentOptions.js +3 -0
- package/dist/node/search/types/ISearchAssociatedContentOptions.js.map +1 -0
- package/dist/node/search/valueToMatchOptions.js +30 -0
- package/dist/node/search/valueToMatchOptions.js.map +1 -0
- package/dist/node/sites/_internal/removeCatalogFromUpgradedSite.js +24 -0
- package/dist/node/sites/_internal/removeCatalogFromUpgradedSite.js.map +1 -0
- package/dist/node/sites/_internal/removeCatalogV1FromUpgradedSite.js +24 -0
- package/dist/node/sites/_internal/removeCatalogV1FromUpgradedSite.js.map +1 -0
- package/dist/node/sites/_internal/siteEditorTypes.js +12 -0
- package/dist/node/sites/_internal/siteEditorTypes.js.map +1 -0
- package/dist/node/templates/_internal/templateEditorTypes.js +5 -0
- package/dist/node/templates/_internal/templateEditorTypes.js.map +1 -0
- package/dist/node/urls/feature-service-urls.js +25 -0
- package/dist/node/urls/feature-service-urls.js.map +1 -0
- package/dist/node/users/_internal/userEditorTypes.js +5 -0
- package/dist/node/users/_internal/userEditorTypes.js.map +1 -0
- package/dist/types/access/compareAccess.d.ts +11 -0
- package/dist/types/channels/_internal/channelEditorTypes.d.ts +10 -0
- package/dist/types/content/_internal/contentEditorTypes.d.ts +2 -0
- package/dist/types/content/_internal/shouldFetchData.d.ts +7 -0
- package/dist/types/content/_internal/shouldShowDownloadsConfiguration.d.ts +3 -1
- package/dist/types/content/isSiteType.d.ts +7 -0
- package/dist/types/core/_internal/getTemplate.d.ts +9 -0
- package/dist/types/core/schemas/internal/embed/EmbedSchema.d.ts +2 -0
- package/dist/types/core/schemas/internal/embed/EmbedUiSchema.d.ts +4 -0
- package/dist/types/core/schemas/internal/getLayoutSetupUiSchemaElement.d.ts +10 -0
- package/dist/types/core/types/IServiceQueryOptions.d.ts +22 -0
- package/dist/types/core/types/ServiceAggregation.d.ts +4 -0
- package/dist/types/discussions/_internal/discussionEditorTypes.d.ts +2 -0
- package/dist/types/events/_internal/eventEditorTypes.d.ts +2 -0
- package/dist/types/groups/_internal/groupEditorTypes.d.ts +2 -0
- package/dist/types/groups/enrichGroupSearchResult.d.ts +11 -0
- package/dist/types/initiative-templates/_internal/initiativeTemplateEditorTypes.d.ts +2 -0
- package/dist/types/initiatives/_internal/initiativeEditorTypes.d.ts +2 -0
- package/dist/types/models/createModel.d.ts +10 -0
- package/dist/types/models/fetchModelFromItem.d.ts +10 -0
- package/dist/types/models/fetchModelResource.d.ts +17 -0
- package/dist/types/models/getModel.d.ts +8 -0
- package/dist/types/models/getModelBySlug.d.ts +16 -0
- package/dist/types/models/updateModel.d.ts +12 -0
- package/dist/types/models/upsertModelResource.d.ts +20 -0
- package/dist/types/pages/_internal/pageEditorTypes.d.ts +2 -0
- package/dist/types/permissions/_internal/checkPlatformVersion.d.ts +14 -0
- package/dist/types/permissions/_internal/checkReleaseGating.d.ts +13 -0
- package/dist/types/projects/_internal/projectEditorTypes.d.ts +2 -0
- package/dist/types/search/_internal/applyWellKnownItemPredicates.d.ts +19 -0
- package/dist/types/search/_internal/bboxStringToGeoJSONPolygon.d.ts +8 -0
- package/dist/types/search/_internal/constants.d.ts +2 -0
- package/dist/types/search/_internal/expandPredicates.d.ts +8 -0
- package/dist/types/search/_internal/hubDiscussionsHelpers/postToSearchResult.d.ts +8 -0
- package/dist/types/search/_internal/hubDiscussionsHelpers/processPostFilters.d.ts +8 -0
- package/dist/types/search/_internal/hubDiscussionsHelpers/processPostOptions.d.ts +8 -0
- package/dist/types/search/_internal/hubDiscussionsHelpers/processRelations.d.ts +7 -0
- package/dist/types/search/_internal/hubSearchPosts.d.ts +59 -0
- package/dist/types/search/_internal/isFamilyExpansionType.d.ts +9 -0
- package/dist/types/search/_internal/isWellKnownTypeFilter.d.ts +11 -0
- package/dist/types/search/_internal/types.d.ts +15 -0
- package/dist/types/search/getCOrgOrEOrgId.d.ts +8 -0
- package/dist/types/search/relativeDateToDateRange.d.ts +8 -0
- package/dist/types/search/types/ICatalogSearchResponse.d.ts +9 -0
- package/dist/types/search/types/IHubSearchResponseHash.d.ts +7 -0
- package/dist/types/search/types/ISearchAssociatedContentOptions.d.ts +32 -0
- package/dist/types/search/valueToMatchOptions.d.ts +8 -0
- package/dist/types/sites/_internal/removeCatalogFromUpgradedSite.d.ts +13 -0
- package/dist/types/sites/_internal/removeCatalogV1FromUpgradedSite.d.ts +13 -0
- package/dist/types/sites/_internal/siteEditorTypes.d.ts +2 -0
- package/dist/types/templates/_internal/templateEditorTypes.d.ts +2 -0
- package/dist/types/urls/feature-service-urls.d.ts +13 -0
- package/dist/types/users/_internal/userEditorTypes.d.ts +2 -0
- package/package.json +1 -1
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.checkReleaseGating = void 0;
|
|
4
|
+
const getPolicyResponseCode_1 = require("./getPolicyResponseCode");
|
|
5
|
+
/**
|
|
6
|
+
* @internal
|
|
7
|
+
* Verify that the policy.releaseAfter and policy.retireAfter requirements are met.
|
|
8
|
+
* These checks only apply in the "production" environment.
|
|
9
|
+
* @param policy
|
|
10
|
+
* @param context
|
|
11
|
+
* @param entity
|
|
12
|
+
* @returns
|
|
13
|
+
*/
|
|
14
|
+
function checkReleaseGating(policy, context, _entity) {
|
|
15
|
+
const checks = [];
|
|
16
|
+
// if neither value is specified, we return an empty array
|
|
17
|
+
if (!policy.releaseAfter && !policy.retireAfter) {
|
|
18
|
+
return checks;
|
|
19
|
+
}
|
|
20
|
+
// We only apply release gating in the production environment
|
|
21
|
+
if (context.environment === "production") {
|
|
22
|
+
const now = new Date();
|
|
23
|
+
if (policy.releaseAfter) {
|
|
24
|
+
const releaseDate = new Date(policy.releaseAfter);
|
|
25
|
+
let result = "release-date-not-reached";
|
|
26
|
+
if (now > releaseDate) {
|
|
27
|
+
result = "granted";
|
|
28
|
+
}
|
|
29
|
+
const check = {
|
|
30
|
+
name: `feature released`,
|
|
31
|
+
value: policy.releaseAfter,
|
|
32
|
+
code: getPolicyResponseCode_1.getPolicyResponseCode(result),
|
|
33
|
+
response: result,
|
|
34
|
+
};
|
|
35
|
+
checks.push(check);
|
|
36
|
+
}
|
|
37
|
+
if (policy.retireAfter) {
|
|
38
|
+
const retireDate = new Date(policy.retireAfter);
|
|
39
|
+
let result = "retire-date-not-reached";
|
|
40
|
+
if (now > retireDate) {
|
|
41
|
+
result = "granted";
|
|
42
|
+
}
|
|
43
|
+
const check = {
|
|
44
|
+
name: `feature retired`,
|
|
45
|
+
value: policy.retireAfter,
|
|
46
|
+
code: getPolicyResponseCode_1.getPolicyResponseCode(result),
|
|
47
|
+
response: result,
|
|
48
|
+
};
|
|
49
|
+
checks.push(check);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
// if not in production, we always grant access
|
|
54
|
+
const check = {
|
|
55
|
+
name: `release gating only applies to production`,
|
|
56
|
+
value: policy.releaseAfter,
|
|
57
|
+
code: getPolicyResponseCode_1.getPolicyResponseCode("granted"),
|
|
58
|
+
response: "granted",
|
|
59
|
+
};
|
|
60
|
+
checks.push(check);
|
|
61
|
+
}
|
|
62
|
+
return checks;
|
|
63
|
+
}
|
|
64
|
+
exports.checkReleaseGating = checkReleaseGating;
|
|
65
|
+
//# sourceMappingURL=checkReleaseGating.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkReleaseGating.js","sourceRoot":"","sources":["../../../../src/permissions/_internal/checkReleaseGating.ts"],"names":[],"mappings":";;;AAIA,mEAAgE;AAEhE;;;;;;;;GAQG;AACH,SAAgB,kBAAkB,CAChC,MAAyB,EACzB,OAAuB,EACvB,OAA6B;IAE7B,MAAM,MAAM,GAAG,EAAoB,CAAC;IAEpC,0DAA0D;IAC1D,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;QAC/C,OAAO,MAAM,CAAC;KACf;IACD,6DAA6D;IAC7D,IAAI,OAAO,CAAC,WAAW,KAAK,YAAY,EAAE;QACxC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QAEvB,IAAI,MAAM,CAAC,YAAY,EAAE;YACvB,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAClD,IAAI,MAAM,GAAmB,0BAA0B,CAAC;YACxD,IAAI,GAAG,GAAG,WAAW,EAAE;gBACrB,MAAM,GAAG,SAAS,CAAC;aACpB;YACD,MAAM,KAAK,GAAiB;gBAC1B,IAAI,EAAE,kBAAkB;gBACxB,KAAK,EAAE,MAAM,CAAC,YAAY;gBAC1B,IAAI,EAAE,6CAAqB,CAAC,MAAM,CAAC;gBACnC,QAAQ,EAAE,MAAM;aACjB,CAAC;YACF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACpB;QAED,IAAI,MAAM,CAAC,WAAW,EAAE;YACtB,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAChD,IAAI,MAAM,GAAmB,yBAAyB,CAAC;YACvD,IAAI,GAAG,GAAG,UAAU,EAAE;gBACpB,MAAM,GAAG,SAAS,CAAC;aACpB;YACD,MAAM,KAAK,GAAiB;gBAC1B,IAAI,EAAE,iBAAiB;gBACvB,KAAK,EAAE,MAAM,CAAC,WAAW;gBACzB,IAAI,EAAE,6CAAqB,CAAC,MAAM,CAAC;gBACnC,QAAQ,EAAE,MAAM;aACjB,CAAC;YACF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACpB;KACF;SAAM;QACL,+CAA+C;QAC/C,MAAM,KAAK,GAAiB;YAC1B,IAAI,EAAE,2CAA2C;YACjD,KAAK,EAAE,MAAM,CAAC,YAAY;YAC1B,IAAI,EAAE,6CAAqB,CAAC,SAAS,CAAC;YACtC,QAAQ,EAAE,SAAS;SACpB,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACpB;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAxDD,gDAwDC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ProjectEditorTypes = void 0;
|
|
4
|
+
exports.ProjectEditorTypes = [
|
|
5
|
+
"hub:project:create",
|
|
6
|
+
"hub:project:create2",
|
|
7
|
+
"hub:project:edit",
|
|
8
|
+
"hub:project:metrics",
|
|
9
|
+
"hub:project:settings",
|
|
10
|
+
];
|
|
11
|
+
//# sourceMappingURL=projectEditorTypes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projectEditorTypes.js","sourceRoot":"","sources":["../../../../src/projects/_internal/projectEditorTypes.ts"],"names":[],"mappings":";;;AAEa,QAAA,kBAAkB,GAAG;IAChC,oBAAoB;IACpB,qBAAqB;IACrB,kBAAkB;IAClB,qBAAqB;IACrB,sBAAsB;CACd,CAAC"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.applyWellKnownItemPredicates = void 0;
|
|
4
|
+
const util_1 = require("../../util");
|
|
5
|
+
const get_family_1 = require("../../content/get-family");
|
|
6
|
+
const constants_1 = require("./constants");
|
|
7
|
+
const isWellKnownTypeFilter_1 = require("./isWellKnownTypeFilter");
|
|
8
|
+
const isFamilyExpansionType_1 = require("./isFamilyExpansionType");
|
|
9
|
+
/**
|
|
10
|
+
* Return the predicates for a well-known type
|
|
11
|
+
* @param key
|
|
12
|
+
* @returns
|
|
13
|
+
*/
|
|
14
|
+
function lookupTypePredicates(key) {
|
|
15
|
+
return constants_1.WellKnownItemPredicates[key];
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* @private
|
|
19
|
+
* Convert a Filter Group to expand well-known type filters
|
|
20
|
+
*
|
|
21
|
+
* The purpose of this function is to allow for the use of short-hand
|
|
22
|
+
* names for commonly used, complex queries.
|
|
23
|
+
*
|
|
24
|
+
* It works by looking for filters using the .type property, the value
|
|
25
|
+
* of which is a key in the WellKnownItemFilters hash. If found in the
|
|
26
|
+
* hash, the filters array of the active filterGroup is replaced with the
|
|
27
|
+
* filters specified in the hash.
|
|
28
|
+
*
|
|
29
|
+
* NOTE: Any other properties specified in a filter will be removed
|
|
30
|
+
*
|
|
31
|
+
* Only exported to enable extensive testing
|
|
32
|
+
* @param query
|
|
33
|
+
*/
|
|
34
|
+
function applyWellKnownItemPredicates(query) {
|
|
35
|
+
const queryClone = util_1.cloneObject(query);
|
|
36
|
+
// iterate the filters
|
|
37
|
+
queryClone.filters = queryClone.filters.map((filter) => {
|
|
38
|
+
// replace predicates with well-known types
|
|
39
|
+
let replacedPredicates = false;
|
|
40
|
+
filter.predicates = filter.predicates.reduce((acc, predicate) => {
|
|
41
|
+
// if the predicate has a well-known type
|
|
42
|
+
// we replace it with the set of predicates defined
|
|
43
|
+
// for the well-known type
|
|
44
|
+
if (isWellKnownTypeFilter_1.isWellKnownTypeFilter(predicate.type)) {
|
|
45
|
+
const replacements = lookupTypePredicates(predicate.type);
|
|
46
|
+
acc = [...acc, ...replacements];
|
|
47
|
+
replacedPredicates = true;
|
|
48
|
+
}
|
|
49
|
+
else if (
|
|
50
|
+
/**
|
|
51
|
+
* NOTE: as of Nov. 26 2024, we have elected to start using the family types
|
|
52
|
+
* for a type replacement rather than the entire replacement itself. This updates
|
|
53
|
+
* a well-known predicate to only have type values, rather than types, typekeywords, etc etc.
|
|
54
|
+
* We also use the family types to replace the type values. Almost all of our current type
|
|
55
|
+
* replacements include typekeywords only to also retrieve old items -- i.e. having -- we need to be aware
|
|
56
|
+
* that by using family types, we are not including these old items in results in these cases.
|
|
57
|
+
*
|
|
58
|
+
* This clause is primarily used by custom-build catalogs using the new catalog editor.
|
|
59
|
+
*
|
|
60
|
+
* We specifically do not say that we have replaced filters here either as we want to leave the
|
|
61
|
+
* operator as is.
|
|
62
|
+
*/
|
|
63
|
+
predicate.type &&
|
|
64
|
+
typeof predicate.type !== "string" &&
|
|
65
|
+
!Array.isArray(predicate.type)) {
|
|
66
|
+
// we have an IMatchOptions object, so we have to iterate over the all/any/not
|
|
67
|
+
Object.keys(predicate.type).forEach((key) => {
|
|
68
|
+
const types = predicate.type[key];
|
|
69
|
+
// try to reduce the array if it is an array
|
|
70
|
+
if (Array.isArray(types)) {
|
|
71
|
+
// for each type, try to replace it with the family types if it is an expansion
|
|
72
|
+
predicate.type[key] = types.reduce((typesAcc, type) => {
|
|
73
|
+
if (isFamilyExpansionType_1.isFamilyExpansionType(type)) {
|
|
74
|
+
// we need the type keyword without the dollar sign
|
|
75
|
+
const family = type.slice(1);
|
|
76
|
+
// get the family types from the given expansion
|
|
77
|
+
const familyTypes = get_family_1.getFamilyTypes(family);
|
|
78
|
+
typesAcc = [...typesAcc, ...familyTypes];
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
typesAcc.push(type);
|
|
82
|
+
}
|
|
83
|
+
return typesAcc;
|
|
84
|
+
}, []);
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
// keep the updated predicate
|
|
88
|
+
acc.push(predicate);
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
// this predicate does not have a well-known type
|
|
92
|
+
// so we just keep it
|
|
93
|
+
acc.push(predicate);
|
|
94
|
+
}
|
|
95
|
+
return acc;
|
|
96
|
+
}, []);
|
|
97
|
+
if (replacedPredicates) {
|
|
98
|
+
// Any filter who's predicates were replaced with
|
|
99
|
+
// well-known predicates, needs to use "OR" to ensure
|
|
100
|
+
// correct query logic
|
|
101
|
+
filter.operation = "OR";
|
|
102
|
+
}
|
|
103
|
+
return filter;
|
|
104
|
+
});
|
|
105
|
+
return queryClone;
|
|
106
|
+
}
|
|
107
|
+
exports.applyWellKnownItemPredicates = applyWellKnownItemPredicates;
|
|
108
|
+
//# sourceMappingURL=applyWellKnownItemPredicates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"applyWellKnownItemPredicates.js","sourceRoot":"","sources":["../../../../src/search/_internal/applyWellKnownItemPredicates.ts"],"names":[],"mappings":";;;AACA,qCAAyC;AACzC,yDAA0D;AAE1D,2CAAsD;AACtD,mEAAgE;AAChE,mEAAgE;AAEhE;;;;GAIG;AACH,SAAS,oBAAoB,CAC3B,GAAyC;IAEzC,OAAO,mCAAuB,CAAC,GAAG,CAAC,CAAC;AACtC,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,SAAgB,4BAA4B,CAAC,KAAa;IACxD,MAAM,UAAU,GAAG,kBAAW,CAAC,KAAK,CAAC,CAAC;IACtC,sBAAsB;IACtB,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACrD,2CAA2C;QAC3C,IAAI,kBAAkB,GAAG,KAAK,CAAC;QAC/B,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAC1C,CAAC,GAAiB,EAAE,SAAS,EAAE,EAAE;YAC/B,yCAAyC;YACzC,mDAAmD;YACnD,0BAA0B;YAC1B,IAAI,6CAAqB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;gBACzC,MAAM,YAAY,GAAG,oBAAoB,CACvC,SAAS,CAAC,IAA4C,CACvD,CAAC;gBACF,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,YAAY,CAAC,CAAC;gBAChC,kBAAkB,GAAG,IAAI,CAAC;aAC3B;iBAAM;YACL;;;;;;;;;;;;eAYG;YACH,SAAS,CAAC,IAAI;gBACd,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ;gBAClC,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAC9B;gBACA,8EAA8E;gBAC9E,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;oBAC1C,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAElC,4CAA4C;oBAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;wBACxB,+EAA+E;wBAC/E,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAChC,CAAC,QAAkB,EAAE,IAAY,EAAE,EAAE;4BACnC,IAAI,6CAAqB,CAAC,IAAI,CAAC,EAAE;gCAC/B,mDAAmD;gCACnD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gCAC7B,gDAAgD;gCAChD,MAAM,WAAW,GAAG,2BAAc,CAAC,MAAmB,CAAC,CAAC;gCACxD,QAAQ,GAAG,CAAC,GAAG,QAAQ,EAAE,GAAG,WAAW,CAAC,CAAC;6BAC1C;iCAAM;gCACL,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;6BACrB;4BACD,OAAO,QAAQ,CAAC;wBAClB,CAAC,EACD,EAAE,CACH,CAAC;qBACH;gBACH,CAAC,CAAC,CAAC;gBAEH,6BAA6B;gBAC7B,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aACrB;iBAAM;gBACL,iDAAiD;gBACjD,qBAAqB;gBACrB,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aACrB;YACD,OAAO,GAAG,CAAC;QACb,CAAC,EACD,EAAE,CACH,CAAC;QACF,IAAI,kBAAkB,EAAE;YACtB,iDAAiD;YACjD,qDAAqD;YACrD,sBAAsB;YACtB,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC;SACzB;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,OAAO,UAAU,CAAC;AACpB,CAAC;AAjFD,oEAiFC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.bboxStringToGeoJSONPolygon = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Given a bounding box string, e.g. "126.2274169922485, -42.559149812106845, -25.647583007805757, 83.1100826092665",
|
|
6
|
+
* convert it into a geojson Polygon object
|
|
7
|
+
* @param bbox The bounding box string
|
|
8
|
+
* @returns a geojson Polygon object derived from the given bounding box string
|
|
9
|
+
*/
|
|
10
|
+
function bboxStringToGeoJSONPolygon(bbox) {
|
|
11
|
+
const [lon1, lat1, lon2, lat2] = bbox
|
|
12
|
+
.split(",")
|
|
13
|
+
.map((vertex) => parseFloat(vertex.trim()));
|
|
14
|
+
const minLon = Math.min(lon1, lon2);
|
|
15
|
+
const minLat = Math.min(lat1, lat2);
|
|
16
|
+
const maxLon = Math.max(lon1, lon2);
|
|
17
|
+
const maxLat = Math.max(lat1, lat2);
|
|
18
|
+
return {
|
|
19
|
+
type: "Polygon",
|
|
20
|
+
coordinates: [
|
|
21
|
+
[
|
|
22
|
+
[minLon, minLat],
|
|
23
|
+
[maxLon, minLat],
|
|
24
|
+
[maxLon, maxLat],
|
|
25
|
+
[minLon, maxLat],
|
|
26
|
+
[minLon, minLat],
|
|
27
|
+
],
|
|
28
|
+
],
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
exports.bboxStringToGeoJSONPolygon = bboxStringToGeoJSONPolygon;
|
|
32
|
+
//# sourceMappingURL=bboxStringToGeoJSONPolygon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bboxStringToGeoJSONPolygon.js","sourceRoot":"","sources":["../../../../src/search/_internal/bboxStringToGeoJSONPolygon.ts"],"names":[],"mappings":";;;AAEA;;;;;GAKG;AACH,SAAgB,0BAA0B,CAAC,IAAY;IACrD,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,IAAI;SAClC,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACpC,OAAO;QACL,IAAI,EAAE,SAAS;QACf,WAAW,EAAE;YACX;gBACE,CAAC,MAAM,EAAE,MAAM,CAAC;gBAChB,CAAC,MAAM,EAAE,MAAM,CAAC;gBAChB,CAAC,MAAM,EAAE,MAAM,CAAC;gBAChB,CAAC,MAAM,EAAE,MAAM,CAAC;gBAChB,CAAC,MAAM,EAAE,MAAM,CAAC;aACjB;SACF;KACF,CAAC;AACJ,CAAC;AApBD,gEAoBC"}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WellKnownItemPredicates = void 0;
|
|
4
|
+
exports.WellKnownItemPredicates = {
|
|
5
|
+
$application: [
|
|
6
|
+
{
|
|
7
|
+
type: {
|
|
8
|
+
any: [
|
|
9
|
+
"Web Mapping Application",
|
|
10
|
+
"Application",
|
|
11
|
+
"Insights",
|
|
12
|
+
"Web Experience",
|
|
13
|
+
],
|
|
14
|
+
not: ["Insights Theme", "Insights Model"],
|
|
15
|
+
},
|
|
16
|
+
typekeywords: {
|
|
17
|
+
not: ["hubSite", "Story Map"],
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
type: "Web Mapping Experience",
|
|
22
|
+
typekeywords: "EXB Experience",
|
|
23
|
+
},
|
|
24
|
+
],
|
|
25
|
+
$dashboard: [
|
|
26
|
+
{
|
|
27
|
+
type: {
|
|
28
|
+
any: ["Dashboard"],
|
|
29
|
+
not: ["Operation View"],
|
|
30
|
+
},
|
|
31
|
+
typekeywords: {
|
|
32
|
+
not: ["Extension", "ArcGIS Operation View"],
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
],
|
|
36
|
+
$dataset: [
|
|
37
|
+
{
|
|
38
|
+
type: {
|
|
39
|
+
any: [
|
|
40
|
+
"Scene Service",
|
|
41
|
+
"Feature Collection",
|
|
42
|
+
"Route Layer",
|
|
43
|
+
"Layer",
|
|
44
|
+
"Explorer Layer",
|
|
45
|
+
"Tile Package",
|
|
46
|
+
"Vector Tile Package",
|
|
47
|
+
"Scene Package",
|
|
48
|
+
"Layer Package",
|
|
49
|
+
"Feature Service",
|
|
50
|
+
"Stream Service",
|
|
51
|
+
"Map Service",
|
|
52
|
+
"Vector Tile Service",
|
|
53
|
+
"Image Service",
|
|
54
|
+
"WMS",
|
|
55
|
+
"WFS",
|
|
56
|
+
"WMTS",
|
|
57
|
+
"KML",
|
|
58
|
+
"KML Collection",
|
|
59
|
+
"Globe Service",
|
|
60
|
+
"CSV",
|
|
61
|
+
"Shapefile",
|
|
62
|
+
"GeoJson",
|
|
63
|
+
"Service Definition",
|
|
64
|
+
"File Geodatabase",
|
|
65
|
+
"CAD Drawing",
|
|
66
|
+
"Relational Database Connection",
|
|
67
|
+
],
|
|
68
|
+
not: ["Web Mapping Application", "Geodata Service"],
|
|
69
|
+
},
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
typekeywords: ["OGC", "Geodata Service"],
|
|
73
|
+
},
|
|
74
|
+
],
|
|
75
|
+
$document: [
|
|
76
|
+
{
|
|
77
|
+
type: [
|
|
78
|
+
"PDF",
|
|
79
|
+
"Microsoft Excel",
|
|
80
|
+
"Microsoft Word",
|
|
81
|
+
"Microsoft Powerpoint",
|
|
82
|
+
"iWork Keynote",
|
|
83
|
+
"iWork Pages",
|
|
84
|
+
"iWork Numbers",
|
|
85
|
+
"Visio Document",
|
|
86
|
+
"Document Link",
|
|
87
|
+
],
|
|
88
|
+
},
|
|
89
|
+
],
|
|
90
|
+
$initiative: [
|
|
91
|
+
{
|
|
92
|
+
type: "Hub Initiative",
|
|
93
|
+
typekeywords: "hubInitiativeV2",
|
|
94
|
+
},
|
|
95
|
+
],
|
|
96
|
+
$experience: [
|
|
97
|
+
{
|
|
98
|
+
type: "Web Experience",
|
|
99
|
+
},
|
|
100
|
+
],
|
|
101
|
+
$feedback: [
|
|
102
|
+
{
|
|
103
|
+
type: "Form",
|
|
104
|
+
},
|
|
105
|
+
],
|
|
106
|
+
$page: [
|
|
107
|
+
{
|
|
108
|
+
typekeywords: "hubPage",
|
|
109
|
+
},
|
|
110
|
+
],
|
|
111
|
+
$site: [
|
|
112
|
+
{
|
|
113
|
+
type: ["Hub Site Application", "Site Application"],
|
|
114
|
+
},
|
|
115
|
+
],
|
|
116
|
+
$storymap: [
|
|
117
|
+
{
|
|
118
|
+
type: "Storymap",
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
type: "Web Mapping Application",
|
|
122
|
+
typekeywords: "Story Map",
|
|
123
|
+
},
|
|
124
|
+
],
|
|
125
|
+
$template: [
|
|
126
|
+
{
|
|
127
|
+
type: [
|
|
128
|
+
"Web Mapping Application",
|
|
129
|
+
"Hub Initiative",
|
|
130
|
+
"Hub Initiative Template",
|
|
131
|
+
"Solution",
|
|
132
|
+
],
|
|
133
|
+
typekeywords: {
|
|
134
|
+
any: ["hubInitiativeTemplate", "hubSolutionTemplate", "Template"],
|
|
135
|
+
not: "Deployed",
|
|
136
|
+
},
|
|
137
|
+
},
|
|
138
|
+
],
|
|
139
|
+
$webmap: [
|
|
140
|
+
{
|
|
141
|
+
type: {
|
|
142
|
+
any: ["Web Map", "Web Scene"],
|
|
143
|
+
not: "Web Mapping Application",
|
|
144
|
+
},
|
|
145
|
+
},
|
|
146
|
+
],
|
|
147
|
+
};
|
|
148
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/search/_internal/constants.ts"],"names":[],"mappings":";;;AAEa,QAAA,uBAAuB,GAA6B;IAC/D,YAAY,EAAE;QACZ;YACE,IAAI,EAAE;gBACJ,GAAG,EAAE;oBACH,yBAAyB;oBACzB,aAAa;oBACb,UAAU;oBACV,gBAAgB;iBACjB;gBACD,GAAG,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;aAC1C;YACD,YAAY,EAAE;gBACZ,GAAG,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC;aAC9B;SACF;QACD;YACE,IAAI,EAAE,wBAAwB;YAC9B,YAAY,EAAE,gBAAgB;SAC/B;KACF;IACD,UAAU,EAAE;QACV;YACE,IAAI,EAAE;gBACJ,GAAG,EAAE,CAAC,WAAW,CAAC;gBAClB,GAAG,EAAE,CAAC,gBAAgB,CAAC;aACxB;YACD,YAAY,EAAE;gBACZ,GAAG,EAAE,CAAC,WAAW,EAAE,uBAAuB,CAAC;aAC5C;SACF;KACF;IACD,QAAQ,EAAE;QACR;YACE,IAAI,EAAE;gBACJ,GAAG,EAAE;oBACH,eAAe;oBACf,oBAAoB;oBACpB,aAAa;oBACb,OAAO;oBACP,gBAAgB;oBAChB,cAAc;oBACd,qBAAqB;oBACrB,eAAe;oBACf,eAAe;oBACf,iBAAiB;oBACjB,gBAAgB;oBAChB,aAAa;oBACb,qBAAqB;oBACrB,eAAe;oBACf,KAAK;oBACL,KAAK;oBACL,MAAM;oBACN,KAAK;oBACL,gBAAgB;oBAChB,eAAe;oBACf,KAAK;oBACL,WAAW;oBACX,SAAS;oBACT,oBAAoB;oBACpB,kBAAkB;oBAClB,aAAa;oBACb,gCAAgC;iBACjC;gBACD,GAAG,EAAE,CAAC,yBAAyB,EAAE,iBAAiB,CAAC;aACpD;SACF;QACD;YACE,YAAY,EAAE,CAAC,KAAK,EAAE,iBAAiB,CAAC;SACzC;KACF;IACD,SAAS,EAAE;QACT;YACE,IAAI,EAAE;gBACJ,KAAK;gBACL,iBAAiB;gBACjB,gBAAgB;gBAChB,sBAAsB;gBACtB,eAAe;gBACf,aAAa;gBACb,eAAe;gBACf,gBAAgB;gBAChB,eAAe;aAChB;SACF;KACF;IACD,WAAW,EAAE;QACX;YACE,IAAI,EAAE,gBAAgB;YACtB,YAAY,EAAE,iBAAiB;SAChC;KACF;IACD,WAAW,EAAE;QACX;YACE,IAAI,EAAE,gBAAgB;SACvB;KACF;IACD,SAAS,EAAE;QACT;YACE,IAAI,EAAE,MAAM;SACb;KACF;IACD,KAAK,EAAE;QACL;YACE,YAAY,EAAE,SAAS;SACxB;KACF;IACD,KAAK,EAAE;QACL;YACE,IAAI,EAAE,CAAC,sBAAsB,EAAE,kBAAkB,CAAC;SACnD;KACF;IACD,SAAS,EAAE;QACT;YACE,IAAI,EAAE,UAAU;SACjB;QACD;YACE,IAAI,EAAE,yBAAyB;YAC/B,YAAY,EAAE,WAAW;SAC1B;KACF;IACD,SAAS,EAAE;QACT;YACE,IAAI,EAAE;gBACJ,yBAAyB;gBACzB,gBAAgB;gBAChB,yBAAyB;gBACzB,UAAU;aACX;YACD,YAAY,EAAE;gBACZ,GAAG,EAAE,CAAC,uBAAuB,EAAE,qBAAqB,EAAE,UAAU,CAAC;gBACjE,GAAG,EAAE,UAAU;aAChB;SACF;KACF;IACD,OAAO,EAAE;QACP;YACE,IAAI,EAAE;gBACJ,GAAG,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC;gBAC7B,GAAG,EAAE,yBAAyB;aAC/B;SACF;KACF;CACF,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.expandPredicates = void 0;
|
|
4
|
+
const util_1 = require("../../util");
|
|
5
|
+
const expandPredicate_1 = require("./expandPredicate");
|
|
6
|
+
/**
|
|
7
|
+
* Expand the predicates in a query without applying
|
|
8
|
+
* the well-known type expansions
|
|
9
|
+
* @param query
|
|
10
|
+
* @returns
|
|
11
|
+
*/
|
|
12
|
+
function expandPredicates(query) {
|
|
13
|
+
const clonedQuery = util_1.cloneObject(query);
|
|
14
|
+
clonedQuery.filters = clonedQuery.filters.map((filter) => {
|
|
15
|
+
filter.predicates = filter.predicates.map(expandPredicate_1.expandPredicate);
|
|
16
|
+
return filter;
|
|
17
|
+
});
|
|
18
|
+
return clonedQuery;
|
|
19
|
+
}
|
|
20
|
+
exports.expandPredicates = expandPredicates;
|
|
21
|
+
//# sourceMappingURL=expandPredicates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expandPredicates.js","sourceRoot":"","sources":["../../../../src/search/_internal/expandPredicates.ts"],"names":[],"mappings":";;;AAAA,qCAAyC;AAEzC,uDAAoD;AAEpD;;;;;GAKG;AACH,SAAgB,gBAAgB,CAAC,KAAa;IAC5C,MAAM,WAAW,GAAG,kBAAW,CAAC,KAAK,CAAC,CAAC;IACvC,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACvD,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,iCAAe,CAAC,CAAC;QAC3D,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;IACH,OAAO,WAAW,CAAC;AACrB,CAAC;AAPD,4CAOC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.postToSearchResult = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Resolves an IHubSearchResult for the given IPost record
|
|
6
|
+
* @param post An IPost record
|
|
7
|
+
* @returns a IHubSearchResult for the given IPost record
|
|
8
|
+
*/
|
|
9
|
+
function postToSearchResult(post) {
|
|
10
|
+
return {
|
|
11
|
+
access: null,
|
|
12
|
+
createdDate: new Date(post.createdAt),
|
|
13
|
+
createdDateSource: "post.createdAt",
|
|
14
|
+
family: "post",
|
|
15
|
+
id: post.id,
|
|
16
|
+
// Per Tom's advice, deferring supporting locations for posts for now. There are
|
|
17
|
+
// some known typing issues related to the `IHubLocation.geometries` property at
|
|
18
|
+
// this time. We should revisit this once `IHubLocation.geometries` type if fixed
|
|
19
|
+
// and make sure to support translating GeoJSON GeometryCollections appropriately
|
|
20
|
+
location: { type: "none" },
|
|
21
|
+
name: post.title,
|
|
22
|
+
owner: post.creator,
|
|
23
|
+
rawResult: post,
|
|
24
|
+
source: "",
|
|
25
|
+
summary: post.body,
|
|
26
|
+
type: "Post",
|
|
27
|
+
updatedDate: new Date(post.updatedAt),
|
|
28
|
+
updatedDateSource: "post.updatedAt",
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
exports.postToSearchResult = postToSearchResult;
|
|
32
|
+
//# sourceMappingURL=postToSearchResult.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"postToSearchResult.js","sourceRoot":"","sources":["../../../../../src/search/_internal/hubDiscussionsHelpers/postToSearchResult.ts"],"names":[],"mappings":";;;AAGA;;;;GAIG;AACH,SAAgB,kBAAkB,CAAC,IAAW;IAC5C,OAAO;QACL,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;QACrC,iBAAiB,EAAE,gBAAgB;QACnC,MAAM,EAAE,MAAM;QACd,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,gFAAgF;QAChF,gFAAgF;QAChF,iFAAiF;QACjF,iFAAiF;QACjF,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;QAC1B,IAAI,EAAE,IAAI,CAAC,KAAK;QAChB,KAAK,EAAE,IAAI,CAAC,OAAO;QACnB,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,IAAI,CAAC,IAAI;QAClB,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;QACrC,iBAAiB,EAAE,gBAAgB;KACpC,CAAC;AACJ,CAAC;AArBD,gDAqBC"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.processPostFilters = void 0;
|
|
4
|
+
const types_1 = require("../../../discussions/api/types");
|
|
5
|
+
const bboxStringToGeoJSONPolygon_1 = require("../bboxStringToGeoJSONPolygon");
|
|
6
|
+
const toEnumConverters_1 = require("../hubEventsHelpers/toEnumConverters");
|
|
7
|
+
const processChannelFilters_1 = require("./processChannelFilters");
|
|
8
|
+
/**
|
|
9
|
+
* Builds a Partial<ISearchPosts> given an Array of IFilter objects
|
|
10
|
+
* @param filters An Array of IFilter
|
|
11
|
+
* @returns A Partial<ISearchPosts> for the given Array of IFilter objects
|
|
12
|
+
*/
|
|
13
|
+
function processPostFilters(filters) {
|
|
14
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
15
|
+
const flattenedFilters = processChannelFilters_1.flattenFilters(filters);
|
|
16
|
+
const processedFilters = {};
|
|
17
|
+
// access
|
|
18
|
+
if ((_a = flattenedFilters.access) === null || _a === void 0 ? void 0 : _a.length) {
|
|
19
|
+
processedFilters.access = toEnumConverters_1.toEnums(flattenedFilters.access, types_1.SharingAccess);
|
|
20
|
+
}
|
|
21
|
+
// bbox
|
|
22
|
+
if ((_b = flattenedFilters.bbox) === null || _b === void 0 ? void 0 : _b.length) {
|
|
23
|
+
// for now, just map bbox to the `geometry` filter. a `featureGeometry` filter
|
|
24
|
+
// also exists, but we cannot use it in combination with `geometry` because
|
|
25
|
+
// the API will `AND` those conditions together. if we desire the ability to
|
|
26
|
+
// match posts whose `geometry` OR `featureGeometry` interesect the provided bbox,
|
|
27
|
+
// we will need a new API parameter, and update this mapping to use it.
|
|
28
|
+
const polygon = bboxStringToGeoJSONPolygon_1.bboxStringToGeoJSONPolygon(flattenedFilters.bbox[0]);
|
|
29
|
+
processedFilters.geometry = polygon;
|
|
30
|
+
}
|
|
31
|
+
// `term` searches against both `title` and `body` so
|
|
32
|
+
// ignore `title` and `body` filters when `term` is provied
|
|
33
|
+
if ((_c = flattenedFilters.term) === null || _c === void 0 ? void 0 : _c.length) {
|
|
34
|
+
processedFilters.term = flattenedFilters.term[0];
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
// title
|
|
38
|
+
if ((_d = flattenedFilters.title) === null || _d === void 0 ? void 0 : _d.length) {
|
|
39
|
+
processedFilters.title = flattenedFilters.title[0];
|
|
40
|
+
}
|
|
41
|
+
// body
|
|
42
|
+
if ((_e = flattenedFilters.body) === null || _e === void 0 ? void 0 : _e.length) {
|
|
43
|
+
processedFilters.body = flattenedFilters.body[0];
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
// channels
|
|
47
|
+
if ((_f = flattenedFilters.channel) === null || _f === void 0 ? void 0 : _f.length) {
|
|
48
|
+
processedFilters.channels = flattenedFilters.channel;
|
|
49
|
+
}
|
|
50
|
+
// creator
|
|
51
|
+
if ((_g = flattenedFilters.owner) === null || _g === void 0 ? void 0 : _g.length) {
|
|
52
|
+
processedFilters.creator = flattenedFilters.owner[0];
|
|
53
|
+
}
|
|
54
|
+
// discussion
|
|
55
|
+
if ((_h = flattenedFilters.discussion) === null || _h === void 0 ? void 0 : _h.length) {
|
|
56
|
+
processedFilters.discussion = flattenedFilters.discussion[0];
|
|
57
|
+
}
|
|
58
|
+
// editor
|
|
59
|
+
if ((_j = flattenedFilters.editor) === null || _j === void 0 ? void 0 : _j.length) {
|
|
60
|
+
processedFilters.editor = flattenedFilters.editor[0];
|
|
61
|
+
}
|
|
62
|
+
// status
|
|
63
|
+
if ((_k = flattenedFilters.status) === null || _k === void 0 ? void 0 : _k.length) {
|
|
64
|
+
processedFilters.status = toEnumConverters_1.toEnums(flattenedFilters.status, types_1.PostStatus);
|
|
65
|
+
}
|
|
66
|
+
// parents
|
|
67
|
+
if (Array.isArray(flattenedFilters.parentId)) {
|
|
68
|
+
processedFilters.parents = flattenedFilters.parentId;
|
|
69
|
+
}
|
|
70
|
+
// groups
|
|
71
|
+
if ((_l = flattenedFilters.groups) === null || _l === void 0 ? void 0 : _l.length) {
|
|
72
|
+
processedFilters.groups = flattenedFilters.groups;
|
|
73
|
+
}
|
|
74
|
+
// post type
|
|
75
|
+
if ((_m = flattenedFilters.postType) === null || _m === void 0 ? void 0 : _m.length) {
|
|
76
|
+
processedFilters.postType = toEnumConverters_1.toEnum(flattenedFilters.postType[0], types_1.PostType);
|
|
77
|
+
}
|
|
78
|
+
// created
|
|
79
|
+
if ((_o = flattenedFilters.created) === null || _o === void 0 ? void 0 : _o.length) {
|
|
80
|
+
processedFilters.createdBefore = new Date(flattenedFilters.created[0].to);
|
|
81
|
+
processedFilters.createdAfter = new Date(flattenedFilters.created[0].from);
|
|
82
|
+
}
|
|
83
|
+
// modified
|
|
84
|
+
if ((_p = flattenedFilters.modified) === null || _p === void 0 ? void 0 : _p.length) {
|
|
85
|
+
processedFilters.updatedBefore = new Date(flattenedFilters.modified[0].to);
|
|
86
|
+
processedFilters.updatedAfter = new Date(flattenedFilters.modified[0].from);
|
|
87
|
+
}
|
|
88
|
+
return processedFilters;
|
|
89
|
+
}
|
|
90
|
+
exports.processPostFilters = processPostFilters;
|
|
91
|
+
//# sourceMappingURL=processPostFilters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processPostFilters.js","sourceRoot":"","sources":["../../../../../src/search/_internal/hubDiscussionsHelpers/processPostFilters.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.processPostOptions = void 0;
|
|
4
|
+
const types_1 = require("../../../discussions/api/types");
|
|
5
|
+
/**
|
|
6
|
+
* A map of HubSearchPostSortFields to PostSort
|
|
7
|
+
*/
|
|
8
|
+
const SORT_BY_MAP = {
|
|
9
|
+
body: types_1.PostSort.BODY,
|
|
10
|
+
channelId: types_1.PostSort.CHANNEL_ID,
|
|
11
|
+
created: types_1.PostSort.CREATED_AT,
|
|
12
|
+
modified: types_1.PostSort.UPDATED_AT,
|
|
13
|
+
owner: types_1.PostSort.CREATOR,
|
|
14
|
+
discussion: types_1.PostSort.DISCUSSION,
|
|
15
|
+
editor: types_1.PostSort.EDITOR,
|
|
16
|
+
id: types_1.PostSort.ID,
|
|
17
|
+
parentId: types_1.PostSort.PARENT_ID,
|
|
18
|
+
status: types_1.PostSort.STATUS,
|
|
19
|
+
title: types_1.PostSort.TITLE,
|
|
20
|
+
};
|
|
21
|
+
const SORT_ORDER_MAP = {
|
|
22
|
+
desc: types_1.SortOrder.DESC,
|
|
23
|
+
asc: types_1.SortOrder.ASC,
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Builds a Partial<ISearchPosts> for the given IHubSearchOptions
|
|
27
|
+
* @param options An IHubSearchOptions object
|
|
28
|
+
* @returns a Partial<ISearchPosts> for the given IHubSearchOptions
|
|
29
|
+
*/
|
|
30
|
+
function processPostOptions(options) {
|
|
31
|
+
const processedOptions = {};
|
|
32
|
+
// num
|
|
33
|
+
if (options.num > 0) {
|
|
34
|
+
processedOptions.num = options.num;
|
|
35
|
+
}
|
|
36
|
+
// start
|
|
37
|
+
if (options.start > 1) {
|
|
38
|
+
processedOptions.start = options.start;
|
|
39
|
+
}
|
|
40
|
+
// sort order
|
|
41
|
+
if (options.sortOrder && SORT_ORDER_MAP[options.sortOrder]) {
|
|
42
|
+
processedOptions.sortOrder = SORT_ORDER_MAP[options.sortOrder];
|
|
43
|
+
}
|
|
44
|
+
// sort field
|
|
45
|
+
const sortField = SORT_BY_MAP[options.sortField];
|
|
46
|
+
if (sortField) {
|
|
47
|
+
processedOptions.sortBy = sortField;
|
|
48
|
+
}
|
|
49
|
+
return processedOptions;
|
|
50
|
+
}
|
|
51
|
+
exports.processPostOptions = processPostOptions;
|
|
52
|
+
//# sourceMappingURL=processPostOptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processPostOptions.js","sourceRoot":"","sources":["../../../../../src/search/_internal/hubDiscussionsHelpers/processPostOptions.ts"],"names":[],"mappings":";;;AAAA,0DAIwC;AAmBxC;;GAEG;AACH,MAAM,WAAW,GAA8C;IAC7D,IAAI,EAAE,gBAAQ,CAAC,IAAI;IACnB,SAAS,EAAE,gBAAQ,CAAC,UAAU;IAC9B,OAAO,EAAE,gBAAQ,CAAC,UAAU;IAC5B,QAAQ,EAAE,gBAAQ,CAAC,UAAU;IAC7B,KAAK,EAAE,gBAAQ,CAAC,OAAO;IACvB,UAAU,EAAE,gBAAQ,CAAC,UAAU;IAC/B,MAAM,EAAE,gBAAQ,CAAC,MAAM;IACvB,EAAE,EAAE,gBAAQ,CAAC,EAAE;IACf,QAAQ,EAAE,gBAAQ,CAAC,SAAS;IAC5B,MAAM,EAAE,gBAAQ,CAAC,MAAM;IACvB,KAAK,EAAE,gBAAQ,CAAC,KAAK;CACtB,CAAC;AAEF,MAAM,cAAc,GAAsC;IACxD,IAAI,EAAE,iBAAS,CAAC,IAAI;IACpB,GAAG,EAAE,iBAAS,CAAC,GAAG;CACnB,CAAC;AAEF;;;;GAIG;AACH,SAAgB,kBAAkB,CAChC,OAA0B;IAE1B,MAAM,gBAAgB,GAA0B,EAAE,CAAC;IACnD,MAAM;IACN,IAAI,OAAO,CAAC,GAAG,GAAG,CAAC,EAAE;QACnB,gBAAgB,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;KACpC;IAED,QAAQ;IACR,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,EAAE;QACrB,gBAAgB,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;KACxC;IAED,aAAa;IACb,IAAI,OAAO,CAAC,SAAS,IAAI,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;QAC1D,gBAAgB,CAAC,SAAS,GAAG,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;KAChE;IAED,aAAa;IACb,MAAM,SAAS,GACb,WAAW,CAAC,OAAO,CAAC,SAAoC,CAAC,CAAC;IAC5D,IAAI,SAAS,EAAE;QACb,gBAAgB,CAAC,MAAM,GAAG,SAAS,CAAC;KACrC;IAED,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AA3BD,gDA2BC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.processRelations = void 0;
|
|
4
|
+
const types_1 = require("../../../discussions/api/types");
|
|
5
|
+
const RELATIONS_MAP = {
|
|
6
|
+
channel: types_1.PostRelation.CHANNEL,
|
|
7
|
+
channelAcl: types_1.PostRelation.CHANNEL_ACL,
|
|
8
|
+
parent: types_1.PostRelation.PARENT,
|
|
9
|
+
reactions: types_1.PostRelation.REACTIONS,
|
|
10
|
+
replies: types_1.PostRelation.REPLIES,
|
|
11
|
+
replyCount: types_1.PostRelation.REPLY_COUNT,
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Convert an array of `include` into an array of PostRelation enum values.
|
|
15
|
+
* @param relations array of include (e.g. ["channel", "replies"]).
|
|
16
|
+
* @returns PostRelation[] with order of first appearance preserved and duplicates removed.
|
|
17
|
+
*/
|
|
18
|
+
function processRelations(relations = []) {
|
|
19
|
+
const results = [];
|
|
20
|
+
for (const rel of relations) {
|
|
21
|
+
const mapped = RELATIONS_MAP[rel];
|
|
22
|
+
if (mapped && !results.includes(mapped)) {
|
|
23
|
+
results.push(mapped);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return results;
|
|
27
|
+
}
|
|
28
|
+
exports.processRelations = processRelations;
|
|
29
|
+
//# sourceMappingURL=processRelations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processRelations.js","sourceRoot":"","sources":["../../../../../src/search/_internal/hubDiscussionsHelpers/processRelations.ts"],"names":[],"mappings":";;;AAAA,0DAA8D;AAE9D,MAAM,aAAa,GAAiC;IAClD,OAAO,EAAE,oBAAY,CAAC,OAAO;IAC7B,UAAU,EAAE,oBAAY,CAAC,WAAW;IACpC,MAAM,EAAE,oBAAY,CAAC,MAAM;IAC3B,SAAS,EAAE,oBAAY,CAAC,SAAS;IACjC,OAAO,EAAE,oBAAY,CAAC,OAAO;IAC7B,UAAU,EAAE,oBAAY,CAAC,WAAW;CACrC,CAAC;AAEF;;;;GAIG;AACH,SAAgB,gBAAgB,CAAC,YAAsB,EAAE;IACvD,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE;QAC3B,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YACvC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACtB;KACF;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AATD,4CASC"}
|