@esri/hub-common 9.14.1 → 9.15.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 +11 -0
- package/dist/es2017/ArcGISContext.js.map +1 -1
- package/dist/es2017/ArcGISContextManager.js +13 -5
- package/dist/es2017/ArcGISContextManager.js.map +1 -1
- 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.map +1 -1
- package/dist/es2017/content/index.js +13 -14
- 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 -6
- 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/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 +15 -0
- package/dist/esm/ArcGISContext.js.map +1 -1
- package/dist/esm/ArcGISContextManager.js +13 -5
- package/dist/esm/ArcGISContextManager.js.map +1 -1
- 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.map +1 -1
- package/dist/esm/content/index.js +13 -14
- 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 -6
- 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/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 +11 -0
- package/dist/node/ArcGISContext.js.map +1 -1
- package/dist/node/ArcGISContextManager.js +13 -5
- package/dist/node/ArcGISContextManager.js.map +1 -1
- 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.map +1 -1
- package/dist/node/content/index.js +13 -14
- 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 -6
- 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/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 +16 -1
- package/dist/types/ArcGISContextManager.d.ts +14 -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 +57 -38
- package/dist/types/content/index.d.ts +8 -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 -6
- 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/types.d.ts +2 -92
- package/dist/types/utils/dasherize.d.ts +17 -0
- package/dist/types/utils/index.d.ts +1 -0
- package/dist/umd/common.umd.js +4557 -3687
- 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/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/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/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/items/get-model.d.ts +0 -8
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { IModel } from "../..";
|
|
2
|
+
/**
|
|
3
|
+
* Manage forward and backward property mappings to
|
|
4
|
+
* streamline conversion between the Hub entities, and
|
|
5
|
+
* the backing IModel
|
|
6
|
+
*/
|
|
7
|
+
export declare class PropertyMapper<T> {
|
|
8
|
+
mappings: IPropertyMap[];
|
|
9
|
+
/**
|
|
10
|
+
* Pass in the mappings between the Entity and
|
|
11
|
+
* it's backing structure (model or otherwise)
|
|
12
|
+
* @param mappings
|
|
13
|
+
*/
|
|
14
|
+
constructor(mappings: IPropertyMap[]);
|
|
15
|
+
/**
|
|
16
|
+
* Map properties from a model on to the entity object.
|
|
17
|
+
*
|
|
18
|
+
* Used when constructing an entity can from a fetched model,
|
|
19
|
+
* in which case the entity should be an empty object (`{}`).
|
|
20
|
+
*
|
|
21
|
+
* Can also be used to apply changes to an entity from a model,
|
|
22
|
+
* in which case an existing entity can be passed in.
|
|
23
|
+
* @param model
|
|
24
|
+
* @param object
|
|
25
|
+
* @returns
|
|
26
|
+
*/
|
|
27
|
+
modelToObject(model: IModel, object: T): T;
|
|
28
|
+
/**
|
|
29
|
+
* Map properties from an entity object onto a model.
|
|
30
|
+
*
|
|
31
|
+
* Typically the model will already exist, and this
|
|
32
|
+
* method is used to transfer changes to the model
|
|
33
|
+
* prior to storage.
|
|
34
|
+
* @param object
|
|
35
|
+
* @param model
|
|
36
|
+
* @returns
|
|
37
|
+
*/
|
|
38
|
+
objectToModel(object: T, model: IModel): IModel;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Property Map Entry that provides a cross-walk
|
|
42
|
+
* between a property path (`name`) on the "object"
|
|
43
|
+
* to a property path on a model (`item.title`).
|
|
44
|
+
*
|
|
45
|
+
* This enables autmatic mapping of properties between
|
|
46
|
+
* the two types of objects.
|
|
47
|
+
*/
|
|
48
|
+
export interface IPropertyMap {
|
|
49
|
+
objectKey: string;
|
|
50
|
+
modelKey: string;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Generic function to apply properties from an Object
|
|
54
|
+
* (i.e. IHubProject) onto a Model that can be persisted to an Item
|
|
55
|
+
* @param object
|
|
56
|
+
* @param model
|
|
57
|
+
* @param mappings
|
|
58
|
+
* @returns
|
|
59
|
+
*/
|
|
60
|
+
export declare function mapObjectToModel<T>(object: T, model: IModel, mappings: IPropertyMap[]): IModel;
|
|
61
|
+
/**
|
|
62
|
+
* Generic function to apply properties from a Model
|
|
63
|
+
* onto an Object (i.e. IHubProject etc)
|
|
64
|
+
* @param model
|
|
65
|
+
* @param object
|
|
66
|
+
* @param mappings
|
|
67
|
+
* @returns
|
|
68
|
+
*/
|
|
69
|
+
export declare function mapModelToObject<T>(model: IModel, object: T, mappings: IPropertyMap[]): T;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { IUserRequestOptions } from "@esri/arcgis-rest-auth";
|
|
2
|
+
import { IHubImage, IHubImageOptions } from "../types/IHubImage";
|
|
3
|
+
/**
|
|
4
|
+
* WithBannerImage Trait
|
|
5
|
+
* Adds a .bannerImage property
|
|
6
|
+
*/
|
|
7
|
+
export interface IWithBannerImage {
|
|
8
|
+
/**
|
|
9
|
+
* Banner Image as IHubImage
|
|
10
|
+
*/
|
|
11
|
+
bannerImage?: IHubImage;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Defines functions for working with Banner Images
|
|
15
|
+
*/
|
|
16
|
+
export interface IWithBannerImageStore {
|
|
17
|
+
/**
|
|
18
|
+
* Store a banner image
|
|
19
|
+
* @param id
|
|
20
|
+
* @param opts
|
|
21
|
+
* @param ro
|
|
22
|
+
*/
|
|
23
|
+
setBannerImage(id: string, opts: IHubImageOptions, ro: IUserRequestOptions): Promise<IHubImage>;
|
|
24
|
+
/**
|
|
25
|
+
* Clear a banner image
|
|
26
|
+
* @param id
|
|
27
|
+
* @param ro
|
|
28
|
+
*/
|
|
29
|
+
clearBannerImage(id: string, ro: IUserRequestOptions): Promise<void>;
|
|
30
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { IUserRequestOptions } from "@esri/arcgis-rest-auth";
|
|
2
|
+
import { IRequestOptions } from "@esri/arcgis-rest-request";
|
|
3
|
+
import { IHubLayout } from "../types/IHubLayout";
|
|
4
|
+
/**
|
|
5
|
+
* Properties associated with a Layout
|
|
6
|
+
*/
|
|
7
|
+
export interface IWithLayout {
|
|
8
|
+
/**
|
|
9
|
+
* Layout property
|
|
10
|
+
*/
|
|
11
|
+
layout?: IHubLayout;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Defined layout related functions that a module
|
|
15
|
+
* working with IWithLayout objects must implement
|
|
16
|
+
*/
|
|
17
|
+
export interface IWithLayoutStore {
|
|
18
|
+
/**
|
|
19
|
+
* Given a version name, copy that into the item's /data
|
|
20
|
+
* making it the "active version"
|
|
21
|
+
* @param id
|
|
22
|
+
* @param ro
|
|
23
|
+
*/
|
|
24
|
+
setActiveVersion(id: string, ro: IUserRequestOptions): Promise<void>;
|
|
25
|
+
/**
|
|
26
|
+
* Return a list of all the versions by name
|
|
27
|
+
* @param id
|
|
28
|
+
* @param ro
|
|
29
|
+
*/
|
|
30
|
+
listVersions(id: string, ro: IRequestOptions): Promise<string[]>;
|
|
31
|
+
/**
|
|
32
|
+
* Destroy the resource backing a version
|
|
33
|
+
* @param id
|
|
34
|
+
* @param name
|
|
35
|
+
* @param ro
|
|
36
|
+
*/
|
|
37
|
+
destroyVersion(id: string, name: string, ro: IUserRequestOptions): Promise<void>;
|
|
38
|
+
/**
|
|
39
|
+
* Store a version as a resource, with the given name
|
|
40
|
+
* @param id
|
|
41
|
+
* @param name
|
|
42
|
+
* @param layout
|
|
43
|
+
* @param ro
|
|
44
|
+
*/
|
|
45
|
+
saveVersion(id: string, name: string, layout: IHubLayout, ro: IUserRequestOptions): Promise<void>;
|
|
46
|
+
/**
|
|
47
|
+
* Fetch the layout from a specific version.
|
|
48
|
+
* Used when editing a specific version.
|
|
49
|
+
* @param id
|
|
50
|
+
* @param name
|
|
51
|
+
* @param ro
|
|
52
|
+
*/
|
|
53
|
+
loadVersion(id: string, name: string, ro: IRequestOptions): Promise<IHubLayout>;
|
|
54
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Adds slug and related properties
|
|
3
|
+
*/
|
|
4
|
+
export interface IWithSlug {
|
|
5
|
+
/**
|
|
6
|
+
* Slug that can be used to lookup an entity
|
|
7
|
+
* by something other than it's id
|
|
8
|
+
*/
|
|
9
|
+
slug?: string;
|
|
10
|
+
/**
|
|
11
|
+
* Organization urlKey used to construct the
|
|
12
|
+
* slug
|
|
13
|
+
*/
|
|
14
|
+
orgUrlKey: string;
|
|
15
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { IFeatureServiceDefinition, ILayerDefinition } from "@esri/arcgis-rest-feature-layer";
|
|
2
|
+
import { IItemEnrichments } from "./IItemEnrichments";
|
|
3
|
+
export interface IContentEnrichments extends IItemEnrichments {
|
|
4
|
+
/** Information about the service referenced by this content (currentVersion, capabilities, maxRecordCount etc) */
|
|
5
|
+
server?: Partial<IFeatureServiceDefinition>;
|
|
6
|
+
/** Detailed information about the service's layers (geometryType, fields, etc) for related layers in the service */
|
|
7
|
+
layers?: Array<Partial<ILayerDefinition>>;
|
|
8
|
+
/** The count of records for the layer referenced by this content */
|
|
9
|
+
recordCount?: number;
|
|
10
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { IItem, IGroup } from "@esri/arcgis-rest-portal";
|
|
2
|
+
import { ILayerDefinition } from "@esri/arcgis-rest-feature-layer";
|
|
3
|
+
import { Visibility, AccessControl, HubFamily, IActionLink, IStructuredLicense } from "../..";
|
|
4
|
+
import { IHubItemEntity } from ".";
|
|
5
|
+
import { IContentEnrichments } from "./IContentEnrichments";
|
|
6
|
+
/**
|
|
7
|
+
* Data model for content
|
|
8
|
+
*/
|
|
9
|
+
export interface IHubContent extends IHubItemEntity, IContentEnrichments, IItem {
|
|
10
|
+
/**
|
|
11
|
+
* The underlying portal item referenced by this content
|
|
12
|
+
*/
|
|
13
|
+
item: IItem;
|
|
14
|
+
/**
|
|
15
|
+
* Slug that can be used to lookup an entity
|
|
16
|
+
* by something other than it's id
|
|
17
|
+
*/
|
|
18
|
+
slug?: string;
|
|
19
|
+
/**
|
|
20
|
+
* The content's ID for use with the Hub API
|
|
21
|
+
* For most content this will be the item's id
|
|
22
|
+
* For layers this will be `<itemId>_<layerId>`
|
|
23
|
+
* This will be undefined for private items and in enterprise
|
|
24
|
+
* because only public online items are included in the Hub API
|
|
25
|
+
*/
|
|
26
|
+
hubId?: string;
|
|
27
|
+
/**
|
|
28
|
+
* The preferred identifier to use for Hub URLs.
|
|
29
|
+
* This will be either the slug, hubId, or item id.
|
|
30
|
+
*/
|
|
31
|
+
identifier: string;
|
|
32
|
+
/**
|
|
33
|
+
* Content visibility and access control, including groups
|
|
34
|
+
*/
|
|
35
|
+
permissions: {
|
|
36
|
+
/** Visibility of the content */
|
|
37
|
+
visibility: Visibility;
|
|
38
|
+
/** Current user's control over the content */
|
|
39
|
+
control?: AccessControl;
|
|
40
|
+
/** The groups that have access to the item (as far as you know) */
|
|
41
|
+
groups?: IGroup[];
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* The the family of related types that this content belongs to.
|
|
45
|
+
*/
|
|
46
|
+
family?: HubFamily;
|
|
47
|
+
/** Parsed item categories (see parseItemCategories) */
|
|
48
|
+
categories?: string[];
|
|
49
|
+
/** Whether the content is downloadable in the Hub app */
|
|
50
|
+
isDownloadable: boolean;
|
|
51
|
+
/** The content's structured license info */
|
|
52
|
+
structuredLicense?: IStructuredLicense;
|
|
53
|
+
/**
|
|
54
|
+
* Date the content was published (formal metadata),
|
|
55
|
+
* defaults to the date the content was created
|
|
56
|
+
*/
|
|
57
|
+
publishedDate: Date;
|
|
58
|
+
/** Description of the source of the published date */
|
|
59
|
+
publishedDateSource?: string;
|
|
60
|
+
/** Frequency at which the content is updated */
|
|
61
|
+
updateFrequency?: string;
|
|
62
|
+
/** URL of the resource's page in the Portal Home application */
|
|
63
|
+
portalHomeUrl?: string;
|
|
64
|
+
/** URL of the Portal API endpoint for the resource */
|
|
65
|
+
portalApiUrl?: string;
|
|
66
|
+
/** URL of the Portal API data endpoint for the resource */
|
|
67
|
+
portalDataUrl?: string;
|
|
68
|
+
/** Optional links to show in the Hub application for this content */
|
|
69
|
+
actionLinks?: IActionLink[];
|
|
70
|
+
/** Configure which Hub application actions (i.e. create web map) are available for this content */
|
|
71
|
+
hubActions?: object;
|
|
72
|
+
/** Information about the layer referenced by this content (geometryType, fields, etc) */
|
|
73
|
+
layer?: Partial<ILayerDefinition>;
|
|
74
|
+
itemCategories?: string[];
|
|
75
|
+
normalizedType?: string;
|
|
76
|
+
orgId?: string;
|
|
77
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base properties for Hub Entities
|
|
3
|
+
* This is a subset of `IItem`, that can apply to
|
|
4
|
+
* models that are not backed by items.
|
|
5
|
+
*/
|
|
6
|
+
export interface IHubEntityBase {
|
|
7
|
+
/**
|
|
8
|
+
* Id of the entity as a string
|
|
9
|
+
*/
|
|
10
|
+
id: string;
|
|
11
|
+
/**
|
|
12
|
+
* Name of the Entity
|
|
13
|
+
* For Entities backed by items, this is typically the title
|
|
14
|
+
*/
|
|
15
|
+
name: string;
|
|
16
|
+
/**
|
|
17
|
+
* Simple summary of the Entity.
|
|
18
|
+
* For items, this is typically the `snippet` property.
|
|
19
|
+
*/
|
|
20
|
+
summary?: string;
|
|
21
|
+
/**
|
|
22
|
+
* Date the entity was created
|
|
23
|
+
*/
|
|
24
|
+
createdDate: Date;
|
|
25
|
+
/**
|
|
26
|
+
* Source of the creation date
|
|
27
|
+
*/
|
|
28
|
+
createdDateSource: string;
|
|
29
|
+
/**
|
|
30
|
+
* Date the entity was last updated
|
|
31
|
+
*/
|
|
32
|
+
updatedDate: Date;
|
|
33
|
+
/**
|
|
34
|
+
* Source of the updated date
|
|
35
|
+
*/
|
|
36
|
+
updatedDateSource: string;
|
|
37
|
+
/**
|
|
38
|
+
* Type of entity
|
|
39
|
+
*/
|
|
40
|
+
type: string;
|
|
41
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { IUserRequestOptions } from "@esri/arcgis-rest-auth";
|
|
2
|
+
import { IRequestOptions } from "@esri/arcgis-rest-request";
|
|
3
|
+
/**
|
|
4
|
+
* Baseline CRUD+Search functions required for all Store classes
|
|
5
|
+
*/
|
|
6
|
+
export interface IHubEntityManager<T> {
|
|
7
|
+
/**
|
|
8
|
+
* Create and Store a new Entity
|
|
9
|
+
* @param obj
|
|
10
|
+
* @param requestOptions
|
|
11
|
+
*/
|
|
12
|
+
create(obj: T, requestOptions: IUserRequestOptions): Promise<T>;
|
|
13
|
+
/**
|
|
14
|
+
* Update an existing Entity
|
|
15
|
+
* @param obj
|
|
16
|
+
* @param requestOptions
|
|
17
|
+
*/
|
|
18
|
+
update(obj: T, requestOptions: IUserRequestOptions): Promise<T>;
|
|
19
|
+
/**
|
|
20
|
+
* Destroy an Entity
|
|
21
|
+
* @param id
|
|
22
|
+
* @param requestOptions
|
|
23
|
+
*/
|
|
24
|
+
destroy(id: string, requestOptions: IUserRequestOptions): Promise<void>;
|
|
25
|
+
/**
|
|
26
|
+
* Get an entity by an identifier. Implementations can handle this
|
|
27
|
+
* differently as needed. i.e. a HubProject can be fetched by item id (guid)
|
|
28
|
+
* or by a slug.
|
|
29
|
+
* @param identifier
|
|
30
|
+
* @param requestOptions
|
|
31
|
+
*/
|
|
32
|
+
fetch(identifier: string, requestOptions: IRequestOptions): Promise<T>;
|
|
33
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { IHubEntityBase } from "./IHubEntityBase";
|
|
2
|
+
/**
|
|
3
|
+
* DRAFT: Under development and more properties will likely be added
|
|
4
|
+
* @internal
|
|
5
|
+
*/
|
|
6
|
+
export interface IHubEvent extends IHubEntityBase {
|
|
7
|
+
location: string;
|
|
8
|
+
startDate: Date;
|
|
9
|
+
readonly owner: string;
|
|
10
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hub Images can either be the name of a resource
|
|
3
|
+
* or a full url to a publicly accessible image
|
|
4
|
+
*/
|
|
5
|
+
export interface IHubImage {
|
|
6
|
+
/**
|
|
7
|
+
* What type of image does this reference?
|
|
8
|
+
*/
|
|
9
|
+
type: "resource" | "url";
|
|
10
|
+
/**
|
|
11
|
+
* The name of the resource, or the url
|
|
12
|
+
*/
|
|
13
|
+
value: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Extends IHubImage with a resource property
|
|
17
|
+
* User to send an image file to a store
|
|
18
|
+
*/
|
|
19
|
+
export interface IHubImageOptions extends IHubImage {
|
|
20
|
+
/**
|
|
21
|
+
* If defined, treated as a file and uploaded
|
|
22
|
+
* into a resource associated with an item
|
|
23
|
+
*/
|
|
24
|
+
resource?: any;
|
|
25
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { IWithBannerImage } from "../traits/WithBannerImage";
|
|
2
|
+
import { IHubItemEntity } from "./IHubItemEntity";
|
|
3
|
+
/**
|
|
4
|
+
* DRAFT: Under development and more properties will likely be added
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
export interface IHubInitiative extends IHubItemEntity, IWithBannerImage {
|
|
8
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { IHubEntityBase } from "./IHubEntityBase";
|
|
2
|
+
import { IHubGeography } from "../..";
|
|
3
|
+
/**
|
|
4
|
+
* Properties exposed by Entities that are backed by Items
|
|
5
|
+
*/
|
|
6
|
+
export interface IHubItemEntity extends IHubEntityBase {
|
|
7
|
+
/**
|
|
8
|
+
* Thumbnail Uril (read-only)
|
|
9
|
+
*/
|
|
10
|
+
thumbnailUrl?: string;
|
|
11
|
+
/**
|
|
12
|
+
* Username of the owner of the item
|
|
13
|
+
*/
|
|
14
|
+
owner: string;
|
|
15
|
+
/**
|
|
16
|
+
* Description for the item
|
|
17
|
+
*/
|
|
18
|
+
description?: string;
|
|
19
|
+
/**
|
|
20
|
+
* boundary will default to the item extent
|
|
21
|
+
* but can be overwritten by enrichments from the Hub API (inline)
|
|
22
|
+
* or fetched from a location such as /resources/boundary.json
|
|
23
|
+
*/
|
|
24
|
+
boundary?: IHubGeography;
|
|
25
|
+
/**
|
|
26
|
+
* Culture code of the content
|
|
27
|
+
* i.e. `en-us`
|
|
28
|
+
*/
|
|
29
|
+
culture?: string;
|
|
30
|
+
/**
|
|
31
|
+
* User configurable tags
|
|
32
|
+
*/
|
|
33
|
+
tags: string[];
|
|
34
|
+
/**
|
|
35
|
+
* System configurable typekeywords
|
|
36
|
+
*/
|
|
37
|
+
typeKeywords?: string[];
|
|
38
|
+
/**
|
|
39
|
+
* Canonical Url for the Entity
|
|
40
|
+
*/
|
|
41
|
+
url?: string;
|
|
42
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* General interface for a Layout
|
|
3
|
+
*
|
|
4
|
+
* Optional header and footer are only used for
|
|
5
|
+
* a Hub Site
|
|
6
|
+
*/
|
|
7
|
+
export interface IHubLayout {
|
|
8
|
+
/**
|
|
9
|
+
* Sections are required for all Layouts
|
|
10
|
+
*/
|
|
11
|
+
sections: [Record<string, any>];
|
|
12
|
+
/**
|
|
13
|
+
* header is optional; Only used in Sites
|
|
14
|
+
*/
|
|
15
|
+
header?: Record<string, any>;
|
|
16
|
+
/**
|
|
17
|
+
* footer is optional; Only used in Sites
|
|
18
|
+
*/
|
|
19
|
+
footer?: Record<string, any>;
|
|
20
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { IWithLayout } from "../traits/WithLayout";
|
|
2
|
+
import { IHubItemEntity } from "./IHubItemEntity";
|
|
3
|
+
/**
|
|
4
|
+
* DRAFT: Under development and more properties will likely be added
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
export interface IHubPage extends IHubItemEntity, IWithLayout {
|
|
8
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { IHubTimeline } from ".";
|
|
2
|
+
import { IHubItemEntity, IWithLayout, IWithSlug } from "..";
|
|
3
|
+
/**
|
|
4
|
+
* Defines the properties of a Hub Project object
|
|
5
|
+
*/
|
|
6
|
+
export interface IHubProject extends IHubItemEntity, IWithSlug, IWithLayout {
|
|
7
|
+
/**
|
|
8
|
+
* Timeline for the project
|
|
9
|
+
*/
|
|
10
|
+
timeline?: IHubTimeline;
|
|
11
|
+
/**
|
|
12
|
+
* Project Status
|
|
13
|
+
*/
|
|
14
|
+
status: "inactive" | "active";
|
|
15
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { IWithLayout } from "../traits/WithLayout";
|
|
2
|
+
import { IHubItemEntity } from "./IHubItemEntity";
|
|
3
|
+
/**
|
|
4
|
+
* DRAFT: Under development and more properties will likely be added
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
export interface IHubSite extends IHubItemEntity, IWithLayout {
|
|
8
|
+
header: Record<string, any>;
|
|
9
|
+
footer: Record<string, any>;
|
|
10
|
+
pages: Record<string, any>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hub Timeline Definition
|
|
3
|
+
*/
|
|
4
|
+
export interface IHubTimeline {
|
|
5
|
+
title: string;
|
|
6
|
+
description: string;
|
|
7
|
+
stages: IHubStage[];
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Hub Timeline Stage
|
|
11
|
+
*/
|
|
12
|
+
export interface IHubStage {
|
|
13
|
+
/**
|
|
14
|
+
* Stage identifier
|
|
15
|
+
*/
|
|
16
|
+
id: number;
|
|
17
|
+
/**
|
|
18
|
+
* Stage Title
|
|
19
|
+
*/
|
|
20
|
+
title: string;
|
|
21
|
+
/**
|
|
22
|
+
* Timeframe for the stage
|
|
23
|
+
* i.e. "Late Fall 2022"
|
|
24
|
+
*/
|
|
25
|
+
timeframe: string;
|
|
26
|
+
/**
|
|
27
|
+
* Stage Description
|
|
28
|
+
*/
|
|
29
|
+
description: string;
|
|
30
|
+
/**
|
|
31
|
+
* Stage status
|
|
32
|
+
*/
|
|
33
|
+
status: string;
|
|
34
|
+
/**
|
|
35
|
+
* Icon Name
|
|
36
|
+
*/
|
|
37
|
+
icon: string;
|
|
38
|
+
isEditing: boolean;
|
|
39
|
+
leadingElement: boolean;
|
|
40
|
+
trailingElement: boolean;
|
|
41
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { IUser, IPortal } from "@esri/arcgis-rest-portal";
|
|
2
|
+
import { IEnrichmentErrorInfo } from "../..";
|
|
3
|
+
export interface IItemEnrichments {
|
|
4
|
+
/** The portal item's data (if any) */
|
|
5
|
+
data?: {
|
|
6
|
+
[propName: string]: any;
|
|
7
|
+
};
|
|
8
|
+
/** The content's formal metadata */
|
|
9
|
+
metadata?: any;
|
|
10
|
+
/** The ids of any groups that the item belongs to */
|
|
11
|
+
groupIds?: string[];
|
|
12
|
+
/** The user that owns the item */
|
|
13
|
+
ownerUser?: IUser;
|
|
14
|
+
/**
|
|
15
|
+
* The owner's organization (portal) details (id, name, extent, etc)
|
|
16
|
+
*/
|
|
17
|
+
org?: Partial<IPortal>;
|
|
18
|
+
/**
|
|
19
|
+
* Any errors encountered when fetching enrichments
|
|
20
|
+
* see https://github.com/ArcGIS/hub-indexer/blob/master/docs/errors.md#response-formatting-for-errors
|
|
21
|
+
*/
|
|
22
|
+
errors?: IEnrichmentErrorInfo[];
|
|
23
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export * from "./IContentEnrichments";
|
|
2
|
+
export * from "./IItemEnrichments";
|
|
3
|
+
export * from "./IHubContent";
|
|
4
|
+
export * from "./IHubEntityBase";
|
|
5
|
+
export * from "./IHubItemEntity";
|
|
6
|
+
export * from "./IHubEntityManager";
|
|
7
|
+
export * from "./IHubEvent";
|
|
8
|
+
export * from "./IHubImage";
|
|
9
|
+
export * from "./IHubInitiative";
|
|
10
|
+
export * from "./IHubLayout";
|
|
11
|
+
export * from "./IHubPage";
|
|
12
|
+
export * from "./IHubProject";
|
|
13
|
+
export * from "./IHubSite";
|
|
14
|
+
export * from "./IHubTimeline";
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,26 +1,31 @@
|
|
|
1
1
|
export * from "./access";
|
|
2
2
|
export * from "./api";
|
|
3
|
+
export * from "./ArcGISContext";
|
|
4
|
+
export * from "./ArcGISContextManager";
|
|
3
5
|
export * from "./auth";
|
|
4
6
|
export * from "./categories";
|
|
5
7
|
export * from "./content";
|
|
8
|
+
export * from "./core";
|
|
6
9
|
export * from "./downloads";
|
|
7
10
|
export * from "./extent";
|
|
8
11
|
export * from "./groups";
|
|
12
|
+
export * from "./i18n";
|
|
9
13
|
export * from "./items";
|
|
14
|
+
export * from "./models";
|
|
10
15
|
export * from "./objects";
|
|
16
|
+
export * from "./projects";
|
|
17
|
+
export * from "./request";
|
|
11
18
|
export * from "./resources";
|
|
12
19
|
export * from "./search";
|
|
13
20
|
export * from "./sites";
|
|
21
|
+
export * from "./surveys";
|
|
14
22
|
export * from "./types";
|
|
15
23
|
export * from "./urls";
|
|
16
24
|
export * from "./util";
|
|
17
25
|
export * from "./utils";
|
|
18
|
-
export * from "./
|
|
19
|
-
export * from "./request";
|
|
20
|
-
export * from "./surveys";
|
|
21
|
-
export * from "./ArcGISContextManager";
|
|
22
|
-
export * from "./ArcGISContext";
|
|
26
|
+
export * from "./Hub";
|
|
23
27
|
import OperationStack from "./OperationStack";
|
|
24
28
|
import OperationError from "./OperationError";
|
|
25
|
-
|
|
29
|
+
import HubError from "./HubError";
|
|
30
|
+
export { OperationStack, OperationError, HubError };
|
|
26
31
|
export { btoa, atob } from "abab";
|
|
@@ -2,13 +2,10 @@ export * from "./_unprotect-and-remove-item";
|
|
|
2
2
|
export * from "./apply-properties-to-items";
|
|
3
3
|
export * from "./delete-prop";
|
|
4
4
|
export * from "./fail-safe-update";
|
|
5
|
-
export * from "./get-model";
|
|
6
5
|
export * from "./get-model-from-options";
|
|
7
6
|
export * from "./interpolate";
|
|
8
7
|
export * from "./interpolate-item-id";
|
|
9
|
-
export * from "./normalize-solution-template-item";
|
|
10
8
|
export * from "./replace-item-id";
|
|
11
|
-
export * from "./serialize-model";
|
|
12
9
|
export * from "./share-item-to-groups";
|
|
13
10
|
export * from "./unprotect-model";
|
|
14
11
|
export * from "./unshare-item-from-groups";
|
|
@@ -16,3 +13,5 @@ export * from "./does-item-exist-with-title";
|
|
|
16
13
|
export * from "./get-unique-item-title";
|
|
17
14
|
export * from "./fetch-all-pages";
|
|
18
15
|
export * from "./get-structured-license";
|
|
16
|
+
export * from "./slugs";
|
|
17
|
+
export * from "./normalize-solution-template-item";
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { IRequestOptions } from "@esri/arcgis-rest-request";
|
|
2
|
+
import { IItem } from "@esri/arcgis-rest-types";
|
|
3
|
+
/**
|
|
4
|
+
* Create a slug, namespaced to an org
|
|
5
|
+
* Typically used to lookup items by a human readable name in urls
|
|
6
|
+
*
|
|
7
|
+
* @param title
|
|
8
|
+
* @param orgKey
|
|
9
|
+
* @returns
|
|
10
|
+
*/
|
|
11
|
+
export declare function constructSlug(title: string, orgKey: string): string;
|
|
12
|
+
/**
|
|
13
|
+
* Adds/Updates the slug typekeyword
|
|
14
|
+
* Returns a new array of keywords
|
|
15
|
+
* @param typeKeywords
|
|
16
|
+
* @param slug
|
|
17
|
+
* @returns
|
|
18
|
+
*/
|
|
19
|
+
export declare function setSlugKeyword(typeKeywords: string[], slug: string): string[];
|
|
20
|
+
/**
|
|
21
|
+
* Get an item by searching for items with a typeKeyword like `slug|{slug-value}`
|
|
22
|
+
*
|
|
23
|
+
* For example, if you pass a slug `"snow-map"` into this function, it will
|
|
24
|
+
* search for items with `slug|snow-map` in it's typeKeywords array,
|
|
25
|
+
*
|
|
26
|
+
* @param slug
|
|
27
|
+
* @param requestOptions
|
|
28
|
+
* @returns
|
|
29
|
+
*/
|
|
30
|
+
export declare function getItemBySlug(slug: string, requestOptions: IRequestOptions): Promise<IItem>;
|
|
31
|
+
/**
|
|
32
|
+
* Given a slug, search for items using that slug, incrementing the slug name until
|
|
33
|
+
* a unique value is found
|
|
34
|
+
*
|
|
35
|
+
* For example, if a slug of `"snow-map"` into this function and some item exists
|
|
36
|
+
* with that slug, it would return `"snow-map-1"`.
|
|
37
|
+
*
|
|
38
|
+
* @param slug
|
|
39
|
+
* @param requestOptions
|
|
40
|
+
* @param step
|
|
41
|
+
* @returns
|
|
42
|
+
*/
|
|
43
|
+
export declare function getUniqueSlug(slug: string, requestOptions: IRequestOptions, step?: number): Promise<string>;
|