@inrupt/solid-client / acp/control

Module: acp/control

Type aliases

AccessControlResource

Ƭ AccessControlResource: SolidDataset & WithResourceInfo & { accessTo: UrlString }

Note

The Web Access Control specification is not yet finalised. As such, this function is still experimental and subject to change, even in a non-major release.

An Access Control Resource, containing Controls specifying which Policy’s apply to the Resource this Access Control Resource is linked to.

since 1.6.0


Control

Ƭ Control: Thing

Note

The Web Access Control specification is not yet finalised. As such, this function is still experimental and subject to change, even in a non-major release.

A Control, usually contained in an AccessControlResource. It describes which Policy’s apply to a Resource.

since 1.6.0


WithLinkedAcr

Ƭ WithLinkedAcr<Resource>: Resource & { internal_resourceInfo: { linkedResources: { http://www.w3.org/ns/solid/acp#accessControl: [string] } } }

Note

The Web Access Control specification is not yet finalised. As such, this function is still experimental and subject to change, even in a non-major release.

If this type applies to a Resource, it is governed by an Access Control Resource, and thus not the Web Access Control spec. It does not indicate that this Access Control Resource will also be accessible to the current user.

since 1.6.0

Type parameters

Name

Type

Resource

extends WithServerResourceInfoWithServerResourceInfo

Functions

acrAsMarkdown

acrAsMarkdown(resourceWithAcr): string

Gets a human-readable representation of the given Control to aid debugging.

Note that changes to the exact format of the return value are not considered a breaking change; it is intended to aid in debugging, not as a serialisation method that can be reliably parsed.

since 1.6.0

Parameters

Name

Type

Description

resourceWithAcr

WithResourceInfo & WithAccessibleAcr

The Resource with an attached Access Control Resource of which you want to get a human-readable representation.

Returns

string


addAcrPolicyUrl

addAcrPolicyUrl<ResourceExt>(resourceWithAcr, policyUrl): ResourceExt

Note

The Web Access Control specification is not yet finalised. As such, this function is still experimental and subject to change, even in a non-major release.

Add a Policy to an Access Control Resource such that that Policy applies to the Access Control Resource itself, rather than the Resource it governs.

since 1.6.0

Type parameters

Name

Type

ResourceExt

extends WithAccessibleAcr

Parameters

Name

Type

Description

resourceWithAcr

ResourceExt

The Resource with an Access Control Resource to which the ACR Policy should be added.

policyUrl

Url | UrlString | ThingPersisted

URL of the Policy that should apply to the given Access Control Resource.

Returns

ResourceExt

A Resource with a new Access Control Resource equal to the original ACR, but with the given ACR Policy added to it.


addMemberAcrPolicyUrl

addMemberAcrPolicyUrl<ResourceExt>(resourceWithAcr, policyUrl): ResourceExt

Note

The Web Access Control specification is not yet finalised. As such, this function is still experimental and subject to change, even in a non-major release.

Add a Policy to a Resource’s Access Control Resource such that that Policy applies to the Access Control Resources of child Resources.

since 1.6.0

Type parameters

Name

Type

ResourceExt

extends WithAccessibleAcr

Parameters

Name

Type

Description

resourceWithAcr

ResourceExt

The Resource with an Access Control Resource to which the ACR Policy should be added.

policyUrl

Url | UrlString | ThingPersisted

URL of the Policy that should apply to the given Access Control Resources of children of the Resource.

Returns

ResourceExt

A Resource with a new Access Control Resource equal to the original ACR, but with the given ACR Policy added to it.


addMemberPolicyUrl

addMemberPolicyUrl<ResourceExt>(resourceWithAcr, policyUrl): ResourceExt

Note

The Web Access Control specification is not yet finalised. As such, this function is still experimental and subject to change, even in a non-major release.

Add a Policy to a Resource’s Access Control Resource such that that Policy applies to that Resource’s children.

since 1.6.0

Type parameters

Name

Type

ResourceExt

extends WithAccessibleAcr

Parameters

Name

Type

Description

resourceWithAcr

ResourceExt

The Resource to whose Access Control Resource the Policy should be added.

policyUrl

Url | UrlString

URL of the Policy that should apply to the given Resource’s children.

Returns

ResourceExt

A new Resource equal to the given Resource, but with the given Member Policy added to its Access Control Resource.


addPolicyUrl

addPolicyUrl<ResourceExt>(resourceWithAcr, policyUrl): ResourceExt

Note

The Web Access Control specification is not yet finalised. As such, this function is still experimental and subject to change, even in a non-major release.

Add a Policy to an Access Control Resource such that that Policy applies to that Resource.

since 1.6.0

Type parameters

Name

Type

ResourceExt

extends WithAccessibleAcr

Parameters

Name

Type

Description

resourceWithAcr

ResourceExt

The Resource to which the ACR Policy should be added.

policyUrl

Url | UrlString

URL of the Policy that should apply to the given Resource.

Returns

ResourceExt

A Resource with a new Access Control Resource equal to the original ACR, but with the given Policy added to it.


getAcrPolicyUrlAll

getAcrPolicyUrlAll<ResourceExt>(resourceWithAcr): UrlString[]

Note

The Web Access Control specification is not yet finalised. As such, this function is still experimental and subject to change, even in a non-major release.

Get the URLs of the Access Policies that apply to an Access Control Resource itself, rather than to the Resource it governs.

since 1.6.0

Type parameters

Name

Type

ResourceExt

extends WithAccessibleAcr

Parameters

Name

Type

Description

resourceWithAcr

ResourceExt

The Resource with the Access Control Resource of which to get the URLs of the Policies that govern access to it.

Returns

UrlString[]

URLs of the Policies that govern access to the given Access Control Resource.


getMemberAcrPolicyUrlAll

getMemberAcrPolicyUrlAll<ResourceExt>(resourceWithAcr): UrlString[]

Note

The Web Access Control specification is not yet finalised. As such, this function is still experimental and subject to change, even in a non-major release.

Get the URLs of the Access Policies that apply to the Access Control Resources of the Resource’s children.

since 1.6.0

Type parameters

Name

Type

ResourceExt

extends WithAccessibleAcr

Parameters

Name

Type

Description

resourceWithAcr

ResourceExt

The Resource with the Access Control Resource of which to get the URLs of the Policies that govern access to its children.

Returns

UrlString[]

URLs of the Policies that govern access to the Access Control Resources of the given Resource’s children.


getMemberPolicyUrlAll

getMemberPolicyUrlAll<ResourceExt>(resourceWithAcr): UrlString[]

Note

The Web Access Control specification is not yet finalised. As such, this function is still experimental and subject to change, even in a non-major release.

Get the URLs of the Access Policies that apply to a Resource’s children.

since 1.6.0

Type parameters

Name

Type

ResourceExt

extends WithAccessibleAcr

Parameters

Name

Type

Description

resourceWithAcr

ResourceExt

The Resource with the Access Control Resource of which to get the URLs of the Policies that govern access to its children.

Returns

UrlString[]

URLs of the Policies that govern access to the given Resource’s children.


getPolicyUrlAll

getPolicyUrlAll<ResourceExt>(resourceWithAcr): UrlString[]

Note

The Web Access Control specification is not yet finalised. As such, this function is still experimental and subject to change, even in a non-major release.

Get the URLs of the Access Policies that apply to a Resource.

since 1.6.0

Type parameters

Name

Type

ResourceExt

extends WithAccessibleAcr

Parameters

Name

Type

Description

resourceWithAcr

ResourceExt

The Resource with the Access Control Resource of which to get the URLs of the Policies that govern access to it.

Returns

UrlString[]

URLs of the Policies that govern access to the given Resource.


hasLinkedAcr

hasLinkedAcr<Resource>(resource): resource is WithLinkedAcr<Resource>

Note

The Web Access Control specification is not yet finalised. As such, this function is still experimental and subject to change, even in a non-major release.

Given a Resource, check whether it is governed by Access Policies. (Specifically, a Resource that is governed by Access Policies will refer to exactly one Access Control Resource, and expose that to users who are allowed to see or modify access to the given Resource.)

since 1.6.0

Type parameters

Name

Type

Resource

extends WithServerResourceInfo

Parameters

Name

Type

Description

resource

Resource

Resource which may or may not be governed by Access Policies.

Returns

resource is WithLinkedAcr<Resource>

True if the Resource refers to an Access Control Resource and is hence governed by Access Policies, or false if it does not.


removeAcrPolicyUrl

removeAcrPolicyUrl<ResourceExt>(resourceWithAcr, policyUrl): ResourceExt

Note

The Web Access Control specification is not yet finalised. As such, this function is still experimental and subject to change, even in a non-major release.

Stop the URL of a given Policy from applying to an Access Control Resource itself.

since 1.6.0

Type parameters

Name

Type

ResourceExt

extends WithAccessibleAcr

Parameters

Name

Type

Description

resourceWithAcr

ResourceExt

The Resource with the Access Control Resource to which the given URL of a Policy should no longer apply.

policyUrl

Url | UrlString | ThingPersisted

The URL of the Policy that should no longer apply.

Returns

ResourceExt

A Resource with a new Access Control Resource equal to the original ACR, but with the given ACR Policy removed from it.


removeAcrPolicyUrlAll

removeAcrPolicyUrlAll<ResourceExt>(resourceWithAcr): ResourceExt

Note

The Web Access Control specification is not yet finalised. As such, this function is still experimental and subject to change, even in a non-major release.

Stop all URL of Access Policies from applying to an Access Control Resource itself.

since 1.6.0

Type parameters

Name

Type

ResourceExt

extends WithAccessibleAcr

Parameters

Name

Type

Description

resourceWithAcr

ResourceExt

The Resource with the Access Control Resource to which no more Policies should apply.

Returns

ResourceExt

A Resource with a new Access Control Resource equal to the original ACR, but without any Policy applying to it.


removeMemberAcrPolicyUrl

removeMemberAcrPolicyUrl<ResourceExt>(resourceWithAcr, policyUrl): ResourceExt

Note

The Web Access Control specification is not yet finalised. As such, this function is still experimental and subject to change, even in a non-major release.

Stop the URL of a given Policy from applying to the Access Control Resources of the Resource’s children.

since 1.6.0

Type parameters

Name

Type

ResourceExt

extends WithAccessibleAcr

Parameters

Name

Type

Description

resourceWithAcr

ResourceExt

The Resource with the Access Control Resource to whose children’s ACRs the given URL of a Policy should no longer apply.

policyUrl

Url | UrlString | ThingPersisted

The URL of the Policy that should no longer apply.

Returns

ResourceExt

A Resource with a new Access Control Resource equal to the original ACR, but with the given member ACR Policy removed from it.


removeMemberAcrPolicyUrlAll

removeMemberAcrPolicyUrlAll<ResourceExt>(resourceWithAcr): ResourceExt

Note

The Web Access Control specification is not yet finalised. As such, this function is still experimental and subject to change, even in a non-major release.

Stop all URL of Access Policies from applying to the Access Control Resources of the Resource’s children.

since 1.6.0

Type parameters

Name

Type

ResourceExt

extends WithAccessibleAcr

Parameters

Name

Type

Description

resourceWithAcr

ResourceExt

The Resource with the Access Control Resource that should no longer apply Policies to its children’s ACRs.

Returns

ResourceExt

A Resource with a new Access Control Resource equal to the original ACR, but without any Policy applying to its children’s ACRs.


removeMemberPolicyUrl

removeMemberPolicyUrl<ResourceExt>(resourceWithAcr, policyUrl): ResourceExt

Note

The Web Access Control specification is not yet finalised. As such, this function is still experimental and subject to change, even in a non-major release.

Stop the URL of a given Policy from applying to the Resource’s children.

since 1.6.0

Type parameters

Name

Type

ResourceExt

extends WithAccessibleAcr

Parameters

Name

Type

Description

resourceWithAcr

ResourceExt

The Resource with the Access Control Resource to whose children the given URL of a Policy should no longer apply.

policyUrl

Url | UrlString | ThingPersisted

The URL of the Policy that should no longer apply.

Returns

ResourceExt

A Resource with a new Access Control Resource equal to the original ACR, but with the given Member Policy removed from it.


removeMemberPolicyUrlAll

removeMemberPolicyUrlAll<ResourceExt>(resourceWithAcr): ResourceExt

Note

The Web Access Control specification is not yet finalised. As such, this function is still experimental and subject to change, even in a non-major release.

Stop all URL of Access Policies from applying to the Resource’s children.

since 1.6.0

Type parameters

Name

Type

ResourceExt

extends WithAccessibleAcr

Parameters

Name

Type

Description

resourceWithAcr

ResourceExt

The Resource with the Access Control Resource that should no longer apply Policies to its children.

Returns

ResourceExt

A Resource with a new Access Control Resource equal to the original ACR, but without any Policy applying to the Resource’s children.


removePolicyUrl

removePolicyUrl<ResourceExt>(resourceWithAcr, policyUrl): ResourceExt

Note

The Web Access Control specification is not yet finalised. As such, this function is still experimental and subject to change, even in a non-major release.

Stop the URL of a given Policy from applying to a Resource.

since 1.6.0

Type parameters

Name

Type

ResourceExt

extends WithAccessibleAcr

Parameters

Name

Type

Description

resourceWithAcr

ResourceExt

The Resource, with its Access Control Resource, to which the given URL of a Policy should no longer apply.

policyUrl

Url | UrlString | ThingPersisted

The URL of the Policy that should no longer apply.

Returns

ResourceExt

A Resource with a new Access Control Resource equal to the original ACR, but with the given Policy removed from it.


removePolicyUrlAll

removePolicyUrlAll<ResourceExt>(resourceWithAcr): ResourceExt

Note

The Web Access Control specification is not yet finalised. As such, this function is still experimental and subject to change, even in a non-major release.

Stop all URL of Access Policies from applying to a Resource.

since 1.6.0

Type parameters

Name

Type

ResourceExt

extends WithAccessibleAcr

Parameters

Name

Type

Description

resourceWithAcr

ResourceExt

The Resource, with its Access Control Resource, to which no more Policies should apply.

Returns

ResourceExt

A Resource with a new Access Control Resource equal to the original ACR, but without any Policy applying to the Resource.