IHubSite

Interface

DRAFT: Under development and more properties will likely be added

Extends

Properties

Property Type Notes
clientId string

oAuth Client Id for the Site

contentViews Record<stringany>

Content Views settings

defaultExtent IExtent

Default extent used when loading maps on the site

feeds Record<stringany>

Feed configurations

headerSass string

Header CSS

isHubHome boolean

True when the site is a "Hub Home" site for an organization

isUmbrella boolean

True when the site is the "Umbrella" site for an environment (i.e. hub.arcgis.com)

legacyCapabilities string[]

Legacy capabilities

legacyTeams string[]

Legacy teams - list of ids

map Record<stringany>

Default map configuration for the site

pages Array<{
id:
string
slug:
string
title:
string
}>

Array of minimal page objects

telemetry Record<stringany>

Site Telemetry Settings

theme Record<stringany>

Site Theme as json

canDelete Inherited boolean

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

canEdit Inherited boolean

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

catalog Inherited IHubCatalog

Catalog

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

itemControl Inherited string

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

name Inherited string

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

orgUrlKey Inherited string

Organization urlKey used to construct the slug

owner Inherited string

Username of the owner of the item

schemaVersion Inherited number

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

tags Inherited string[]

User configurable tags

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 Inherited AccessLevel

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

associations Optional Inherited {
groupId:
string
rules:
IHubAssociationRules
}
boundary Optional Inherited 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 Inherited 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 Inherited string[]

Parsed item categories (see parseItemCategories)

culture Optional Inherited string

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

customHostname Optional Inherited string

Custom Domain Name

defaultHostname Optional Inherited string

Full hostname Looks like<subdomain>-<org-key>.hub.arcgis.com

description Optional Inherited string

Description for the item

discussionSettings Optional Inherited IDiscussionsSettings

The entity's discussion settings

entitySettingsId Optional Inherited string
extent Optional Inherited number[][]

Extent of the Entity

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

layout Optional Inherited IHubLayout

Layout property

location Optional Inherited IHubLocation

The location of the Entity

orgId Optional Inherited string

The orgId of the Entity, if available

permissions Optional Inherited IEntityPermissionPolicy[]

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

protected Optional Inherited boolean

Is the item protected?

size Optional Inherited number

The size of the item in bytes

slug Optional Inherited string

Slug that can be used to lookup an entity by something other than it's id

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"

subdomain Optional Inherited string

Subdomain of the site Will be prepended to <org-key>.hub.arcgis.com

summary Optional Inherited string

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

thumbnail Optional Inherited string

Thumbnail (read-only)

thumbnailUrl Optional Inherited string

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

typeKeywords Optional Inherited string[]

System configurable typekeywords

url Optional Inherited string

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

view Optional Inherited IWithViewSettings

Project display properties

Methods

Method Returns Notes
Promise<IVersion>

Creates a new version of the entity

Promise<{
success:
boolean
}>

Deletes the specified version of the entity

Promise<IVersion>

Gets the specified version of the entity

Promise<IVersionMetadata[]>

Gets all the versions of the entity

Promise<IVersion>

Updates the specified version of the entity

Promise<IVersionMetadata>

Updates the specified entity version's metadata

createVersion

Interface Method

Creates a new version of the entity

Parameters

Parameter Type Default Notes
options Optional ICreateVersionOptions

Returns

Promise<IVersion>

deleteVersion

Interface Method

Deletes the specified version of the entity

  • deleteVersion(versionId: string) : Promise<{
    success:
    boolean
    }>

Parameters

Parameter Type Default Notes
versionId Required string

Returns

Promise<{
success:
boolean
}>

getVersion

Interface Method

Gets the specified version of the entity

  • getVersion(versionId: string) : Promise<IVersion>

Parameters

Parameter Type Default Notes
versionId Required string

Returns

Promise<IVersion>

searchVersions

Interface Method

Gets all the versions of the entity

Returns

Promise<IVersionMetadata[]>

updateVersion

Interface Method

Updates the specified version of the entity

Parameters

Parameter Type Default Notes
version Required IVersion

Returns

Promise<IVersion>

updateVersionMetadata

Interface Method

Updates the specified entity version's metadata

Parameters

Parameter Type Default Notes
version Required IVersionMetadata

Returns

Promise<IVersionMetadata>

Index Signatures

Key Type Value Type Notes
string any

DRAFT: Under development and more properties will likely be added


Interface defined in common/src/core/types/IHubSite.ts:39