@esri/hub-common 9.13.2 → 9.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/es2017/ArcGISContext.js +215 -158
- package/dist/es2017/ArcGISContext.js.map +1 -1
- package/dist/es2017/ArcGISContextManager.js +171 -0
- package/dist/es2017/ArcGISContextManager.js.map +1 -0
- package/dist/es2017/Hub.js +70 -0
- package/dist/es2017/Hub.js.map +1 -0
- package/dist/es2017/HubError.js +34 -0
- package/dist/es2017/HubError.js.map +1 -0
- package/dist/es2017/collections.js +23 -0
- package/dist/es2017/collections.js.map +1 -1
- package/dist/es2017/content/_internal.js +12 -0
- package/dist/es2017/content/_internal.js.map +1 -1
- package/dist/es2017/content/index.js +42 -18
- package/dist/es2017/content/index.js.map +1 -1
- package/dist/es2017/core/helpers/PropertyMapper.js +95 -0
- package/dist/es2017/core/helpers/PropertyMapper.js.map +1 -0
- package/dist/es2017/core/index.js +3 -0
- package/dist/es2017/core/index.js.map +1 -0
- package/dist/es2017/core/traits/WithBannerImage.js +1 -0
- package/dist/es2017/core/traits/WithBannerImage.js.map +1 -0
- package/dist/es2017/core/traits/WithLayout.js +1 -0
- package/dist/es2017/core/traits/WithLayout.js.map +1 -0
- package/dist/es2017/core/traits/WithSlug.js +1 -0
- package/dist/es2017/core/traits/WithSlug.js.map +1 -0
- package/dist/es2017/core/traits/index.js +4 -0
- package/dist/es2017/core/traits/index.js.map +1 -0
- package/dist/es2017/core/types/IContentEnrichments.js +1 -0
- package/dist/es2017/core/types/IContentEnrichments.js.map +1 -0
- package/dist/es2017/core/types/IHubContent.js +1 -0
- package/dist/es2017/core/types/IHubContent.js.map +1 -0
- package/dist/es2017/core/types/IHubEntityBase.js +1 -0
- package/dist/es2017/core/types/IHubEntityBase.js.map +1 -0
- package/dist/es2017/core/types/IHubEntityManager.js +1 -0
- package/dist/es2017/core/types/IHubEntityManager.js.map +1 -0
- package/dist/es2017/core/types/IHubEvent.js +1 -0
- package/dist/es2017/core/types/IHubEvent.js.map +1 -0
- package/dist/es2017/core/types/IHubImage.js +1 -0
- package/dist/es2017/core/types/IHubImage.js.map +1 -0
- package/dist/es2017/core/types/IHubInitiative.js +1 -0
- package/dist/es2017/core/types/IHubInitiative.js.map +1 -0
- package/dist/es2017/core/types/IHubItemEntity.js +1 -0
- package/dist/es2017/core/types/IHubItemEntity.js.map +1 -0
- package/dist/es2017/core/types/IHubLayout.js +1 -0
- package/dist/es2017/core/types/IHubLayout.js.map +1 -0
- package/dist/es2017/core/types/IHubPage.js +1 -0
- package/dist/es2017/core/types/IHubPage.js.map +1 -0
- package/dist/es2017/core/types/IHubProject.js +1 -0
- package/dist/es2017/core/types/IHubProject.js.map +1 -0
- package/dist/es2017/core/types/IHubSite.js +1 -0
- package/dist/es2017/core/types/IHubSite.js.map +1 -0
- package/dist/es2017/core/types/IHubTimeline.js +1 -0
- package/dist/es2017/core/types/IHubTimeline.js.map +1 -0
- package/dist/es2017/core/types/IItemEnrichments.js +1 -0
- package/dist/es2017/core/types/IItemEnrichments.js.map +1 -0
- package/dist/es2017/core/types/index.js +15 -0
- package/dist/es2017/core/types/index.js.map +1 -0
- package/dist/es2017/index.js +11 -5
- package/dist/es2017/index.js.map +1 -1
- package/dist/es2017/items/fail-safe-update.js +2 -2
- package/dist/es2017/items/fail-safe-update.js.map +1 -1
- package/dist/es2017/items/get-model-from-options.js +2 -2
- package/dist/es2017/items/get-model-from-options.js.map +1 -1
- package/dist/es2017/items/index.js +2 -3
- package/dist/es2017/items/index.js.map +1 -1
- package/dist/es2017/items/slugs.js +92 -0
- package/dist/es2017/items/slugs.js.map +1 -0
- package/dist/es2017/models/index.js +98 -0
- package/dist/es2017/models/index.js.map +1 -0
- package/dist/es2017/{items/serialize-model.js → models/serializeModel.js} +1 -1
- package/dist/es2017/models/serializeModel.js.map +1 -0
- package/dist/es2017/projects/HubProjectManager.js +115 -0
- package/dist/es2017/projects/HubProjectManager.js.map +1 -0
- package/dist/es2017/projects/HubProjects.js +194 -0
- package/dist/es2017/projects/HubProjects.js.map +1 -0
- package/dist/es2017/projects/index.js +3 -0
- package/dist/es2017/projects/index.js.map +1 -0
- package/dist/es2017/search/_searchContent.js +18 -7
- package/dist/es2017/search/_searchContent.js.map +1 -1
- package/dist/es2017/search/_searchGroups.js +1 -11
- package/dist/es2017/search/_searchGroups.js.map +1 -1
- package/dist/es2017/search/utils.js +1 -1
- package/dist/es2017/urls/getHubApiFromPortalUrl.js +21 -0
- package/dist/es2017/urls/getHubApiFromPortalUrl.js.map +1 -0
- package/dist/es2017/urls/getPortalBaseFromOrgUrl.js +25 -0
- package/dist/es2017/urls/getPortalBaseFromOrgUrl.js.map +1 -0
- package/dist/es2017/urls/index.js +2 -0
- package/dist/es2017/urls/index.js.map +1 -1
- package/dist/es2017/utils/dasherize.js +25 -0
- package/dist/es2017/utils/dasherize.js.map +1 -0
- package/dist/es2017/utils/index.js +1 -0
- package/dist/es2017/utils/index.js.map +1 -1
- package/dist/esm/ArcGISContext.js +299 -200
- package/dist/esm/ArcGISContext.js.map +1 -1
- package/dist/esm/ArcGISContextManager.js +215 -0
- package/dist/esm/ArcGISContextManager.js.map +1 -0
- package/dist/esm/Hub.js +89 -0
- package/dist/esm/Hub.js.map +1 -0
- package/dist/esm/HubError.js +40 -0
- package/dist/esm/HubError.js.map +1 -0
- package/dist/esm/collections.js +23 -0
- package/dist/esm/collections.js.map +1 -1
- package/dist/esm/content/_internal.js +14 -0
- package/dist/esm/content/_internal.js.map +1 -1
- package/dist/esm/content/index.js +42 -18
- package/dist/esm/content/index.js.map +1 -1
- package/dist/esm/core/helpers/PropertyMapper.js +97 -0
- package/dist/esm/core/helpers/PropertyMapper.js.map +1 -0
- package/dist/esm/core/index.js +3 -0
- package/dist/esm/core/index.js.map +1 -0
- package/dist/esm/core/traits/WithBannerImage.js +1 -0
- package/dist/esm/core/traits/WithBannerImage.js.map +1 -0
- package/dist/esm/core/traits/WithLayout.js +1 -0
- package/dist/esm/core/traits/WithLayout.js.map +1 -0
- package/dist/esm/core/traits/WithSlug.js +1 -0
- package/dist/esm/core/traits/WithSlug.js.map +1 -0
- package/dist/esm/core/traits/index.js +4 -0
- package/dist/esm/core/traits/index.js.map +1 -0
- package/dist/esm/core/types/IContentEnrichments.js +1 -0
- package/dist/esm/core/types/IContentEnrichments.js.map +1 -0
- package/dist/esm/core/types/IHubContent.js +1 -0
- package/dist/esm/core/types/IHubContent.js.map +1 -0
- package/dist/esm/core/types/IHubEntityBase.js +1 -0
- package/dist/esm/core/types/IHubEntityBase.js.map +1 -0
- package/dist/esm/core/types/IHubEntityManager.js +1 -0
- package/dist/esm/core/types/IHubEntityManager.js.map +1 -0
- package/dist/esm/core/types/IHubEvent.js +1 -0
- package/dist/esm/core/types/IHubEvent.js.map +1 -0
- package/dist/esm/core/types/IHubImage.js +1 -0
- package/dist/esm/core/types/IHubImage.js.map +1 -0
- package/dist/esm/core/types/IHubInitiative.js +1 -0
- package/dist/esm/core/types/IHubInitiative.js.map +1 -0
- package/dist/esm/core/types/IHubItemEntity.js +1 -0
- package/dist/esm/core/types/IHubItemEntity.js.map +1 -0
- package/dist/esm/core/types/IHubLayout.js +1 -0
- package/dist/esm/core/types/IHubLayout.js.map +1 -0
- package/dist/esm/core/types/IHubPage.js +1 -0
- package/dist/esm/core/types/IHubPage.js.map +1 -0
- package/dist/esm/core/types/IHubProject.js +1 -0
- package/dist/esm/core/types/IHubProject.js.map +1 -0
- package/dist/esm/core/types/IHubSite.js +1 -0
- package/dist/esm/core/types/IHubSite.js.map +1 -0
- package/dist/esm/core/types/IHubTimeline.js +1 -0
- package/dist/esm/core/types/IHubTimeline.js.map +1 -0
- package/dist/esm/core/types/IItemEnrichments.js +1 -0
- package/dist/esm/core/types/IItemEnrichments.js.map +1 -0
- package/dist/esm/core/types/index.js +15 -0
- package/dist/esm/core/types/index.js.map +1 -0
- package/dist/esm/index.js +11 -5
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/items/fail-safe-update.js +2 -2
- package/dist/esm/items/fail-safe-update.js.map +1 -1
- package/dist/esm/items/get-model-from-options.js +2 -2
- package/dist/esm/items/get-model-from-options.js.map +1 -1
- package/dist/esm/items/index.js +2 -3
- package/dist/esm/items/index.js.map +1 -1
- package/dist/esm/items/slugs.js +93 -0
- package/dist/esm/items/slugs.js.map +1 -0
- package/dist/esm/models/index.js +99 -0
- package/dist/esm/models/index.js.map +1 -0
- package/dist/esm/{items/serialize-model.js → models/serializeModel.js} +1 -1
- package/dist/esm/models/serializeModel.js.map +1 -0
- package/dist/esm/projects/HubProjectManager.js +142 -0
- package/dist/esm/projects/HubProjectManager.js.map +1 -0
- package/dist/esm/projects/HubProjects.js +225 -0
- package/dist/esm/projects/HubProjects.js.map +1 -0
- package/dist/esm/projects/index.js +3 -0
- package/dist/esm/projects/index.js.map +1 -0
- package/dist/esm/search/_searchContent.js +18 -7
- package/dist/esm/search/_searchContent.js.map +1 -1
- package/dist/esm/search/_searchGroups.js +3 -13
- package/dist/esm/search/_searchGroups.js.map +1 -1
- package/dist/esm/search/utils.js +1 -1
- package/dist/esm/urls/getHubApiFromPortalUrl.js +21 -0
- package/dist/esm/urls/getHubApiFromPortalUrl.js.map +1 -0
- package/dist/esm/urls/getPortalBaseFromOrgUrl.js +25 -0
- package/dist/esm/urls/getPortalBaseFromOrgUrl.js.map +1 -0
- package/dist/esm/urls/index.js +2 -0
- package/dist/esm/urls/index.js.map +1 -1
- package/dist/esm/utils/dasherize.js +25 -0
- package/dist/esm/utils/dasherize.js.map +1 -0
- package/dist/esm/utils/index.js +1 -0
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/node/ArcGISContext.js +215 -158
- package/dist/node/ArcGISContext.js.map +1 -1
- package/dist/node/ArcGISContextManager.js +175 -0
- package/dist/node/ArcGISContextManager.js.map +1 -0
- package/dist/node/Hub.js +74 -0
- package/dist/node/Hub.js.map +1 -0
- package/dist/node/HubError.js +37 -0
- package/dist/node/HubError.js.map +1 -0
- package/dist/node/collections.js +24 -1
- package/dist/node/collections.js.map +1 -1
- package/dist/node/content/_internal.js +13 -1
- package/dist/node/content/_internal.js.map +1 -1
- package/dist/node/content/index.js +42 -18
- package/dist/node/content/index.js.map +1 -1
- package/dist/node/core/helpers/PropertyMapper.js +101 -0
- package/dist/node/core/helpers/PropertyMapper.js.map +1 -0
- package/dist/node/core/index.js +6 -0
- package/dist/node/core/index.js.map +1 -0
- package/dist/node/core/traits/WithBannerImage.js +3 -0
- package/dist/node/core/traits/WithBannerImage.js.map +1 -0
- package/dist/node/core/traits/WithLayout.js +3 -0
- package/dist/node/core/traits/WithLayout.js.map +1 -0
- package/dist/node/core/traits/WithSlug.js +3 -0
- package/dist/node/core/traits/WithSlug.js.map +1 -0
- package/dist/node/core/traits/index.js +7 -0
- package/dist/node/core/traits/index.js.map +1 -0
- package/dist/node/core/types/IContentEnrichments.js +3 -0
- package/dist/node/core/types/IContentEnrichments.js.map +1 -0
- package/dist/node/core/types/IHubContent.js +3 -0
- package/dist/node/core/types/IHubContent.js.map +1 -0
- package/dist/node/core/types/IHubEntityBase.js +3 -0
- package/dist/node/core/types/IHubEntityBase.js.map +1 -0
- package/dist/node/core/types/IHubEntityManager.js +3 -0
- package/dist/node/core/types/IHubEntityManager.js.map +1 -0
- package/dist/node/core/types/IHubEvent.js +3 -0
- package/dist/node/core/types/IHubEvent.js.map +1 -0
- package/dist/node/core/types/IHubImage.js +3 -0
- package/dist/node/core/types/IHubImage.js.map +1 -0
- package/dist/node/core/types/IHubInitiative.js +3 -0
- package/dist/node/core/types/IHubInitiative.js.map +1 -0
- package/dist/node/core/types/IHubItemEntity.js +3 -0
- package/dist/node/core/types/IHubItemEntity.js.map +1 -0
- package/dist/node/core/types/IHubLayout.js +3 -0
- package/dist/node/core/types/IHubLayout.js.map +1 -0
- package/dist/node/core/types/IHubPage.js +3 -0
- package/dist/node/core/types/IHubPage.js.map +1 -0
- package/dist/node/core/types/IHubProject.js +3 -0
- package/dist/node/core/types/IHubProject.js.map +1 -0
- package/dist/node/core/types/IHubSite.js +3 -0
- package/dist/node/core/types/IHubSite.js.map +1 -0
- package/dist/node/core/types/IHubTimeline.js +3 -0
- package/dist/node/core/types/IHubTimeline.js.map +1 -0
- package/dist/node/core/types/IItemEnrichments.js +3 -0
- package/dist/node/core/types/IItemEnrichments.js.map +1 -0
- package/dist/node/core/types/index.js +18 -0
- package/dist/node/core/types/index.js.map +1 -0
- package/dist/node/index.js +12 -5
- package/dist/node/index.js.map +1 -1
- package/dist/node/items/fail-safe-update.js +3 -3
- package/dist/node/items/fail-safe-update.js.map +1 -1
- package/dist/node/items/get-model-from-options.js +3 -3
- package/dist/node/items/get-model-from-options.js.map +1 -1
- package/dist/node/items/index.js +2 -3
- package/dist/node/items/index.js.map +1 -1
- package/dist/node/items/slugs.js +99 -0
- package/dist/node/items/slugs.js.map +1 -0
- package/dist/node/models/index.js +106 -0
- package/dist/node/models/index.js.map +1 -0
- package/dist/node/{items/serialize-model.js → models/serializeModel.js} +1 -1
- package/dist/node/models/serializeModel.js.map +1 -0
- package/dist/node/projects/HubProjectManager.js +119 -0
- package/dist/node/projects/HubProjectManager.js.map +1 -0
- package/dist/node/projects/HubProjects.js +201 -0
- package/dist/node/projects/HubProjects.js.map +1 -0
- package/dist/node/projects/index.js +6 -0
- package/dist/node/projects/index.js.map +1 -0
- package/dist/node/search/_searchContent.js +17 -6
- package/dist/node/search/_searchContent.js.map +1 -1
- package/dist/node/search/_searchGroups.js +1 -11
- package/dist/node/search/_searchGroups.js.map +1 -1
- package/dist/node/search/utils.js +1 -1
- package/dist/node/urls/getHubApiFromPortalUrl.js +25 -0
- package/dist/node/urls/getHubApiFromPortalUrl.js.map +1 -0
- package/dist/node/urls/getPortalBaseFromOrgUrl.js +29 -0
- package/dist/node/urls/getPortalBaseFromOrgUrl.js.map +1 -0
- package/dist/node/urls/index.js +2 -0
- package/dist/node/urls/index.js.map +1 -1
- package/dist/node/utils/dasherize.js +29 -0
- package/dist/node/utils/dasherize.js.map +1 -0
- package/dist/node/utils/index.js +1 -0
- package/dist/node/utils/index.js.map +1 -1
- package/dist/types/ArcGISContext.d.ts +276 -66
- package/dist/types/ArcGISContextManager.d.ts +130 -0
- package/dist/types/Hub.d.ts +72 -0
- package/dist/types/HubError.d.ts +17 -0
- package/dist/types/collections.d.ts +12 -0
- package/dist/types/content/_internal.d.ts +66 -38
- package/dist/types/content/index.d.ts +17 -8
- package/dist/types/core/helpers/PropertyMapper.d.ts +69 -0
- package/dist/types/core/index.d.ts +2 -0
- package/dist/types/core/traits/WithBannerImage.d.ts +30 -0
- package/dist/types/core/traits/WithLayout.d.ts +54 -0
- package/dist/types/core/traits/WithSlug.d.ts +15 -0
- package/dist/types/core/traits/index.d.ts +3 -0
- package/dist/types/core/types/IContentEnrichments.d.ts +10 -0
- package/dist/types/core/types/IHubContent.d.ts +77 -0
- package/dist/types/core/types/IHubEntityBase.d.ts +41 -0
- package/dist/types/core/types/IHubEntityManager.d.ts +33 -0
- package/dist/types/core/types/IHubEvent.d.ts +10 -0
- package/dist/types/core/types/IHubImage.d.ts +25 -0
- package/dist/types/core/types/IHubInitiative.d.ts +8 -0
- package/dist/types/core/types/IHubItemEntity.d.ts +42 -0
- package/dist/types/core/types/IHubLayout.d.ts +20 -0
- package/dist/types/core/types/IHubPage.d.ts +8 -0
- package/dist/types/core/types/IHubProject.d.ts +15 -0
- package/dist/types/core/types/IHubSite.d.ts +11 -0
- package/dist/types/core/types/IHubTimeline.d.ts +41 -0
- package/dist/types/core/types/IItemEnrichments.d.ts +23 -0
- package/dist/types/core/types/index.d.ts +14 -0
- package/dist/types/index.d.ts +11 -5
- package/dist/types/items/index.d.ts +2 -3
- package/dist/types/items/slugs.d.ts +43 -0
- package/dist/types/models/index.d.ts +42 -0
- package/dist/types/{items/serialize-model.d.ts → models/serializeModel.d.ts} +0 -0
- package/dist/types/projects/HubProjectManager.d.ts +81 -0
- package/dist/types/projects/HubProjects.d.ts +31 -0
- package/dist/types/projects/index.d.ts +2 -0
- package/dist/types/search/utils.d.ts +1 -1
- package/dist/types/types.d.ts +2 -92
- package/dist/types/urls/getHubApiFromPortalUrl.d.ts +8 -0
- package/dist/types/urls/getPortalBaseFromOrgUrl.d.ts +9 -0
- package/dist/types/urls/index.d.ts +2 -0
- package/dist/types/utils/dasherize.d.ts +17 -0
- package/dist/types/utils/index.d.ts +1 -0
- package/dist/umd/common.umd.js +2119 -1152
- package/dist/umd/common.umd.js.map +1 -1
- package/dist/umd/common.umd.min.js +1 -1
- package/dist/umd/common.umd.min.js.map +1 -1
- package/package.json +1 -1
- package/dist/es2017/ArcGISContextState.js +0 -203
- package/dist/es2017/ArcGISContextState.js.map +0 -1
- package/dist/es2017/items/get-model.js +0 -19
- package/dist/es2017/items/get-model.js.map +0 -1
- package/dist/es2017/items/serialize-model.js.map +0 -1
- package/dist/esm/ArcGISContextState.js +0 -285
- package/dist/esm/ArcGISContextState.js.map +0 -1
- package/dist/esm/items/get-model.js +0 -19
- package/dist/esm/items/get-model.js.map +0 -1
- package/dist/esm/items/serialize-model.js.map +0 -1
- package/dist/node/ArcGISContextState.js +0 -207
- package/dist/node/ArcGISContextState.js.map +0 -1
- package/dist/node/items/get-model.js +0 -23
- package/dist/node/items/get-model.js.map +0 -1
- package/dist/node/items/serialize-model.js.map +0 -1
- package/dist/types/ArcGISContextState.d.ts +0 -129
- package/dist/types/items/get-model.d.ts +0 -8
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updateModel = exports.createModel = exports.getModelBySlug = exports.getModel = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
tslib_1.__exportStar(require("./serializeModel"), exports);
|
|
6
|
+
const arcgis_rest_portal_1 = require("@esri/arcgis-rest-portal");
|
|
7
|
+
const __1 = require("..");
|
|
8
|
+
/**
|
|
9
|
+
* Gets the full item/data model for an item id
|
|
10
|
+
* @param {string} id
|
|
11
|
+
* @param {Object} requestOptions
|
|
12
|
+
*/
|
|
13
|
+
function getModel(id, requestOptions) {
|
|
14
|
+
return Promise.all([
|
|
15
|
+
arcgis_rest_portal_1.getItem(id, requestOptions),
|
|
16
|
+
arcgis_rest_portal_1.getItemData(id, requestOptions),
|
|
17
|
+
]).then((result) => {
|
|
18
|
+
// shape this into a model
|
|
19
|
+
return {
|
|
20
|
+
item: result[0],
|
|
21
|
+
data: result[1],
|
|
22
|
+
};
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
exports.getModel = getModel;
|
|
26
|
+
/**
|
|
27
|
+
* Get a model by it's slug
|
|
28
|
+
*
|
|
29
|
+
* This uses the [Filter](https://developers.arcgis.com/rest/users-groups-and-items/search-reference.htm) option of the
|
|
30
|
+
* to search for an item that has a typekeyword of `slug|{slug-value}`
|
|
31
|
+
*
|
|
32
|
+
* This is useful for applications that want to use human-readable urls instead
|
|
33
|
+
* of using item ids.
|
|
34
|
+
*
|
|
35
|
+
* @param slug
|
|
36
|
+
* @param requestOptions
|
|
37
|
+
* @returns
|
|
38
|
+
*/
|
|
39
|
+
function getModelBySlug(slug, requestOptions) {
|
|
40
|
+
return __1.getItemBySlug(slug, requestOptions)
|
|
41
|
+
.then((item) => {
|
|
42
|
+
const prms = [Promise.resolve(item)];
|
|
43
|
+
if (item) {
|
|
44
|
+
prms.push(arcgis_rest_portal_1.getItemData(item.id, requestOptions));
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
prms.push(Promise.resolve(null));
|
|
48
|
+
}
|
|
49
|
+
return Promise.all(prms);
|
|
50
|
+
})
|
|
51
|
+
.then((result) => {
|
|
52
|
+
if (result[0]) {
|
|
53
|
+
return {
|
|
54
|
+
item: result[0],
|
|
55
|
+
data: result[1],
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
exports.getModelBySlug = getModelBySlug;
|
|
64
|
+
/**
|
|
65
|
+
* Create an item to back and IModel.
|
|
66
|
+
*
|
|
67
|
+
* @param {IModel}
|
|
68
|
+
* @param {IRequestOptions} requestOptions
|
|
69
|
+
* @returns {Promise<IModel>}
|
|
70
|
+
*/
|
|
71
|
+
function createModel(model, requestOptions) {
|
|
72
|
+
const clone = __1.cloneObject(model);
|
|
73
|
+
const item = __1.cloneObject(model.item);
|
|
74
|
+
item.data = __1.cloneObject(model.data);
|
|
75
|
+
const opts = Object.assign({ item }, requestOptions);
|
|
76
|
+
return arcgis_rest_portal_1.createItem(opts).then((response) => {
|
|
77
|
+
clone.item.id = response.id;
|
|
78
|
+
clone.item.created = new Date().getTime();
|
|
79
|
+
clone.item.modified = clone.item.created;
|
|
80
|
+
return clone;
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
exports.createModel = createModel;
|
|
84
|
+
/**
|
|
85
|
+
* Update an IModel. Generic function that will be used across all
|
|
86
|
+
* type-specific update functions
|
|
87
|
+
*
|
|
88
|
+
* @export
|
|
89
|
+
* @param {IModel} "model" object (i.e. `{item:{...}, data:{...}}`)
|
|
90
|
+
* @param {IRequestOptions} requestOptions
|
|
91
|
+
* @returns {Promise<IModel>}
|
|
92
|
+
*/
|
|
93
|
+
function updateModel(model, requestOptions) {
|
|
94
|
+
const clone = __1.cloneObject(model);
|
|
95
|
+
const item = __1.cloneObject(model.item);
|
|
96
|
+
item.data = __1.cloneObject(model.data);
|
|
97
|
+
const opts = Object.assign({ item }, requestOptions);
|
|
98
|
+
return arcgis_rest_portal_1.updateItem(opts).then(() => {
|
|
99
|
+
// update the modified prop
|
|
100
|
+
// this won't be exact, but it will be very close
|
|
101
|
+
clone.item.modified = new Date().getTime();
|
|
102
|
+
return clone;
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
exports.updateModel = updateModel;
|
|
106
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serializeModel.js","sourceRoot":"","sources":["../../../src/models/serializeModel.ts"],"names":[],"mappings":";;;AACA,kCAAsC;AAMtC;;;;GAIG;AACH,SAAgB,cAAc,CAAC,KAAa;IAC1C,MAAM,UAAU,GAAG,kBAAW,CAAC,KAAK,CAAC,IAAI,CAAqB,CAAC;IAC/D,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7C,OAAO,UAAU,CAAC;AACpB,CAAC;AAJD,wCAIC"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HubProjectManager = void 0;
|
|
4
|
+
const HubProjects_1 = require("./HubProjects");
|
|
5
|
+
// Node has issues if this is not directly imported
|
|
6
|
+
const ArcGISContextManager_1 = require("../ArcGISContextManager");
|
|
7
|
+
const __1 = require("..");
|
|
8
|
+
/**
|
|
9
|
+
* Centralized functions used to manage IHubProject instances
|
|
10
|
+
*
|
|
11
|
+
* This class is a convenience wrapper over util functions which
|
|
12
|
+
* are also directly accessible for use in scenarios where
|
|
13
|
+
* classes are inconvenient.
|
|
14
|
+
*/
|
|
15
|
+
class HubProjectManager {
|
|
16
|
+
/**
|
|
17
|
+
* Private so we can employ a factory function should we need
|
|
18
|
+
* async work during creation
|
|
19
|
+
* @param contextOrManager
|
|
20
|
+
*/
|
|
21
|
+
constructor(contextOrManager) {
|
|
22
|
+
if (contextOrManager instanceof ArcGISContextManager_1.ArcGISContextManager) {
|
|
23
|
+
this._contextManager = contextOrManager;
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
this._context = contextOrManager;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Factory function to construct a new HubProjectManager instance.
|
|
31
|
+
*
|
|
32
|
+
* Note: Used so that we could do async actions in the ctor.
|
|
33
|
+
* @param contextOrManager
|
|
34
|
+
* @returns
|
|
35
|
+
*/
|
|
36
|
+
static init(contextOrManager) {
|
|
37
|
+
return new HubProjectManager(contextOrManager);
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Getter to abstract how we store the context
|
|
41
|
+
*/
|
|
42
|
+
get context() {
|
|
43
|
+
if (this._contextManager) {
|
|
44
|
+
return this._contextManager.context;
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
return this._context;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Create and store new project.
|
|
52
|
+
*
|
|
53
|
+
* Projects are stored as Items in the Sharing API
|
|
54
|
+
* @param project
|
|
55
|
+
* @param requestOptions
|
|
56
|
+
* @returns
|
|
57
|
+
*/
|
|
58
|
+
async create(project, requestOptions) {
|
|
59
|
+
if (requestOptions || this.context.isAuthenticated) {
|
|
60
|
+
// ammend in the orgUrlKey
|
|
61
|
+
if (!project.orgUrlKey) {
|
|
62
|
+
project.orgUrlKey = this.context.portal.urlKey;
|
|
63
|
+
}
|
|
64
|
+
return HubProjects_1.createProject(project, requestOptions || this.context.userRequestOptions);
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
throw new __1.HubError("Create Project", "Creating Hub Projects requires authentication.");
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Update a project
|
|
72
|
+
* @param project
|
|
73
|
+
* @param requestOptions
|
|
74
|
+
* @returns
|
|
75
|
+
*/
|
|
76
|
+
async update(project, requestOptions) {
|
|
77
|
+
if (requestOptions || this.context.isAuthenticated) {
|
|
78
|
+
return HubProjects_1.updateProject(project, requestOptions || this.context.userRequestOptions);
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
throw new __1.HubError("Update Project", "Updating Hub Projects requires authentication.");
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Destroy a project.
|
|
86
|
+
* This permanently removes the backing Item
|
|
87
|
+
* @param id
|
|
88
|
+
* @param requestOptions
|
|
89
|
+
* @returns
|
|
90
|
+
*/
|
|
91
|
+
async destroy(id, requestOptions) {
|
|
92
|
+
if (requestOptions || this.context.isAuthenticated) {
|
|
93
|
+
return HubProjects_1.destroyProject(id, requestOptions || this.context.userRequestOptions);
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
throw new __1.HubError("Destroy Project", "Destroying Hub Projects requires authentication.");
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Fetch a Project via id or it's slug
|
|
101
|
+
*
|
|
102
|
+
* This function does not require a user to be
|
|
103
|
+
* authenticated, but it does require an `IRequestOptions`
|
|
104
|
+
* which contains the portal instance to communicate with
|
|
105
|
+
* @param identifier
|
|
106
|
+
* @param requestOptions
|
|
107
|
+
* @returns
|
|
108
|
+
*/
|
|
109
|
+
async fetch(identifier, requestOptions) {
|
|
110
|
+
if (requestOptions || this.context.requestOptions) {
|
|
111
|
+
return HubProjects_1.getProject(identifier, requestOptions || this.context.requestOptions);
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
throw new __1.HubError("Get Project", "Can not retrieve context.requestOptions from Context Manager. HubProjectManager is configured incorrectly.");
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
exports.HubProjectManager = HubProjectManager;
|
|
119
|
+
//# sourceMappingURL=HubProjectManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HubProjectManager.js","sourceRoot":"","sources":["../../../src/projects/HubProjectManager.ts"],"names":[],"mappings":";;;AAEA,+CAKuB;AACvB,mDAAmD;AACnD,kEAA+D;AAC/D,0BAA8C;AAG9C;;;;;;GAMG;AACH,MAAa,iBAAiB;IAgB5B;;;;OAIG;IACH,YAAoB,gBAAuD;QACzE,IAAI,gBAAgB,YAAY,2CAAoB,EAAE;YACpD,IAAI,CAAC,eAAe,GAAG,gBAAgB,CAAC;SACzC;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC;SAClC;IACH,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,IAAI,CACT,gBAAuD;QAEvD,OAAO,IAAI,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,IAAY,OAAO;QACjB,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;SACrC;aAAM;YACL,OAAO,IAAI,CAAC,QAAQ,CAAC;SACtB;IACH,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM,CACV,OAA6B,EAC7B,cAAoC;QAEpC,IAAI,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;YAClD,0BAA0B;YAC1B,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;gBACtB,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;aAChD;YACD,OAAO,2BAAa,CAClB,OAAO,EACP,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAClD,CAAC;SACH;aAAM;YACL,MAAM,IAAI,YAAQ,CAChB,gBAAgB,EAChB,gDAAgD,CACjD,CAAC;SACH;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CACV,OAAoB,EACpB,cAAoC;QAEpC,IAAI,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;YAClD,OAAO,2BAAa,CAClB,OAAO,EACP,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAClD,CAAC;SACH;aAAM;YACL,MAAM,IAAI,YAAQ,CAChB,gBAAgB,EAChB,gDAAgD,CACjD,CAAC;SACH;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,OAAO,CACX,EAAU,EACV,cAAoC;QAEpC,IAAI,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;YAClD,OAAO,4BAAc,CACnB,EAAE,EACF,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAClD,CAAC;SACH;aAAM;YACL,MAAM,IAAI,YAAQ,CAChB,iBAAiB,EACjB,kDAAkD,CACnD,CAAC;SACH;IACH,CAAC;IACD;;;;;;;;;OASG;IACH,KAAK,CAAC,KAAK,CACT,UAAkB,EAClB,cAAgC;QAEhC,IAAI,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;YACjD,OAAO,wBAAU,CACf,UAAU,EACV,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,CAC9C,CAAC;SACH;aAAM;YACL,MAAM,IAAI,YAAQ,CAChB,aAAa,EACb,4GAA4G,CAC7G,CAAC;SACH;IACH,CAAC;CAgBF;AAzKD,8CAyKC"}
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.destroyProject = exports.getProject = exports.updateProject = exports.createProject = exports.HUB_PROJECT_ITEM_TYPE = void 0;
|
|
4
|
+
// Note - we separate these imports so we can cleanly spy on things in tests
|
|
5
|
+
const models_1 = require("../models");
|
|
6
|
+
const slugs_1 = require("../items/slugs");
|
|
7
|
+
const __1 = require("..");
|
|
8
|
+
const arcgis_rest_portal_1 = require("@esri/arcgis-rest-portal");
|
|
9
|
+
const PropertyMapper_1 = require("../core/helpers/PropertyMapper");
|
|
10
|
+
exports.HUB_PROJECT_ITEM_TYPE = "Web Mapping Application";
|
|
11
|
+
/**
|
|
12
|
+
* Default values of a IHubProject
|
|
13
|
+
*/
|
|
14
|
+
const DEFAULT_PROJECT = {
|
|
15
|
+
name: "No title provided",
|
|
16
|
+
tags: [],
|
|
17
|
+
typeKeywords: ["IHubProject", "HubProject"],
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Default values for a new HubProject Model
|
|
21
|
+
*/
|
|
22
|
+
const DEFAULT_PROJECT_MODEL = {
|
|
23
|
+
item: {
|
|
24
|
+
type: exports.HUB_PROJECT_ITEM_TYPE,
|
|
25
|
+
title: "No Title Provided",
|
|
26
|
+
description: "No Description Provided",
|
|
27
|
+
snippet: "",
|
|
28
|
+
tags: [],
|
|
29
|
+
typeKeywords: [],
|
|
30
|
+
properties: {
|
|
31
|
+
slug: "",
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
data: {
|
|
35
|
+
display: "about",
|
|
36
|
+
timeline: {},
|
|
37
|
+
org: {},
|
|
38
|
+
status: "inactive",
|
|
39
|
+
contacts: [],
|
|
40
|
+
schemaVersion: 1,
|
|
41
|
+
},
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Returns an Array of IPropertyMap objects
|
|
45
|
+
* We could define these directly, but since the
|
|
46
|
+
* properties of IHubProject map directly to properties
|
|
47
|
+
* on item or data, it's slightly less verbose to
|
|
48
|
+
* generate the structure.
|
|
49
|
+
* @returns
|
|
50
|
+
*/
|
|
51
|
+
function getProjectPropertyMap() {
|
|
52
|
+
const itemProps = [
|
|
53
|
+
"created",
|
|
54
|
+
"culture",
|
|
55
|
+
"description",
|
|
56
|
+
"extent",
|
|
57
|
+
"id",
|
|
58
|
+
"modified",
|
|
59
|
+
"owner",
|
|
60
|
+
"snippet",
|
|
61
|
+
"tags",
|
|
62
|
+
"typeKeywords",
|
|
63
|
+
"url",
|
|
64
|
+
"type",
|
|
65
|
+
];
|
|
66
|
+
const dataProps = [
|
|
67
|
+
"contacts",
|
|
68
|
+
"display",
|
|
69
|
+
"geometry",
|
|
70
|
+
"headerImage",
|
|
71
|
+
"layout",
|
|
72
|
+
"location",
|
|
73
|
+
"status",
|
|
74
|
+
];
|
|
75
|
+
const map = [];
|
|
76
|
+
itemProps.forEach((entry) => {
|
|
77
|
+
map.push({ objectKey: entry, modelKey: `item.${entry}` });
|
|
78
|
+
});
|
|
79
|
+
dataProps.forEach((entry) => {
|
|
80
|
+
map.push({ objectKey: entry, modelKey: `data.${entry}` });
|
|
81
|
+
});
|
|
82
|
+
// Deeper mappings
|
|
83
|
+
map.push({
|
|
84
|
+
objectKey: "slug",
|
|
85
|
+
modelKey: "item.properties.slug",
|
|
86
|
+
});
|
|
87
|
+
map.push({
|
|
88
|
+
objectKey: "orgUrlKey",
|
|
89
|
+
modelKey: "item.properties.orgUrlKey",
|
|
90
|
+
});
|
|
91
|
+
map.push({
|
|
92
|
+
objectKey: "name",
|
|
93
|
+
modelKey: "item.title",
|
|
94
|
+
});
|
|
95
|
+
return map;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Create a new Hub Project item
|
|
99
|
+
*
|
|
100
|
+
* Minimal properties are name and org
|
|
101
|
+
*
|
|
102
|
+
* @param project
|
|
103
|
+
* @param requestOptions
|
|
104
|
+
*/
|
|
105
|
+
async function createProject(partialProject, requestOptions) {
|
|
106
|
+
// merge incoming with the default
|
|
107
|
+
// this expansion solves the typing somehow
|
|
108
|
+
const project = Object.assign(Object.assign({}, DEFAULT_PROJECT), partialProject);
|
|
109
|
+
// Create a slug from the title if one is not passed in
|
|
110
|
+
if (!project.slug) {
|
|
111
|
+
project.slug = slugs_1.constructSlug(project.name, project.orgUrlKey);
|
|
112
|
+
}
|
|
113
|
+
// Ensure slug is unique
|
|
114
|
+
project.slug = await slugs_1.getUniqueSlug(project.slug, requestOptions);
|
|
115
|
+
// add slug to keywords
|
|
116
|
+
project.typeKeywords = slugs_1.setSlugKeyword(project.typeKeywords, project.slug);
|
|
117
|
+
// Map project object onto a default project Model
|
|
118
|
+
const mapper = new PropertyMapper_1.PropertyMapper(getProjectPropertyMap());
|
|
119
|
+
// create model from object, using the default model as a starting point
|
|
120
|
+
let model = mapper.objectToModel(project, __1.cloneObject(DEFAULT_PROJECT_MODEL));
|
|
121
|
+
// create the item
|
|
122
|
+
model = await models_1.createModel(model, requestOptions);
|
|
123
|
+
// map the model back into a IHubProject
|
|
124
|
+
const newProject = mapper.modelToObject(model, {});
|
|
125
|
+
// and return it
|
|
126
|
+
return newProject;
|
|
127
|
+
}
|
|
128
|
+
exports.createProject = createProject;
|
|
129
|
+
/**
|
|
130
|
+
* Update a Hub Project
|
|
131
|
+
* @param project
|
|
132
|
+
* @param requestOptions
|
|
133
|
+
*/
|
|
134
|
+
async function updateProject(project, requestOptions) {
|
|
135
|
+
// verify that the slug is unique
|
|
136
|
+
// TODO: if the slug has not changed, we don't want to do this because
|
|
137
|
+
// the existing item will cause this to increment
|
|
138
|
+
project.slug = await slugs_1.getUniqueSlug(project.slug, requestOptions);
|
|
139
|
+
// get the backing item & data
|
|
140
|
+
const model = await models_1.getModel(project.id, requestOptions);
|
|
141
|
+
// create the PropertyMapper
|
|
142
|
+
const mapper = new PropertyMapper_1.PropertyMapper(getProjectPropertyMap());
|
|
143
|
+
// Note: Although we are fetching the model, and applying changes onto it,
|
|
144
|
+
// we are not attempting to handle "concurrent edit" conflict resolution
|
|
145
|
+
// but this is where we would apply that sort of logic
|
|
146
|
+
const modelToUpdate = mapper.objectToModel(project, model);
|
|
147
|
+
// update the backing item
|
|
148
|
+
const updatedModel = await models_1.updateModel(modelToUpdate, requestOptions);
|
|
149
|
+
// now map back into a project and return that
|
|
150
|
+
const updatedProject = mapper.modelToObject(updatedModel, project);
|
|
151
|
+
// the casting is needed because modelToObject returns a `Partial<T>`
|
|
152
|
+
// where as this function returns a `T`
|
|
153
|
+
return updatedProject;
|
|
154
|
+
}
|
|
155
|
+
exports.updateProject = updateProject;
|
|
156
|
+
/**
|
|
157
|
+
* Get a Hub Project by id or slug
|
|
158
|
+
* @param identifier item id or slug
|
|
159
|
+
* @param requestOptions
|
|
160
|
+
*/
|
|
161
|
+
function getProject(identifier, requestOptions) {
|
|
162
|
+
let getPrms;
|
|
163
|
+
if (__1.isGuid(identifier)) {
|
|
164
|
+
// get item by id
|
|
165
|
+
getPrms = models_1.getModel(identifier, requestOptions);
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
// search for item using filter=typekeywords:slug|identifier
|
|
169
|
+
getPrms = models_1.getModelBySlug(identifier, requestOptions);
|
|
170
|
+
}
|
|
171
|
+
return getPrms.then((model) => {
|
|
172
|
+
// transform the model into a HubProject
|
|
173
|
+
const mapper = new PropertyMapper_1.PropertyMapper(getProjectPropertyMap());
|
|
174
|
+
const project = mapper.modelToObject(model, {});
|
|
175
|
+
return project;
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
exports.getProject = getProject;
|
|
179
|
+
/**
|
|
180
|
+
* Remove a Hub Project
|
|
181
|
+
* @param id
|
|
182
|
+
* @param requestOptions
|
|
183
|
+
*/
|
|
184
|
+
async function destroyProject(id, requestOptions) {
|
|
185
|
+
const ro = Object.assign(Object.assign({}, requestOptions), { id });
|
|
186
|
+
await arcgis_rest_portal_1.removeItem(ro);
|
|
187
|
+
return;
|
|
188
|
+
}
|
|
189
|
+
exports.destroyProject = destroyProject;
|
|
190
|
+
// WIP: Need to resolve how best to execute this
|
|
191
|
+
// i.e. delegate to searchContent or just do an item search
|
|
192
|
+
// and convert to IHubProject objects.
|
|
193
|
+
//
|
|
194
|
+
// export async function searchProjects(
|
|
195
|
+
// filter: Filter<"content">,
|
|
196
|
+
// opts: IHubSearchOptions
|
|
197
|
+
// ): Promise<ISearchResponse<IHubProject>> {
|
|
198
|
+
// return _searchContent(filter, opts).then((results) => {
|
|
199
|
+
// })
|
|
200
|
+
// }
|
|
201
|
+
//# sourceMappingURL=HubProjects.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HubProjects.js","sourceRoot":"","sources":["../../../src/projects/HubProjects.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./HubProjectManager"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./HubProjects"), exports);
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/projects/index.ts"],"names":[],"mappings":";;;AAAA,8DAAoC;AACpC,wDAA8B"}
|
|
@@ -17,13 +17,12 @@ async function _searchContent(filter, options) {
|
|
|
17
17
|
// API
|
|
18
18
|
const api = _1.expandApi(options.api || "arcgis");
|
|
19
19
|
let searchPromise;
|
|
20
|
-
// map over the apis, depending on the type we issue the queries
|
|
21
|
-
// const searchPromises = apis.map((api) => {
|
|
22
20
|
// Portal Search
|
|
23
21
|
if (api.type === "arcgis") {
|
|
24
22
|
// serialize for portal
|
|
25
23
|
const so = content_utils_1.serializeContentFilterForPortal(expanded);
|
|
26
|
-
//
|
|
24
|
+
// if we have auth, pass it forward
|
|
25
|
+
// otherwise set the portal property
|
|
27
26
|
if (options.authentication) {
|
|
28
27
|
so.authentication = options.authentication;
|
|
29
28
|
}
|
|
@@ -36,7 +35,6 @@ async function _searchContent(filter, options) {
|
|
|
36
35
|
so.countSize = 200;
|
|
37
36
|
}
|
|
38
37
|
// copy over various options
|
|
39
|
-
// TODO: Dry this up - typscript makes this... inconvenient
|
|
40
38
|
if (options.num) {
|
|
41
39
|
so.num = options.num;
|
|
42
40
|
}
|
|
@@ -64,8 +62,6 @@ async function _searchContent(filter, options) {
|
|
|
64
62
|
},
|
|
65
63
|
});
|
|
66
64
|
}
|
|
67
|
-
// });
|
|
68
|
-
// return for results
|
|
69
65
|
return searchPromise;
|
|
70
66
|
}
|
|
71
67
|
exports._searchContent = _searchContent;
|
|
@@ -78,12 +74,27 @@ exports._searchContent = _searchContent;
|
|
|
78
74
|
* @returns
|
|
79
75
|
*/
|
|
80
76
|
function searchPortal(searchOptions) {
|
|
77
|
+
var _a;
|
|
78
|
+
const portalUrl = ((_a = searchOptions.authentication) === null || _a === void 0 ? void 0 : _a.portal) || searchOptions.portal;
|
|
79
|
+
let token;
|
|
80
|
+
if (searchOptions.authentication) {
|
|
81
|
+
const us = searchOptions.authentication;
|
|
82
|
+
token = us.token;
|
|
83
|
+
}
|
|
84
|
+
const thumbnailify = (content) => {
|
|
85
|
+
content.thumbnailUrl = __1.getItemThumbnailUrl(content, portalUrl, token);
|
|
86
|
+
return content;
|
|
87
|
+
};
|
|
81
88
|
return arcgis_rest_portal_1.searchItems(searchOptions).then((resp) => {
|
|
82
89
|
const hasNext = resp.nextStart > -1;
|
|
90
|
+
// convert items to IHubContent's
|
|
83
91
|
let content = resp.results.map(__1.itemToContent);
|
|
92
|
+
// if we have a site, add those urls
|
|
84
93
|
if (searchOptions.site) {
|
|
85
94
|
content = content.map((entry) => __1.setContentSiteUrls(entry, searchOptions.site));
|
|
86
95
|
}
|
|
96
|
+
// add thumbnailUrl
|
|
97
|
+
content = content.map(thumbnailify);
|
|
87
98
|
// convert aggregations into facets
|
|
88
99
|
const facets = content_utils_1.convertPortalResponseToFacets(resp);
|
|
89
100
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_searchContent.js","sourceRoot":"","sources":["../../../src/search/_searchContent.ts"],"names":[],"mappings":";;;AAAA,mDAIyB;AAOzB,iEAAuE;AACvE,wBAA+C;AAC/C,
|
|
1
|
+
{"version":3,"file":"_searchContent.js","sourceRoot":"","sources":["../../../src/search/_searchContent.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,25 +14,20 @@ const __1 = require("..");
|
|
|
14
14
|
* @returns
|
|
15
15
|
*/
|
|
16
16
|
async function _searchGroups(filter, options) {
|
|
17
|
-
var _a;
|
|
18
17
|
// expand filter so we can serialize to either api
|
|
19
18
|
const expanded = group_utils_1.expandGroupFilter(filter);
|
|
20
19
|
// API
|
|
21
20
|
const api = _1.expandApi(options.api || "arcgis");
|
|
22
21
|
if (api.type === "arcgis") {
|
|
23
22
|
const so = group_utils_1.serializeGroupFilterForPortal(expanded);
|
|
24
|
-
let token = "";
|
|
25
23
|
// if we have auth, pass it forward
|
|
26
24
|
// otherwise set the portal property
|
|
27
25
|
if (options.authentication) {
|
|
28
26
|
so.authentication = options.authentication;
|
|
29
|
-
const us = options.authentication;
|
|
30
|
-
token = us.token;
|
|
31
27
|
}
|
|
32
28
|
else {
|
|
33
29
|
so.portal = `${api.url}/sharing/rest`;
|
|
34
30
|
}
|
|
35
|
-
// TODO: Dry this up - typscript makes this... inconvenient
|
|
36
31
|
if (options.num) {
|
|
37
32
|
so.num = options.num;
|
|
38
33
|
}
|
|
@@ -42,10 +37,6 @@ async function _searchGroups(filter, options) {
|
|
|
42
37
|
if (options.sortOrder) {
|
|
43
38
|
so.sortOrder = options.sortOrder;
|
|
44
39
|
}
|
|
45
|
-
let portalUrl = `${api.url}/sharing/rest`;
|
|
46
|
-
if ((_a = so.authentication) === null || _a === void 0 ? void 0 : _a.portal) {
|
|
47
|
-
portalUrl = so.authentication.portal;
|
|
48
|
-
}
|
|
49
40
|
if (options.site) {
|
|
50
41
|
so.site = __1.cloneObject(options.site);
|
|
51
42
|
}
|
|
@@ -67,8 +58,7 @@ function searchPortalGroups(searchOptions) {
|
|
|
67
58
|
group.siteTeamUrl = `${searchOptions.site.item.url}/teams/${group.id}/about`;
|
|
68
59
|
return group;
|
|
69
60
|
};
|
|
70
|
-
const portalUrl = ((_a = searchOptions.authentication) === null || _a === void 0 ? void 0 : _a.portal) ||
|
|
71
|
-
"https://www.arcgis.com/sharing/rest";
|
|
61
|
+
const portalUrl = ((_a = searchOptions.authentication) === null || _a === void 0 ? void 0 : _a.portal) || searchOptions.portal;
|
|
72
62
|
let token;
|
|
73
63
|
if (searchOptions.authentication) {
|
|
74
64
|
const us = searchOptions.authentication;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_searchGroups.js","sourceRoot":"","sources":["../../../src/search/_searchGroups.ts"],"names":[],"mappings":";;;AAEA,iEAA6E;AAC7E,wBAA+C;AAC/C,+CAGuB;AAEvB,0BAAwE;AAMxE;;;;;;;GAOG;AACI,KAAK,UAAU,aAAa,CACjC,MAAuB,EACvB,OAA0B
|
|
1
|
+
{"version":3,"file":"_searchGroups.js","sourceRoot":"","sources":["../../../src/search/_searchGroups.ts"],"names":[],"mappings":"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"}
|
|
@@ -366,7 +366,7 @@ exports.getNextFunction = getNextFunction;
|
|
|
366
366
|
* Construct a the full url to a group thumbnail
|
|
367
367
|
*
|
|
368
368
|
* - If the group has a thumbnail, construct the full url
|
|
369
|
-
* - If the group is not public, append on the token
|
|
369
|
+
* - If the group is not public, append on the token (if passed in)
|
|
370
370
|
* @param portalUrl
|
|
371
371
|
* @param group
|
|
372
372
|
* @param token
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Cross-walk from a portalUrl to the corresponding Hub API Url
|
|
4
|
+
*
|
|
5
|
+
* If the passed url is not recognized, then this will return `undefined`
|
|
6
|
+
* @param portalUrl
|
|
7
|
+
* @returns
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.getHubApiFromPortalUrl = void 0;
|
|
11
|
+
function getHubApiFromPortalUrl(portalUrl) {
|
|
12
|
+
let result;
|
|
13
|
+
if (portalUrl.match(/(qaext|\.mapsqa)\.arcgis.com/)) {
|
|
14
|
+
result = "https://hubqa.arcgis.com";
|
|
15
|
+
}
|
|
16
|
+
else if (portalUrl.match(/(devext|\.mapsdevext)\.arcgis.com/)) {
|
|
17
|
+
result = "https://hubdev.arcgis.com";
|
|
18
|
+
}
|
|
19
|
+
else if (portalUrl.match(/(www|\.maps)\.arcgis.com/)) {
|
|
20
|
+
result = "https://hub.arcgis.com";
|
|
21
|
+
}
|
|
22
|
+
return result;
|
|
23
|
+
}
|
|
24
|
+
exports.getHubApiFromPortalUrl = getHubApiFromPortalUrl;
|
|
25
|
+
//# sourceMappingURL=getHubApiFromPortalUrl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getHubApiFromPortalUrl.js","sourceRoot":"","sources":["../../../src/urls/getHubApiFromPortalUrl.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,SAAgB,sBAAsB,CAAC,SAAiB;IACtD,IAAI,MAAM,CAAC;IAEX,IAAI,SAAS,CAAC,KAAK,CAAC,8BAA8B,CAAC,EAAE;QACnD,MAAM,GAAG,0BAA0B,CAAC;KACrC;SAAM,IAAI,SAAS,CAAC,KAAK,CAAC,mCAAmC,CAAC,EAAE;QAC/D,MAAM,GAAG,2BAA2B,CAAC;KACtC;SAAM,IAAI,SAAS,CAAC,KAAK,CAAC,0BAA0B,CAAC,EAAE;QACtD,MAAM,GAAG,wBAAwB,CAAC;KACnC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAZD,wDAYC"}
|