ensureUniqueEntitySlug

Function

Parameters

Parameter Type Default Notes
entity Required IHubItemEntity
requestOptions Required IHubRequestOptions

Available requestOptions

Property Type Notes
authentication Optional UserSession
hubApiUrl Optional string
isPortal Optional boolean
portalSelf Optional IHubRequestOptionsPortalSelf
credentials Optional Inherited RequestCredentials

A string indicating whether credentials (cookies) will be sent with the request. Used internally for authentication workflows.

fetch Optional Inherited function(input: RequestInfo, init: RequestInit) : Promise<Response>

The implementation of fetch to use. Defaults to a global fetch.

headers Optional Inherited [key: string]: any

Additional Headers to pass into the request.

hideToken Optional Inherited boolean

Prevents the token from being passed in a URL Query param that is saved in browser history. Instead, the token will be passed in POST request body or through X-Esri-Authorization header. NOTE: This will force POST requests in browsers since auth header is not yet supported by preflight OPTIONS check with CORS.

httpMethod Optional Inherited HTTPMethods

The HTTP method to send the request with.

maxUrlLength Optional Inherited number

If the length of a GET request's URL exceeds maxUrlLength the request will use POST instead.

params Optional Inherited IParams

Additional parameters to pass in the request.

portal Optional Inherited string

Base url for the portal you want to make the request to. Defaults to authentication.portal if authentication exists, otherwise to 'https://www.arcgis.com/sharing/rest'.

rawResponse Optional Inherited boolean

Return the raw response

Returns

Promise<IHubItemEntity>
Property Type Notes
canDelete boolean

Can current user delete the entity Derived from item.itemControl = "admin"

canEdit boolean

Can current user edit the entity Derived from item.itemControl = "admin" | "update"

itemControl string

Platform derived based on current user's access to the entity if defined, it means the user can edit the entity

owner string

Username of the owner of the item

schemaVersion number

Current schema version. Used to determine what if any schema migrations should be applied when the item is loaded

tags string[]

User configurable tags

createdDate Inherited Date

Date the entity was created

createdDateSource Inherited string

Source of the creation date as a property path e.q item.created

id Inherited string

Id of the entity as a string

name Inherited string

Name of the Entity For Entities backed by items, this is typically the title

type Inherited string

For Item backed results, this will be item.type Otherwise it will be "Group", "User", "Event" etc

updatedDate Inherited Date

Date when the entity was last updated Depending on the entity, this could be derived in many different ways

updatedDateSource Inherited string

Source of the updated date

access Optional AccessLevel

Access level of the item ("private" | "org" | "public")

boundary Optional IHubGeography

boundary will default to the item extent but can be overwritten by enrichments from the Hub API (inline) or fetched from a location such as /resources/boundary.json

canRecycle Optional boolean

Can this item be recycled? This will be returned by the Portal API once recycling is enabled on the platform Optional because it can default to false if not returned by the API

categories Optional string[]

Parsed item categories (see parseItemCategories)

culture Optional string

Culture code of the content i.e. en-us

description Optional string

Description for the item

extent Optional number[][]

Extent of the Entity

location Optional IHubLocation

The location of the Entity

orgId Optional string

The orgId of the Entity, if available

protected Optional boolean

Is the item protected?

thumbnail Optional string

Thumbnail (read-only)

thumbnailUrl Optional string

TODO: Deprecate this in favor of IHubEntityBase.links.thumbnail Thumbnail Url (read-only)

typeKeywords Optional string[]

System configurable typekeywords

url Optional string

TODO: change this property to store item.url. Store the canonical url in IHubEntityBase.links.self instead.

view Optional IWithViewSettings

Project display properties

associations Optional Inherited {
groupId:
string
rules:
IHubAssociationRules
}
discussionSettings Optional Inherited IDiscussionsSettings

The entity's discussion settings

entitySettingsId Optional Inherited string
features Optional Inherited IFeatureFlags

We need a means to enable / disable the "feature/capability" represented by a permission for an entity. e.g. we want to disable events for a site, so we have hub:site:events: false

followersGroupId Optional Inherited string

followers group id

isDiscussable Optional Inherited boolean

If the item has discussions enabled

permissions Optional Inherited IEntityPermissionPolicy[]

Array of permission policies that apply to the entity Only permissions with `entity

source Optional Inherited string

Source of the entity. Exact logic for this tbd, but the intent is to allow the result to be attributed to something other than "owner"

summary Optional Inherited string

Sanitized summary derived from item.snippet, item.description, group.description, user.description, event.description etc


Function defined in common/src/items/_internal/slugs.ts:6