HubItemEntity

Class

Base class for all Hub Entities backed by items

Implements

Constructors

Constructor Parameters

Parameter Type Default Notes
entity Required IHubItemEntity
context Required IArcGISContext

Properties

Property Type Notes
context Protected IArcGISContext
entity Protected IHubItemEntity
isDestroyed Protected false
thumbnailCache Protected null

Accessors

Accessor Type Notes
canDelete boolean

Can the current user delete the Entity? In order to delete an item, the user must be the owner of the item or a full org_admin in the owner's organization.

canEdit boolean

Can the current user edit the Entity? In order to edit an item, the user must be the owner of the item or be a member of a shared editing group, to which the item is shared.

id string

Return the entity id

orgId string

The orgId of the Entity, if available

owner string

Return the entity owner

Methods

Method Returns Notes
void

Add a policy to the entity

Promise<void>

Hook that subclasses should call to invoke shared post-save behavior

IPermissionAccessResponse

Check if current user has a specific permission, accounting for both system and entity level policies

Promise<void>

Remove the featured image from the item

void

Clear the thumbnail from the item, if one exists. Persisted on next .save() call

Promise<void>
Promise<IGroup>

Returns the followers group

IEntityPermissionPolicy[]

Get all policies related to a specific permission

string

Return the full url to the thumbnail, optionally with a width parameter

void

Remove a policy from the entity

Promise<void>
Promise<void>

Set the access level of the backing item

Promise<void>

Set a featured image on the Entity, if one already exists it is cleared out before the new one is set to keep the number of resources in control

Promise<void>

Sets the access level of the followers group

Promise<void>

Sets whether or not the followers group is discussable

void

Store thumbnail information to be sent with the next .save() call

Promise<void>

Share the Entity with the specified group id

Promise<void>

Share the Entity with the specified group ids

Promise<IGroup[]>

Return a list of groups the Entity is shared to.

IHubItemEntity

Return the backing entity as an object literal

Promise<void>

Unshare the Entity with the specified group id

Promise<void>

Unshare the Entity with the specified group ids

void
void

Updates the isDiscussable property

addPermissionPolicy

Class Method

Add a policy to the entity

Parameters

Parameter Type Default Notes
policy Required IEntityPermissionPolicy

Returns

void

afterSave

Class Method

Hook that subclasses should call to invoke shared post-save behavior

  • afterSave() : Promise<void>

Returns

Promise<void>

checkPermission

Class Method

Check if current user has a specific permission, accounting for both system and entity level policies

Parameters

Parameter Type Default Notes
permission Required Permission

Returns

clearFeaturedImage

Class Method

Remove the featured image from the item

  • clearFeaturedImage() : Promise<void>

Returns

Promise<void>

clearThumbnail

Class Method

Clear the thumbnail from the item, if one exists. Persisted on next .save() call

  • clearThumbnail() : void

Returns

void

delete

Class Method

  • delete() : Promise<void>

Returns

Promise<void>

getFollowersGroup

Class Method

Returns the followers group

  • getFollowersGroup() : Promise<IGroup>

Returns

Promise<IGroup>

getPermissionPolicies

Class Method

Get all policies related to a specific permission

Parameters

Parameter Type Default Notes
permission Required Permission

Returns

getThumbnailUrl

Class Method

Return the full url to the thumbnail, optionally with a width parameter

  • getThumbnailUrl(width: number) : string

Parameters

Parameter Type Default Notes
width Optional number 200

Returns

string

removePermissionPolicy

Class Method

Remove a policy from the entity

  • removePermissionPolicy(permission: Permission, id: string) : void

Parameters

Parameter Type Default Notes
permission Required Permission
id Required string

Returns

void

save

Class Method

  • save() : Promise<void>

Returns

Promise<void>

setAccess

Class Method

Set the access level of the backing item

Parameters

Parameter Type Default Notes
access Required SettableAccessLevel

Returns

Promise<void>

setFeaturedImage

Class Method

Set a featured image on the Entity, if one already exists it is cleared out before the new one is set to keep the number of resources in control

  • setFeaturedImage(file: any, clearExisting: boolean) : Promise<void>

Parameters

Parameter Type Default Notes
file Required any
clearExisting Optional boolean false

Returns

Promise<void>

setFollowersGroupAccess

Class Method

Sets the access level of the followers group

Parameters

Parameter Type Default Notes
access Required SettableAccessLevel

Returns

Promise<void>

setFollowersGroupIsDiscussable

Class Method

Sets whether or not the followers group is discussable

  • setFollowersGroupIsDiscussable(isDiscussable: boolean) : Promise<void>

Parameters

Parameter Type Default Notes
isDiscussable Required boolean

Returns

Promise<void>

setThumbnail

Class Method

Store thumbnail information to be sent with the next .save() call

  • setThumbnail(file: any, filename: string) : void

Parameters

Parameter Type Default Notes
file Required any
filename Required string

Returns

void

shareWithGroup

Class Method

Share the Entity with the specified group id

  • shareWithGroup(groupId: string) : Promise<void>

Parameters

Parameter Type Default Notes
groupId Required string

Returns

Promise<void>

shareWithGroups

Class Method

Share the Entity with the specified group ids

  • shareWithGroups(groupIds: string[]) : Promise<void>

Parameters

Parameter Type Default Notes
groupIds Required string[]

Returns

Promise<void>

sharedWith

Class Method

Return a list of groups the Entity is shared to.

  • sharedWith() : Promise<IGroup[]>

Returns

Promise<IGroup[]>

toJson

Class Method

Return the backing entity as an object literal

Returns

unshareWithGroup

Class Method

Unshare the Entity with the specified group id

  • unshareWithGroup(groupId: string) : Promise<void>

Parameters

Parameter Type Default Notes
groupId Required string

Returns

Promise<void>

unshareWithGroups

Class Method

Unshare the Entity with the specified group ids

  • unshareWithGroups(groupIds: string[]) : Promise<void>

Parameters

Parameter Type Default Notes
groupIds Required string[]

Returns

Promise<void>

update

Class Method

Parameters

Parameter Type Default Notes
changes Required Partial<IHubItemEntity>

Returns

void

updateIsDiscussable

Class Method

Updates the isDiscussable property

  • updateIsDiscussable(isDiscussable: boolean) : void

Parameters

Parameter Type Default Notes
isDiscussable Required boolean

whether to enable or disable discussions

Returns

void

Class defined in common/src/core/HubItemEntity.ts:46