@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,99 @@
|
|
|
1
|
+
import { __assign } from "tslib";
|
|
2
|
+
export * from "./serializeModel";
|
|
3
|
+
import { createItem, getItem, getItemData, updateItem, } from "@esri/arcgis-rest-portal";
|
|
4
|
+
import { cloneObject, getItemBySlug } from "..";
|
|
5
|
+
/**
|
|
6
|
+
* Gets the full item/data model for an item id
|
|
7
|
+
* @param {string} id
|
|
8
|
+
* @param {Object} requestOptions
|
|
9
|
+
*/
|
|
10
|
+
export function getModel(id, requestOptions) {
|
|
11
|
+
return Promise.all([
|
|
12
|
+
getItem(id, requestOptions),
|
|
13
|
+
getItemData(id, requestOptions),
|
|
14
|
+
]).then(function (result) {
|
|
15
|
+
// shape this into a model
|
|
16
|
+
return {
|
|
17
|
+
item: result[0],
|
|
18
|
+
data: result[1],
|
|
19
|
+
};
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Get a model by it's slug
|
|
24
|
+
*
|
|
25
|
+
* This uses the [Filter](https://developers.arcgis.com/rest/users-groups-and-items/search-reference.htm) option of the
|
|
26
|
+
* to search for an item that has a typekeyword of `slug|{slug-value}`
|
|
27
|
+
*
|
|
28
|
+
* This is useful for applications that want to use human-readable urls instead
|
|
29
|
+
* of using item ids.
|
|
30
|
+
*
|
|
31
|
+
* @param slug
|
|
32
|
+
* @param requestOptions
|
|
33
|
+
* @returns
|
|
34
|
+
*/
|
|
35
|
+
export function getModelBySlug(slug, requestOptions) {
|
|
36
|
+
return getItemBySlug(slug, requestOptions)
|
|
37
|
+
.then(function (item) {
|
|
38
|
+
var prms = [Promise.resolve(item)];
|
|
39
|
+
if (item) {
|
|
40
|
+
prms.push(getItemData(item.id, requestOptions));
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
prms.push(Promise.resolve(null));
|
|
44
|
+
}
|
|
45
|
+
return Promise.all(prms);
|
|
46
|
+
})
|
|
47
|
+
.then(function (result) {
|
|
48
|
+
if (result[0]) {
|
|
49
|
+
return {
|
|
50
|
+
item: result[0],
|
|
51
|
+
data: result[1],
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Create an item to back and IModel.
|
|
61
|
+
*
|
|
62
|
+
* @param {IModel}
|
|
63
|
+
* @param {IRequestOptions} requestOptions
|
|
64
|
+
* @returns {Promise<IModel>}
|
|
65
|
+
*/
|
|
66
|
+
export function createModel(model, requestOptions) {
|
|
67
|
+
var clone = cloneObject(model);
|
|
68
|
+
var item = cloneObject(model.item);
|
|
69
|
+
item.data = cloneObject(model.data);
|
|
70
|
+
var opts = __assign({ item: item }, requestOptions);
|
|
71
|
+
return createItem(opts).then(function (response) {
|
|
72
|
+
clone.item.id = response.id;
|
|
73
|
+
clone.item.created = new Date().getTime();
|
|
74
|
+
clone.item.modified = clone.item.created;
|
|
75
|
+
return clone;
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Update an IModel. Generic function that will be used across all
|
|
80
|
+
* type-specific update functions
|
|
81
|
+
*
|
|
82
|
+
* @export
|
|
83
|
+
* @param {IModel} "model" object (i.e. `{item:{...}, data:{...}}`)
|
|
84
|
+
* @param {IRequestOptions} requestOptions
|
|
85
|
+
* @returns {Promise<IModel>}
|
|
86
|
+
*/
|
|
87
|
+
export function updateModel(model, requestOptions) {
|
|
88
|
+
var clone = cloneObject(model);
|
|
89
|
+
var item = cloneObject(model.item);
|
|
90
|
+
item.data = cloneObject(model.data);
|
|
91
|
+
var opts = __assign({ item: item }, requestOptions);
|
|
92
|
+
return updateItem(opts).then(function () {
|
|
93
|
+
// update the modified prop
|
|
94
|
+
// this won't be exact, but it will be very close
|
|
95
|
+
clone.item.modified = new Date().getTime();
|
|
96
|
+
return clone;
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
//# 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,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAMtC;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,IAAM,UAAU,GAAG,WAAW,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"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { __awaiter, __generator } from "tslib";
|
|
2
|
+
import { createProject, updateProject, destroyProject, getProject, } from "./HubProjects";
|
|
3
|
+
// Node has issues if this is not directly imported
|
|
4
|
+
import { ArcGISContextManager } from "../ArcGISContextManager";
|
|
5
|
+
import { HubError } from "..";
|
|
6
|
+
/**
|
|
7
|
+
* Centralized functions used to manage IHubProject instances
|
|
8
|
+
*
|
|
9
|
+
* This class is a convenience wrapper over util functions which
|
|
10
|
+
* are also directly accessible for use in scenarios where
|
|
11
|
+
* classes are inconvenient.
|
|
12
|
+
*/
|
|
13
|
+
var HubProjectManager = /** @class */ (function () {
|
|
14
|
+
/**
|
|
15
|
+
* Private so we can employ a factory function should we need
|
|
16
|
+
* async work during creation
|
|
17
|
+
* @param contextOrManager
|
|
18
|
+
*/
|
|
19
|
+
function HubProjectManager(contextOrManager) {
|
|
20
|
+
if (contextOrManager instanceof ArcGISContextManager) {
|
|
21
|
+
this._contextManager = contextOrManager;
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
this._context = contextOrManager;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Factory function to construct a new HubProjectManager instance.
|
|
29
|
+
*
|
|
30
|
+
* Note: Used so that we could do async actions in the ctor.
|
|
31
|
+
* @param contextOrManager
|
|
32
|
+
* @returns
|
|
33
|
+
*/
|
|
34
|
+
HubProjectManager.init = function (contextOrManager) {
|
|
35
|
+
return new HubProjectManager(contextOrManager);
|
|
36
|
+
};
|
|
37
|
+
Object.defineProperty(HubProjectManager.prototype, "context", {
|
|
38
|
+
/**
|
|
39
|
+
* Getter to abstract how we store the context
|
|
40
|
+
*/
|
|
41
|
+
get: function () {
|
|
42
|
+
if (this._contextManager) {
|
|
43
|
+
return this._contextManager.context;
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
return this._context;
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
enumerable: false,
|
|
50
|
+
configurable: true
|
|
51
|
+
});
|
|
52
|
+
/**
|
|
53
|
+
* Create and store new project.
|
|
54
|
+
*
|
|
55
|
+
* Projects are stored as Items in the Sharing API
|
|
56
|
+
* @param project
|
|
57
|
+
* @param requestOptions
|
|
58
|
+
* @returns
|
|
59
|
+
*/
|
|
60
|
+
HubProjectManager.prototype.create = function (project, requestOptions) {
|
|
61
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
62
|
+
return __generator(this, function (_a) {
|
|
63
|
+
if (requestOptions || this.context.isAuthenticated) {
|
|
64
|
+
// ammend in the orgUrlKey
|
|
65
|
+
if (!project.orgUrlKey) {
|
|
66
|
+
project.orgUrlKey = this.context.portal.urlKey;
|
|
67
|
+
}
|
|
68
|
+
return [2 /*return*/, createProject(project, requestOptions || this.context.userRequestOptions)];
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
throw new HubError("Create Project", "Creating Hub Projects requires authentication.");
|
|
72
|
+
}
|
|
73
|
+
return [2 /*return*/];
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
};
|
|
77
|
+
/**
|
|
78
|
+
* Update a project
|
|
79
|
+
* @param project
|
|
80
|
+
* @param requestOptions
|
|
81
|
+
* @returns
|
|
82
|
+
*/
|
|
83
|
+
HubProjectManager.prototype.update = function (project, requestOptions) {
|
|
84
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
85
|
+
return __generator(this, function (_a) {
|
|
86
|
+
if (requestOptions || this.context.isAuthenticated) {
|
|
87
|
+
return [2 /*return*/, updateProject(project, requestOptions || this.context.userRequestOptions)];
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
throw new HubError("Update Project", "Updating Hub Projects requires authentication.");
|
|
91
|
+
}
|
|
92
|
+
return [2 /*return*/];
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
};
|
|
96
|
+
/**
|
|
97
|
+
* Destroy a project.
|
|
98
|
+
* This permanently removes the backing Item
|
|
99
|
+
* @param id
|
|
100
|
+
* @param requestOptions
|
|
101
|
+
* @returns
|
|
102
|
+
*/
|
|
103
|
+
HubProjectManager.prototype.destroy = function (id, requestOptions) {
|
|
104
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
105
|
+
return __generator(this, function (_a) {
|
|
106
|
+
if (requestOptions || this.context.isAuthenticated) {
|
|
107
|
+
return [2 /*return*/, destroyProject(id, requestOptions || this.context.userRequestOptions)];
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
throw new HubError("Destroy Project", "Destroying Hub Projects requires authentication.");
|
|
111
|
+
}
|
|
112
|
+
return [2 /*return*/];
|
|
113
|
+
});
|
|
114
|
+
});
|
|
115
|
+
};
|
|
116
|
+
/**
|
|
117
|
+
* Fetch a Project via id or it's slug
|
|
118
|
+
*
|
|
119
|
+
* This function does not require a user to be
|
|
120
|
+
* authenticated, but it does require an `IRequestOptions`
|
|
121
|
+
* which contains the portal instance to communicate with
|
|
122
|
+
* @param identifier
|
|
123
|
+
* @param requestOptions
|
|
124
|
+
* @returns
|
|
125
|
+
*/
|
|
126
|
+
HubProjectManager.prototype.fetch = function (identifier, requestOptions) {
|
|
127
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
128
|
+
return __generator(this, function (_a) {
|
|
129
|
+
if (requestOptions || this.context.requestOptions) {
|
|
130
|
+
return [2 /*return*/, getProject(identifier, requestOptions || this.context.requestOptions)];
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
throw new HubError("Get Project", "Can not retrieve context.requestOptions from Context Manager. HubProjectManager is configured incorrectly.");
|
|
134
|
+
}
|
|
135
|
+
return [2 /*return*/];
|
|
136
|
+
});
|
|
137
|
+
});
|
|
138
|
+
};
|
|
139
|
+
return HubProjectManager;
|
|
140
|
+
}());
|
|
141
|
+
export { HubProjectManager };
|
|
142
|
+
//# sourceMappingURL=HubProjectManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HubProjectManager.js","sourceRoot":"","sources":["../../../src/projects/HubProjectManager.ts"],"names":[],"mappings":";AAEA,OAAO,EACL,aAAa,EACb,aAAa,EACb,cAAc,EACd,UAAU,GACX,MAAM,eAAe,CAAC;AACvB,mDAAmD;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAkB,MAAM,IAAI,CAAC;AAG9C;;;;;;GAMG;AACH;IAgBE;;;;OAIG;IACH,2BAAoB,gBAAuD;QACzE,IAAI,gBAAgB,YAAY,oBAAoB,EAAE;YACpD,IAAI,CAAC,eAAe,GAAG,gBAAgB,CAAC;SACzC;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC;SAClC;IACH,CAAC;IAED;;;;;;OAMG;IACI,sBAAI,GAAX,UACE,gBAAuD;QAEvD,OAAO,IAAI,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IACjD,CAAC;IAKD,sBAAY,sCAAO;QAHnB;;WAEG;aACH;YACE,IAAI,IAAI,CAAC,eAAe,EAAE;gBACxB,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;aACrC;iBAAM;gBACL,OAAO,IAAI,CAAC,QAAQ,CAAC;aACtB;QACH,CAAC;;;OAAA;IAED;;;;;;;OAOG;IACG,kCAAM,GAAZ,UACE,OAA6B,EAC7B,cAAoC;;;gBAEpC,IAAI,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;oBAClD,0BAA0B;oBAC1B,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;wBACtB,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;qBAChD;oBACD,sBAAO,aAAa,CAClB,OAAO,EACP,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAClD,EAAC;iBACH;qBAAM;oBACL,MAAM,IAAI,QAAQ,CAChB,gBAAgB,EAChB,gDAAgD,CACjD,CAAC;iBACH;;;;KACF;IAED;;;;;OAKG;IACG,kCAAM,GAAZ,UACE,OAAoB,EACpB,cAAoC;;;gBAEpC,IAAI,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;oBAClD,sBAAO,aAAa,CAClB,OAAO,EACP,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAClD,EAAC;iBACH;qBAAM;oBACL,MAAM,IAAI,QAAQ,CAChB,gBAAgB,EAChB,gDAAgD,CACjD,CAAC;iBACH;;;;KACF;IAED;;;;;;OAMG;IACG,mCAAO,GAAb,UACE,EAAU,EACV,cAAoC;;;gBAEpC,IAAI,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;oBAClD,sBAAO,cAAc,CACnB,EAAE,EACF,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAClD,EAAC;iBACH;qBAAM;oBACL,MAAM,IAAI,QAAQ,CAChB,iBAAiB,EACjB,kDAAkD,CACnD,CAAC;iBACH;;;;KACF;IACD;;;;;;;;;OASG;IACG,iCAAK,GAAX,UACE,UAAkB,EAClB,cAAgC;;;gBAEhC,IAAI,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;oBACjD,sBAAO,UAAU,CACf,UAAU,EACV,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,CAC9C,EAAC;iBACH;qBAAM;oBACL,MAAM,IAAI,QAAQ,CAChB,aAAa,EACb,4GAA4G,CAC7G,CAAC;iBACH;;;;KACF;IAgBH,wBAAC;AAAD,CAAC,AAzKD,IAyKC"}
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
import { __assign, __awaiter, __generator } from "tslib";
|
|
2
|
+
// Note - we separate these imports so we can cleanly spy on things in tests
|
|
3
|
+
import { createModel, getModel, getModelBySlug, updateModel } from "../models";
|
|
4
|
+
import { constructSlug, getUniqueSlug, setSlugKeyword } from "../items/slugs";
|
|
5
|
+
import { isGuid, cloneObject, } from "..";
|
|
6
|
+
import { removeItem } from "@esri/arcgis-rest-portal";
|
|
7
|
+
import { PropertyMapper } from "../core/helpers/PropertyMapper";
|
|
8
|
+
export var HUB_PROJECT_ITEM_TYPE = "Web Mapping Application";
|
|
9
|
+
/**
|
|
10
|
+
* Default values of a IHubProject
|
|
11
|
+
*/
|
|
12
|
+
var DEFAULT_PROJECT = {
|
|
13
|
+
name: "No title provided",
|
|
14
|
+
tags: [],
|
|
15
|
+
typeKeywords: ["IHubProject", "HubProject"],
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Default values for a new HubProject Model
|
|
19
|
+
*/
|
|
20
|
+
var DEFAULT_PROJECT_MODEL = {
|
|
21
|
+
item: {
|
|
22
|
+
type: HUB_PROJECT_ITEM_TYPE,
|
|
23
|
+
title: "No Title Provided",
|
|
24
|
+
description: "No Description Provided",
|
|
25
|
+
snippet: "",
|
|
26
|
+
tags: [],
|
|
27
|
+
typeKeywords: [],
|
|
28
|
+
properties: {
|
|
29
|
+
slug: "",
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
data: {
|
|
33
|
+
display: "about",
|
|
34
|
+
timeline: {},
|
|
35
|
+
org: {},
|
|
36
|
+
status: "inactive",
|
|
37
|
+
contacts: [],
|
|
38
|
+
schemaVersion: 1,
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Returns an Array of IPropertyMap objects
|
|
43
|
+
* We could define these directly, but since the
|
|
44
|
+
* properties of IHubProject map directly to properties
|
|
45
|
+
* on item or data, it's slightly less verbose to
|
|
46
|
+
* generate the structure.
|
|
47
|
+
* @returns
|
|
48
|
+
*/
|
|
49
|
+
function getProjectPropertyMap() {
|
|
50
|
+
var itemProps = [
|
|
51
|
+
"created",
|
|
52
|
+
"culture",
|
|
53
|
+
"description",
|
|
54
|
+
"extent",
|
|
55
|
+
"id",
|
|
56
|
+
"modified",
|
|
57
|
+
"owner",
|
|
58
|
+
"snippet",
|
|
59
|
+
"tags",
|
|
60
|
+
"typeKeywords",
|
|
61
|
+
"url",
|
|
62
|
+
"type",
|
|
63
|
+
];
|
|
64
|
+
var dataProps = [
|
|
65
|
+
"contacts",
|
|
66
|
+
"display",
|
|
67
|
+
"geometry",
|
|
68
|
+
"headerImage",
|
|
69
|
+
"layout",
|
|
70
|
+
"location",
|
|
71
|
+
"status",
|
|
72
|
+
];
|
|
73
|
+
var map = [];
|
|
74
|
+
itemProps.forEach(function (entry) {
|
|
75
|
+
map.push({ objectKey: entry, modelKey: "item." + entry });
|
|
76
|
+
});
|
|
77
|
+
dataProps.forEach(function (entry) {
|
|
78
|
+
map.push({ objectKey: entry, modelKey: "data." + entry });
|
|
79
|
+
});
|
|
80
|
+
// Deeper mappings
|
|
81
|
+
map.push({
|
|
82
|
+
objectKey: "slug",
|
|
83
|
+
modelKey: "item.properties.slug",
|
|
84
|
+
});
|
|
85
|
+
map.push({
|
|
86
|
+
objectKey: "orgUrlKey",
|
|
87
|
+
modelKey: "item.properties.orgUrlKey",
|
|
88
|
+
});
|
|
89
|
+
map.push({
|
|
90
|
+
objectKey: "name",
|
|
91
|
+
modelKey: "item.title",
|
|
92
|
+
});
|
|
93
|
+
return map;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Create a new Hub Project item
|
|
97
|
+
*
|
|
98
|
+
* Minimal properties are name and org
|
|
99
|
+
*
|
|
100
|
+
* @param project
|
|
101
|
+
* @param requestOptions
|
|
102
|
+
*/
|
|
103
|
+
export function createProject(partialProject, requestOptions) {
|
|
104
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
105
|
+
var project, _a, mapper, model, newProject;
|
|
106
|
+
return __generator(this, function (_b) {
|
|
107
|
+
switch (_b.label) {
|
|
108
|
+
case 0:
|
|
109
|
+
project = __assign(__assign({}, DEFAULT_PROJECT), partialProject);
|
|
110
|
+
// Create a slug from the title if one is not passed in
|
|
111
|
+
if (!project.slug) {
|
|
112
|
+
project.slug = constructSlug(project.name, project.orgUrlKey);
|
|
113
|
+
}
|
|
114
|
+
// Ensure slug is unique
|
|
115
|
+
_a = project;
|
|
116
|
+
return [4 /*yield*/, getUniqueSlug(project.slug, requestOptions)];
|
|
117
|
+
case 1:
|
|
118
|
+
// Ensure slug is unique
|
|
119
|
+
_a.slug = _b.sent();
|
|
120
|
+
// add slug to keywords
|
|
121
|
+
project.typeKeywords = setSlugKeyword(project.typeKeywords, project.slug);
|
|
122
|
+
mapper = new PropertyMapper(getProjectPropertyMap());
|
|
123
|
+
model = mapper.objectToModel(project, cloneObject(DEFAULT_PROJECT_MODEL));
|
|
124
|
+
return [4 /*yield*/, createModel(model, requestOptions)];
|
|
125
|
+
case 2:
|
|
126
|
+
// create the item
|
|
127
|
+
model = _b.sent();
|
|
128
|
+
newProject = mapper.modelToObject(model, {});
|
|
129
|
+
// and return it
|
|
130
|
+
return [2 /*return*/, newProject];
|
|
131
|
+
}
|
|
132
|
+
});
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Update a Hub Project
|
|
137
|
+
* @param project
|
|
138
|
+
* @param requestOptions
|
|
139
|
+
*/
|
|
140
|
+
export function updateProject(project, requestOptions) {
|
|
141
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
142
|
+
var _a, model, mapper, modelToUpdate, updatedModel, updatedProject;
|
|
143
|
+
return __generator(this, function (_b) {
|
|
144
|
+
switch (_b.label) {
|
|
145
|
+
case 0:
|
|
146
|
+
// verify that the slug is unique
|
|
147
|
+
// TODO: if the slug has not changed, we don't want to do this because
|
|
148
|
+
// the existing item will cause this to increment
|
|
149
|
+
_a = project;
|
|
150
|
+
return [4 /*yield*/, getUniqueSlug(project.slug, requestOptions)];
|
|
151
|
+
case 1:
|
|
152
|
+
// verify that the slug is unique
|
|
153
|
+
// TODO: if the slug has not changed, we don't want to do this because
|
|
154
|
+
// the existing item will cause this to increment
|
|
155
|
+
_a.slug = _b.sent();
|
|
156
|
+
return [4 /*yield*/, getModel(project.id, requestOptions)];
|
|
157
|
+
case 2:
|
|
158
|
+
model = _b.sent();
|
|
159
|
+
mapper = new PropertyMapper(getProjectPropertyMap());
|
|
160
|
+
modelToUpdate = mapper.objectToModel(project, model);
|
|
161
|
+
return [4 /*yield*/, updateModel(modelToUpdate, requestOptions)];
|
|
162
|
+
case 3:
|
|
163
|
+
updatedModel = _b.sent();
|
|
164
|
+
updatedProject = mapper.modelToObject(updatedModel, project);
|
|
165
|
+
// the casting is needed because modelToObject returns a `Partial<T>`
|
|
166
|
+
// where as this function returns a `T`
|
|
167
|
+
return [2 /*return*/, updatedProject];
|
|
168
|
+
}
|
|
169
|
+
});
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Get a Hub Project by id or slug
|
|
174
|
+
* @param identifier item id or slug
|
|
175
|
+
* @param requestOptions
|
|
176
|
+
*/
|
|
177
|
+
export function getProject(identifier, requestOptions) {
|
|
178
|
+
var getPrms;
|
|
179
|
+
if (isGuid(identifier)) {
|
|
180
|
+
// get item by id
|
|
181
|
+
getPrms = getModel(identifier, requestOptions);
|
|
182
|
+
}
|
|
183
|
+
else {
|
|
184
|
+
// search for item using filter=typekeywords:slug|identifier
|
|
185
|
+
getPrms = getModelBySlug(identifier, requestOptions);
|
|
186
|
+
}
|
|
187
|
+
return getPrms.then(function (model) {
|
|
188
|
+
// transform the model into a HubProject
|
|
189
|
+
var mapper = new PropertyMapper(getProjectPropertyMap());
|
|
190
|
+
var project = mapper.modelToObject(model, {});
|
|
191
|
+
return project;
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Remove a Hub Project
|
|
196
|
+
* @param id
|
|
197
|
+
* @param requestOptions
|
|
198
|
+
*/
|
|
199
|
+
export function destroyProject(id, requestOptions) {
|
|
200
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
201
|
+
var ro;
|
|
202
|
+
return __generator(this, function (_a) {
|
|
203
|
+
switch (_a.label) {
|
|
204
|
+
case 0:
|
|
205
|
+
ro = __assign(__assign({}, requestOptions), { id: id });
|
|
206
|
+
return [4 /*yield*/, removeItem(ro)];
|
|
207
|
+
case 1:
|
|
208
|
+
_a.sent();
|
|
209
|
+
return [2 /*return*/];
|
|
210
|
+
}
|
|
211
|
+
});
|
|
212
|
+
});
|
|
213
|
+
}
|
|
214
|
+
// WIP: Need to resolve how best to execute this
|
|
215
|
+
// i.e. delegate to searchContent or just do an item search
|
|
216
|
+
// and convert to IHubProject objects.
|
|
217
|
+
//
|
|
218
|
+
// export async function searchProjects(
|
|
219
|
+
// filter: Filter<"content">,
|
|
220
|
+
// opts: IHubSearchOptions
|
|
221
|
+
// ): Promise<ISearchResponse<IHubProject>> {
|
|
222
|
+
// return _searchContent(filter, opts).then((results) => {
|
|
223
|
+
// })
|
|
224
|
+
// }
|
|
225
|
+
//# 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 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/projects/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC"}
|
|
@@ -2,7 +2,7 @@ import { __awaiter, __generator } from "tslib";
|
|
|
2
2
|
import { expandContentFilter, serializeContentFilterForPortal, convertPortalResponseToFacets, } from "./content-utils";
|
|
3
3
|
import { searchItems } from "@esri/arcgis-rest-portal";
|
|
4
4
|
import { expandApi, getNextFunction } from ".";
|
|
5
|
-
import { cloneObject, itemToContent, setContentSiteUrls, } from "..";
|
|
5
|
+
import { cloneObject, getItemThumbnailUrl, itemToContent, setContentSiteUrls, } from "..";
|
|
6
6
|
/**
|
|
7
7
|
* Search for content via the Portal or Hub API
|
|
8
8
|
* @param filter
|
|
@@ -15,12 +15,11 @@ export function _searchContent(filter, options) {
|
|
|
15
15
|
return __generator(this, function (_b) {
|
|
16
16
|
expanded = expandContentFilter(filter);
|
|
17
17
|
api = expandApi(options.api || "arcgis");
|
|
18
|
-
// map over the apis, depending on the type we issue the queries
|
|
19
|
-
// const searchPromises = apis.map((api) => {
|
|
20
18
|
// Portal Search
|
|
21
19
|
if (api.type === "arcgis") {
|
|
22
20
|
so = serializeContentFilterForPortal(expanded);
|
|
23
|
-
//
|
|
21
|
+
// if we have auth, pass it forward
|
|
22
|
+
// otherwise set the portal property
|
|
24
23
|
if (options.authentication) {
|
|
25
24
|
so.authentication = options.authentication;
|
|
26
25
|
}
|
|
@@ -33,7 +32,6 @@ export function _searchContent(filter, options) {
|
|
|
33
32
|
so.countSize = 200;
|
|
34
33
|
}
|
|
35
34
|
// copy over various options
|
|
36
|
-
// TODO: Dry this up - typscript makes this... inconvenient
|
|
37
35
|
if (options.num) {
|
|
38
36
|
so.num = options.num;
|
|
39
37
|
}
|
|
@@ -61,8 +59,6 @@ export function _searchContent(filter, options) {
|
|
|
61
59
|
},
|
|
62
60
|
});
|
|
63
61
|
}
|
|
64
|
-
// });
|
|
65
|
-
// return for results
|
|
66
62
|
return [2 /*return*/, searchPromise];
|
|
67
63
|
});
|
|
68
64
|
});
|
|
@@ -76,14 +72,29 @@ export function _searchContent(filter, options) {
|
|
|
76
72
|
* @returns
|
|
77
73
|
*/
|
|
78
74
|
function searchPortal(searchOptions) {
|
|
75
|
+
var _a;
|
|
76
|
+
var portalUrl = ((_a = searchOptions.authentication) === null || _a === void 0 ? void 0 : _a.portal) || searchOptions.portal;
|
|
77
|
+
var token;
|
|
78
|
+
if (searchOptions.authentication) {
|
|
79
|
+
var us = searchOptions.authentication;
|
|
80
|
+
token = us.token;
|
|
81
|
+
}
|
|
82
|
+
var thumbnailify = function (content) {
|
|
83
|
+
content.thumbnailUrl = getItemThumbnailUrl(content, portalUrl, token);
|
|
84
|
+
return content;
|
|
85
|
+
};
|
|
79
86
|
return searchItems(searchOptions).then(function (resp) {
|
|
80
87
|
var hasNext = resp.nextStart > -1;
|
|
88
|
+
// convert items to IHubContent's
|
|
81
89
|
var content = resp.results.map(itemToContent);
|
|
90
|
+
// if we have a site, add those urls
|
|
82
91
|
if (searchOptions.site) {
|
|
83
92
|
content = content.map(function (entry) {
|
|
84
93
|
return setContentSiteUrls(entry, searchOptions.site);
|
|
85
94
|
});
|
|
86
95
|
}
|
|
96
|
+
// add thumbnailUrl
|
|
97
|
+
content = content.map(thumbnailify);
|
|
87
98
|
// convert aggregations into facets
|
|
88
99
|
var facets = convertPortalResponseToFacets(resp);
|
|
89
100
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_searchContent.js","sourceRoot":"","sources":["../../../src/search/_searchContent.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,mBAAmB,EACnB,+BAA+B,EAC/B,6BAA6B,GAC9B,MAAM,iBAAiB,CAAC;AAOzB,OAAO,EAAkB,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,GAAG,CAAC;AAC/C,OAAO,EACL,WAAW,
|
|
1
|
+
{"version":3,"file":"_searchContent.js","sourceRoot":"","sources":["../../../src/search/_searchContent.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,26 +12,21 @@ import { cloneObject, getGroupThumbnailUrl } from "..";
|
|
|
12
12
|
* @returns
|
|
13
13
|
*/
|
|
14
14
|
export function _searchGroups(filter, options) {
|
|
15
|
-
var _a;
|
|
16
15
|
return __awaiter(this, void 0, void 0, function () {
|
|
17
|
-
var expanded, api, so
|
|
18
|
-
return __generator(this, function (
|
|
16
|
+
var expanded, api, so;
|
|
17
|
+
return __generator(this, function (_a) {
|
|
19
18
|
expanded = expandGroupFilter(filter);
|
|
20
19
|
api = expandApi(options.api || "arcgis");
|
|
21
20
|
if (api.type === "arcgis") {
|
|
22
21
|
so = serializeGroupFilterForPortal(expanded);
|
|
23
|
-
token = "";
|
|
24
22
|
// if we have auth, pass it forward
|
|
25
23
|
// otherwise set the portal property
|
|
26
24
|
if (options.authentication) {
|
|
27
25
|
so.authentication = options.authentication;
|
|
28
|
-
us = options.authentication;
|
|
29
|
-
token = us.token;
|
|
30
26
|
}
|
|
31
27
|
else {
|
|
32
28
|
so.portal = api.url + "/sharing/rest";
|
|
33
29
|
}
|
|
34
|
-
// TODO: Dry this up - typscript makes this... inconvenient
|
|
35
30
|
if (options.num) {
|
|
36
31
|
so.num = options.num;
|
|
37
32
|
}
|
|
@@ -41,10 +36,6 @@ export function _searchGroups(filter, options) {
|
|
|
41
36
|
if (options.sortOrder) {
|
|
42
37
|
so.sortOrder = options.sortOrder;
|
|
43
38
|
}
|
|
44
|
-
portalUrl = api.url + "/sharing/rest";
|
|
45
|
-
if ((_a = so.authentication) === null || _a === void 0 ? void 0 : _a.portal) {
|
|
46
|
-
portalUrl = so.authentication.portal;
|
|
47
|
-
}
|
|
48
39
|
if (options.site) {
|
|
49
40
|
so.site = cloneObject(options.site);
|
|
50
41
|
}
|
|
@@ -68,8 +59,7 @@ function searchPortalGroups(searchOptions) {
|
|
|
68
59
|
group.siteTeamUrl = searchOptions.site.item.url + "/teams/" + group.id + "/about";
|
|
69
60
|
return group;
|
|
70
61
|
};
|
|
71
|
-
var portalUrl = ((_a = searchOptions.authentication) === null || _a === void 0 ? void 0 : _a.portal) ||
|
|
72
|
-
"https://www.arcgis.com/sharing/rest";
|
|
62
|
+
var portalUrl = ((_a = searchOptions.authentication) === null || _a === void 0 ? void 0 : _a.portal) || searchOptions.portal;
|
|
73
63
|
var token;
|
|
74
64
|
if (searchOptions.authentication) {
|
|
75
65
|
var us = searchOptions.authentication;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_searchGroups.js","sourceRoot":"","sources":["../../../src/search/_searchGroups.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,IAAI,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,GAAG,CAAC;AAC/C,OAAO,EACL,iBAAiB,EACjB,6BAA6B,GAC9B,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAmB,MAAM,IAAI,CAAC;AAMxE;;;;;;;GAOG;AACH,MAAM,UAAgB,aAAa,CACjC,MAAuB,EACvB,OAA0B
|
|
1
|
+
{"version":3,"file":"_searchGroups.js","sourceRoot":"","sources":["../../../src/search/_searchGroups.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/search/utils.js
CHANGED
|
@@ -349,7 +349,7 @@ export function getNextFunction(request, nextStart, total, fn) {
|
|
|
349
349
|
* Construct a the full url to a group thumbnail
|
|
350
350
|
*
|
|
351
351
|
* - If the group has a thumbnail, construct the full url
|
|
352
|
-
* - If the group is not public, append on the token
|
|
352
|
+
* - If the group is not public, append on the token (if passed in)
|
|
353
353
|
* @param portalUrl
|
|
354
354
|
* @param group
|
|
355
355
|
* @param token
|