@inrupt/solid-client / acp_ess_1
Module: acp_ess_1#
Experimental API
The Access Control Policies proposal has not yet been reviewed for inclusion in the Solid spec. To enable early experimentation, solid-client exposes a low-level API. However, this API can and will include breaking changes in non-major releases. Additionally, for most applications, a higher-level API that is planned will be more applicable.
Thus, the following export is only intended for experimentation by early adopters, and is not recommended for production applications. Because of this, all ACP-related API’s are exported on a single object, which does not facilitate tree-shaking: if you use one ACP-related API, all of them will be included in your bundle.
For more information see: Tutorial: Managing Access
This module supports Inrupt’s ESS 1.1 ACP implementation.
This module can be imported as an object from the main package, which results in tree-shaking not being supported (so all the exported APIs will likely end up in your bundle). This import style is used for environments such as nextjs or create-react-app.
import { acp_ess_1 } from "@inrupt/solid-client";
References#
addMockAcrTo#
Re-exports addMockAcrTo
createPolicy#
Re-exports createPolicy
createResourcePolicyFor#
Re-exports createResourcePolicyFor
getFileWithAccessDatasets#
Re-exports getFileWithAccessDatasets
getFileWithAcr#
Re-exports getFileWithAcr
getLinkedAcrUrl#
Re-exports getLinkedAcrUrl
getPolicy#
Re-exports getPolicy
getPolicyAll#
Re-exports getPolicyAll
getReferencedPolicyUrlAll#
Re-exports getReferencedPolicyUrlAll
getResourceAcrPolicy#
Re-exports getResourceAcrPolicy
getResourceAcrPolicyAll#
Re-exports getResourceAcrPolicyAll
getResourceInfoWithAccessDatasets#
Re-exports getResourceInfoWithAccessDatasets
getResourceInfoWithAcr#
Re-exports getResourceInfoWithAcr
getResourcePolicy#
Re-exports getResourcePolicy
getResourcePolicyAll#
Re-exports getResourcePolicyAll
getSolidDatasetWithAccessDatasets#
Re-exports getSolidDatasetWithAccessDatasets
getSolidDatasetWithAcr#
Re-exports getSolidDatasetWithAcr
hasAccessibleAcr#
Re-exports hasAccessibleAcr
hasLinkedAcr#
Re-exports hasLinkedAcr
isAcpControlled#
Re-exports isAcpControlled
mockAcrFor#
Re-exports mockAcrFor
removeAcrPolicyUrlAll#
Re-exports removeAcrPolicyUrlAll
removeMemberAcrPolicyUrlAll#
Re-exports removeMemberAcrPolicyUrlAll
removeMemberPolicyUrlAll#
Re-exports removeMemberPolicyUrlAll
removePolicy#
Re-exports removePolicy
removePolicyUrlAll#
Re-exports removePolicyUrlAll
removeResourceAcrPolicy#
Re-exports removeResourceAcrPolicy
removeResourcePolicy#
Re-exports removeResourcePolicy
saveAcrFor#
Re-exports saveAcrFor
setPolicy#
Re-exports setPolicy
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
Deprecated
Parameters#
Name |
Type |
Description |
---|---|---|
|
|
The Resource with an attached Access Control Resource of which you want to get a human-readable representation. |
Returns#
string
Defined in#
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 |
---|---|
|
extends |
Parameters#
Name |
Type |
Description |
---|---|---|
|
|
The Resource with an Access Control Resource to which the ACR Policy should be added. |
|
|
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.
Defined in#
addAgent#
▸ addAgent(rule
, agent
): Rule
Note
There is no Access Control Policies specification yet. As such, this function is still experimental and subject to change, even in a non-major release.
Apply the [[Rule]] to an additional agent.
Since
1.6.0
Parameters#
Name |
Type |
Description |
---|---|---|
|
The [[Rule]] to be applied to an additional agent. |
|
|
|
The agent the [[Rule]] should apply to. |
Returns#
Rule
A copy of the [[Rule]], applying to an additional agent.
Defined in#
addAllOfRuleUrl#
▸ addAllOfRuleUrl<P
>(policy
, rule
): P
Note
There is no Access Control Policies specification yet. As such, this function is still experimental and subject to change, even in a non-major release.
Add a rule that refines the scope of a given the [[Policy]]. If an agent requesting access to a resource is not present in any of the “All Of” rules, they will not be granted access.
Also see [[addAnyOfRuleUrl]] and [[addNoneOfRuleUrl]].
Since
1.6.0
Type parameters#
Name |
Type |
---|---|
|
extends |
Parameters#
Name |
Type |
Description |
---|---|---|
|
|
The [[Policy]] to which the rule should be added. |
|
|
The rule to add to the policy. |
Returns#
P
A new [[Policy]] clone of the original one, with the new rule added.
Defined in#
addAnyOfRuleUrl#
▸ addAnyOfRuleUrl<P
>(policy
, rule
): P
Note
There is no Access Control Policies specification yet. As such, this function is still experimental and subject to change, even in a non-major release.
Add a rule that extends the scope of a given the [[Policy]]. If an agent requesting access to a resource is present in any of the “Any Of” rules, they will be granted access.
Also see [[addAllOfRuleUrl]] and [[addNoneOfRuleUrl]].
Since
1.6.0
Type parameters#
Name |
Type |
---|---|
|
extends |
Parameters#
Name |
Type |
Description |
---|---|---|
|
|
The [[Policy]] to which the rule should be added. |
|
|
The rule to add to the policy. |
Returns#
P
A new [[Policy]] clone of the original one, with the new rule added.
Defined in#
addClient#
▸ addClient(rule
, client
): Rule
Note
There is no Access Control Policies specification yet. As such, this function is still experimental and subject to change, even in a non-major release.
Apply the [[Rule]] to an additional Client.
Since
1.6.0
Parameters#
Name |
Type |
Description |
---|---|---|
|
The [[Rule]] to be applied to an additional Client. |
|
|
|
The Client the [[Rule]] should apply to. |
Returns#
Rule
A copy of the [[Rule]], applying to an additional Client.
Defined in#
addGroup#
▸ addGroup(rule
, group
): Rule
Note
There is no Access Control Policies specification yet. As such, this function is still experimental and subject to change, even in a non-major release.
Apply the [[Rule]] to an additional group.
Since
1.6.0
Deprecated
Access Control Policies will no longer support vcard:Group. You can re-use a Rule listing multiple Agents to get the same functionality.
Parameters#
Name |
Type |
Description |
---|---|---|
|
The [[Rule]] to be applied to an additional group. |
|
|
|
- |
Returns#
Rule
A copy of the [[Rule]], applying to an additional group.
Defined in#
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 |
---|---|
|
extends |
Parameters#
Name |
Type |
Description |
---|---|---|
|
|
The Resource with an Access Control Resource to which the ACR Policy should be added. |
|
|
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.
Defined in#
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 |
---|---|
|
extends |
Parameters#
Name |
Type |
Description |
---|---|---|
|
|
The Resource to whose Access Control Resource the Policy should be added. |
|
|
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.
Defined in#
addNoneOfRuleUrl#
▸ addNoneOfRuleUrl<P
>(policy
, rule
): P
Note
There is no Access Control Policies specification yet. As such, this function is still experimental and subject to change, even in a non-major release.
Add a rule that restricts the scope of a given the [[Policy]]. If an agent requesting access to a resource is present in any of the forbidden rules, they will not be granted access.
Also see [[addAllOfRuleUrl]] and [[addAnyOfRuleUrl]].
Since
1.6.0
Type parameters#
Name |
Type |
---|---|
|
extends |
Parameters#
Name |
Type |
Description |
---|---|---|
|
|
The [[Policy]] to which the rule should be added. |
|
|
The rule to add to the policy. |
Returns#
P
A new [[Policy]] clone of the original one, with the new rule added.
Defined in#
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 |
---|---|
|
extends |
Parameters#
Name |
Type |
Description |
---|---|---|
|
|
The Resource to which the ACR Policy should be added. |
|
|
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.
Defined in#
createResourceRuleFor#
▸ createResourceRuleFor(resourceWithAcr
, name
): ResourceRule
Note
There is no Access Control Policies specification yet. As such, this function is still experimental and subject to change, even in a non-major release.
Initialise a new, empty [[ResourceRule]] for the given Resource.
Since
1.6.0
Parameters#
Name |
Type |
Description |
---|---|---|
|
|
The Resource to which the new Rule is to apply. |
|
|
Name that identifies this [[Rule]]. |
Returns#
ResourceRule
Defined in#
createRule#
▸ createRule(url
): Rule
Note
There is no Access Control Policies specification yet. As such, this function is still experimental and subject to change, even in a non-major release.
Initialise a new, empty [[Rule]].
Since
1.6.0
Parameters#
Name |
Type |
Description |
---|---|---|
|
|
URL that identifies this [[Rule]]. |
Returns#
Rule
Defined in#
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 |
---|---|
|
extends |
Parameters#
Name |
Type |
Description |
---|---|---|
|
|
The Resource with the Access Control Resource of which to get the URLs of the Policies that govern access to it. |
Returns#
URLs of the Policies that govern access to the given Access Control Resource.
Defined in#
getAgentAll#
▸ getAgentAll(rule
): WebId
[]
Note
There is no Access Control Policies specification yet. As such, this function is still experimental and subject to change, even in a non-major release.
List all the agents a [[Rule]] applies directly to. This will not include agents that are part of a group the [[Rule]] applies to, nor will it include specific agent classes, such as authenticated or public agents.
Since
1.6.0
Parameters#
Name |
Type |
Description |
---|---|---|
|
The rule from which agents are read. |
Returns#
WebId
[]
A list of the WebIDs of agents included in the rule.
Defined in#
getAllOfRuleUrlAll#
▸ getAllOfRuleUrlAll<P
>(policy
): UrlString
[]
Note
There is no Access Control Policies specification yet. As such, this function is still experimental and subject to change, even in a non-major release.
Get the “All Of” [[Rule]]s for the given [[Policy]]
Since
1.6.0
Type parameters#
Name |
Type |
---|---|
|
extends |
Parameters#
Name |
Type |
Description |
---|---|---|
|
|
The [[policy]] from which the rules should be read. |
Returns#
A list of the “All Of” [[Rule]]s
Defined in#
getAllowModes#
▸ getAllowModes<P
>(policy
): AccessModes
Note
There is no Access Control Policies specification yet. As such, this function is still experimental and subject to change, even in a non-major release.
Given a [[Policy]], return which [[AccessModes]] it allows.
Since
1.6.0
Deprecated
The Access Control Policies proposal will be updated to use a different vocabulary for allow- and deny-modes. To be compatible with servers that implement that, use [[getAllowModesV2]].
Type parameters#
Name |
Type |
---|---|
|
extends |
Parameters#
Name |
Type |
Description |
---|---|---|
|
|
The Policy for which you want to know the Access Modes it allows. |
Returns#
AccessModes
Defined in#
getAnyOfRuleUrlAll#
▸ getAnyOfRuleUrlAll<P
>(policy
): UrlString
[]
Note
There is no Access Control Policies specification yet. As such, this function is still experimental and subject to change, even in a non-major release.
Get the “Any Of” [[Rule]]s for the given [[Policy]]
Since
1.6.0
Type parameters#
Name |
Type |
---|---|
|
extends |
Parameters#
Name |
Type |
Description |
---|---|---|
|
|
The [[policy]] from which the rules should be read. |
Returns#
A list of the “Any Of” [[Rule]]s
Defined in#
getClientAll#
▸ getClientAll(rule
): WebId
[]
Note
There is no Access Control Policies specification yet. As such, this function is still experimental and subject to change, even in a non-major release.
List all the clients a [[Rule]] applies directly to. This will not include specific client classes, such as public clients.
Since
1.6.0
Parameters#
Name |
Type |
Description |
---|---|---|
|
The rule from which clients are read. |
Returns#
WebId
[]
A list of the WebIDs of clients included in the rule.
Defined in#
getDenyModes#
▸ getDenyModes<P
>(policy
): AccessModes
Note
There is no Access Control Policies specification yet. As such, this function is still experimental and subject to change, even in a non-major release.
Given a [[Policy]], return which [[AccessModes]] it disallows.
Since
1.6.0
Deprecated
The Access Control Policies proposal will be updated to use a different vocabulary for allow- and deny-modes. To be compatible with servers that implement that, use [[getDenyModesV2]].
Type parameters#
Name |
Type |
---|---|
|
extends |
Parameters#
Name |
Type |
Description |
---|---|---|
|
|
The Policy on which you want to know the Access Modes it disallows. |
Returns#
AccessModes
Defined in#
getGroupAll#
▸ getGroupAll(rule
): UrlString
[]
Note
There is no Access Control Policies specification yet. As such, this function is still experimental and subject to change, even in a non-major release.
Lists all the groups a [[Rule]] applies to.
Since
1.6.0
Deprecated
Access Control Policies will no longer support vcard:Group. You can re-use a Rule listing multiple Agents to get the same functionality.
Parameters#
Name |
Type |
Description |
---|---|---|
|
The rule from which groups are read. |
Returns#
A list of the [[URL]]’s of groups included in the rule.
Defined in#
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 |
---|---|
|
extends |
Parameters#
Name |
Type |
Description |
---|---|---|
|
|
The Resource with the Access Control Resource of which to get the URLs of the Policies that govern access to its children. |
Returns#
URLs of the Policies that govern access to the Access Control Resources of the given Resource’s children.
Defined in#
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 |
---|---|
|
extends |
Parameters#
Name |
Type |
Description |
---|---|---|
|
|
The Resource with the Access Control Resource of which to get the URLs of the Policies that govern access to its children. |
Returns#
URLs of the Policies that govern access to the given Resource’s children.
Defined in#
getNoneOfRuleUrlAll#
▸ getNoneOfRuleUrlAll<P
>(policy
): UrlString
[]
Note
There is no Access Control Policies specification yet. As such, this function is still experimental and subject to change, even in a non-major release.
Get the “None Of” [[Rule]]s for the given [[Policy]]
Since
1.6.0
Type parameters#
Name |
Type |
---|---|
|
extends |
Parameters#
Name |
Type |
Description |
---|---|---|
|
|
The [[policy]] from which the rules should be read. |
Returns#
A list of the forbidden [[Rule]]s
Defined in#
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 |
---|---|
|
extends |
Parameters#
Name |
Type |
Description |
---|---|---|
|
|
The Resource with the Access Control Resource of which to get the URLs of the Policies that govern access to it. |
Returns#
URLs of the Policies that govern access to the given Resource.
Defined in#
getResourceRule#
▸ getResourceRule(resourceWithAcr
, name
): ResourceRule
| null
Note
There is no Access Control Policies specification yet. As such, this function is still experimental and subject to change, even in a non-major release.
Get the [[ResourceRule]] with the given name from an Resource’s Access Control Resource.
Since
1.6.0
Parameters#
Name |
Type |
Description |
---|---|---|
|
|
The Resource whose Access Control Resource contains the given [[ResourceRule]]. |
|
|
Name that identifies this [[ResourceRule]]. |
Returns#
ResourceRule
| null
The requested [[ResourceRule]], if it exists, or null
if it does not.
Defined in#
getResourceRuleAll#
▸ getResourceRuleAll(resourceWithAcr
): ResourceRule
[]
Note
There is no Access Control Policies specification yet. As such, this function is still experimental and subject to change, even in a non-major release.
Gets the [[ResourceRule]]s from a Resource’s Access Control Resource.
Since
1.6.0
Parameters#
Name |
Type |
Description |
---|---|---|
|
|
The Resource whose Access Control Resource contains (zero or more) [[ResourceRule]]s. |
Returns#
ResourceRule
[]
The [[ResourceRule]]s contained in this Resource’s Access Control Resource.
Defined in#
getRule#
▸ getRule(ruleResource
, url
): Rule
| null
Note
There is no Access Control Policies specification yet. As such, this function is still experimental and subject to change, even in a non-major release.
Get the [[Rule]] with the given URL from an [[SolidDataset]].
Since
1.6.0
Parameters#
Name |
Type |
Description |
---|---|---|
|
|
The Resource that contains the given [[Rule]]. |
|
|
URL that identifies this [[Rule]]. |
Returns#
Rule
| null
The requested [[Rule]], if it exists, or null
if it does not.
Defined in#
getRuleAll#
▸ getRuleAll(ruleResource
): Rule
[]
Note
There is no Access Control Policies specification yet. As such, this function is still experimental and subject to change, even in a non-major release.
Gets the [[Rule]]s from a [[SolidDataset]].
Since
1.6.0
Parameters#
Name |
Type |
Description |
---|---|---|
|
|
The Resource that contains (zero or more) [[Rule]]s. |
Returns#
Rule
[]
The [[Rule]]s contained in this resource.
Defined in#
hasAnyClient#
▸ hasAnyClient(rule
): boolean
Note
There is no Access Control Policies specification yet. As such, this function is still experimental and subject to change, even in a non-major release.
Check if the rule applies to any client, i.e. all the applications regardless of their identifier.
Since
1.6.0
Parameters#
Name |
Type |
Description |
---|---|---|
|
The rule checked for authenticated access. |
Returns#
boolean
Whether the rule applies to public clients.
Defined in#
hasAuthenticated#
▸ hasAuthenticated(rule
): boolean
Note
There is no Access Control Policies specification yet. As such, this function is still experimental and subject to change, even in a non-major release.
Check if the rule applies to any authenticated agent.
Since
1.6.0
Parameters#
Name |
Type |
Description |
---|---|---|
|
The rule checked for authenticated access. |
Returns#
boolean
Whether the rule applies to any authenticated agent or not.
Defined in#
hasCreator#
▸ hasCreator(rule
): boolean
Note
There is no Access Control Policies specification yet. As such, this function is still experimental and subject to change, even in a non-major release.
Check if the rule applies to the creator of the Resource.
Since
1.6.0
Parameters#
Name |
Type |
Description |
---|---|---|
|
The rule checked for authenticated access. |
Returns#
boolean
Whether the rule applies to the creator of the Resource or not.
Defined in#
hasPublic#
▸ hasPublic(rule
): boolean
Note
There is no Access Control Policies specification yet. As such, this function is still experimental and subject to change, even in a non-major release.
Check if the rule applies to any agent.
Since
1.6.0
Parameters#
Name |
Type |
Description |
---|---|---|
|
The rule checked for public access. |
Returns#
boolean
Whether the rule applies to any agent or not.
Defined in#
policyAsMarkdown#
▸ policyAsMarkdown(policy
): string
Gets a human-readable representation of the given [[Policy]] 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
Deprecated
Parameters#
Name |
Type |
Description |
---|---|---|
|
The Policy to get a human-readable representation of. |
Returns#
string
Defined in#
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 |
---|---|
|
extends |
Parameters#
Name |
Type |
Description |
---|---|---|
|
|
The Resource with the Access Control Resource to which the given URL of a Policy should no longer apply. |
|
|
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.
Defined in#
removeAgent#
▸ removeAgent(rule
, agent
): Rule
Note
There is no Access Control Policies specification yet. As such, this function is still experimental and subject to change, even in a non-major release.
Prevent the [[Rule]] from applying to a given agent directly. This will not remove the agent from any groups the rule applies to.
Since
1.6.0
Parameters#
Name |
Type |
Description |
---|---|---|
|
The [[Rule]] that should no longer apply to a given agent. |
|
|
|
The agent the rule should no longer apply to. |
Returns#
Rule
A copy of the rule, not applying to the given agent.
Defined in#
removeAllOfRuleUrl#
▸ removeAllOfRuleUrl<P
>(policy
, rule
): P
Note
There is no Access Control Policies specification yet. As such, this function is still experimental and subject to change, even in a non-major release.
Removes a rule that refines the scope of a given the [[Policy]]. If an agent requesting access to a resource is not present in any of the “All Of” rules, they will not be granted access.
Since
1.6.0
Type parameters#
Name |
Type |
---|---|
|
extends |
Parameters#
Name |
Type |
Description |
---|---|---|
|
|
The [[Policy]] from which the rule should be removed. |
|
|
The rule to remove from the policy. |
Returns#
P
A new [[Policy]] clone of the original one, with the rule removed.
Defined in#
removeAnyClient#
▸ removeAnyClient(rule
): Rule
Note
There is no Access Control Policies specification yet. As such, this function is still experimental and subject to change, even in a non-major release.
Make the [[Rule]] no longer apply to any client application.
Since
1.6.0
Parameters#
Name |
Type |
Description |
---|---|---|
|
The rule for which clients are set. |
Returns#
Rule
A copy of the rule, updated to no longer apply to any client
Defined in#
removeAnyOfRuleUrl#
▸ removeAnyOfRuleUrl<P
>(policy
, rule
): P
Note
There is no Access Control Policies specification yet. As such, this function is still experimental and subject to change, even in a non-major release.
Removes a rule that extends the scope of a given the [[Policy]]. If an agent requesting access to a resource is present in any of the “Any Of” rules, they will be granted access.
Since
1.6.0
Type parameters#
Name |
Type |
---|---|
|
extends |
Parameters#
Name |
Type |
Description |
---|---|---|
|
|
The [[Policy]] from which the rule should be removed. |
|
|
The rule to remove from the policy. |
Returns#
P
A new [[Policy]] clone of the original one, with the rule removed.
Defined in#
removeAuthenticated#
▸ removeAuthenticated(rule
): Rule
Note
There is no Access Control Policies specification yet. As such, this function is still experimental and subject to change, even in a non-major release.
Set a Rule to no longer apply to any authenticated Agent.
Since
1.6.0
Parameters#
Name |
Type |
Description |
---|---|---|
|
The rule being modified. |
Returns#
Rule
A copy of the rule, updated to apply/not apply to any authenticated agent.
Defined in#
removeClient#
▸ removeClient(rule
, client
): Rule
Note
There is no Access Control Policies specification yet. As such, this function is still experimental and subject to change, even in a non-major release.
Prevent the [[Rule]] from applying to a given Client directly.
Since
1.6.0
Parameters#
Name |
Type |
Description |
---|---|---|
|
The [[Rule]] that should no longer apply to a given Client. |
|
|
|
The Client the rule should no longer apply to. |
Returns#
Rule
A copy of the rule, not applying to the given Client.
Defined in#
removeCreator#
▸ removeCreator(rule
): Rule
Note
There is no Access Control Policies specification yet. As such, this function is still experimental and subject to change, even in a non-major release.
Set a Rule to no longer apply to the creator of a Resource.
Since
1.6.0
Parameters#
Name |
Type |
Description |
---|---|---|
|
The rule being modified. |
Returns#
Rule
A copy of the rule, updated to apply/not apply to the creator of a Resource.
Defined in#
removeGroup#
▸ removeGroup(rule
, group
): Rule
Note
There is no Access Control Policies specification yet. As such, this function is still experimental and subject to change, even in a non-major release.
Prevent the [[Rule]] from applying to a given group.
Since
1.6.0
Deprecated
Access Control Policies will no longer support vcard:Group. You can re-use a Rule listing multiple Agents to get the same functionality.
Parameters#
Name |
Type |
Description |
---|---|---|
|
The [[Rule]] that should no longer apply to a given group. |
|
|
|
- |
Returns#
Rule
A copy of the rule, not applying to the given group.
Defined in#
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 |
---|---|
|
extends |
Parameters#
Name |
Type |
Description |
---|---|---|
|
|
The Resource with the Access Control Resource to whose children’s ACRs the given URL of a Policy should no longer apply. |
|
|
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.
Defined in#
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 |
---|---|
|
extends |
Parameters#
Name |
Type |
Description |
---|---|---|
|
|
The Resource with the Access Control Resource to whose children the given URL of a Policy should no longer apply. |
|
|
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.
Defined in#
removeNoneOfRuleUrl#
▸ removeNoneOfRuleUrl<P
>(policy
, rule
): P
Note
There is no Access Control Policies specification yet. As such, this function is still experimental and subject to change, even in a non-major release.
Removes a rule that restricts the scope of a given the [[Policy]]. If an agent requesting access to a resource is present in any of the forbidden rules, they will not be granted access.
Since
1.6.0
Type parameters#
Name |
Type |
---|---|
|
extends |
Parameters#
Name |
Type |
Description |
---|---|---|
|
|
The [[Policy]] from which the rule should be removed. |
|
|
The rule to remove from the policy. |
Returns#
P
A new [[Policy]] clone of the original one, with the rule removed.
Defined in#
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 |
---|---|
|
extends |
Parameters#
Name |
Type |
Description |
---|---|---|
|
|
The Resource, with its Access Control Resource, to which the given URL of a Policy should no longer apply. |
|
|
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.
Defined in#
removePublic#
▸ removePublic(rule
): Rule
Note
There is no Access Control Policies specification yet. As such, this function is still experimental and subject to change, even in a non-major release.
Set a Rule to no longer apply to any Agent.
Since
1.6.0
Parameters#
Name |
Type |
Description |
---|---|---|
|
The rule being modified. |
Returns#
Rule
A copy of the rule, updated to no longer apply to any agent.
Defined in#
removeResourceRule#
▸ removeResourceRule<ResourceExt
>(resourceWithAcr
, rule
): ResourceExt
Note
There is no Access Control Policies specification yet. As such, this function is still experimental and subject to change, even in a non-major release.
Removes the given [[ResourceRule]] from the given Resource’s Access Control Resource.
Since
1.6.0
Type parameters#
Name |
Type |
---|---|
|
extends |
Parameters#
Name |
Type |
Description |
---|---|---|
|
|
The Resource whose Access Control Resource contains (zero or more) [[ResourceRule]]s. |
|
|
- |
Returns#
ResourceExt
A new Resource equal to the given Resource, but without the given Rule in its ACR.
Defined in#
removeRule#
▸ removeRule<Dataset
>(ruleResource
, rule
): Dataset
Note
There is no Access Control Policies specification yet. As such, this function is still experimental and subject to change, even in a non-major release.
Removes the given [[Rule]] from the given [[SolidDataset]].
Since
1.6.0
Type parameters#
Name |
Type |
---|---|
|
extends |
Parameters#
Name |
Type |
Description |
---|---|---|
|
|
The Resource that contains (zero or more) [[Rule]]s. |
|
|
- |
Returns#
Dataset
A new SolidDataset equal to the given Rule Resource, but without the given Rule.
Defined in#
ruleAsMarkdown#
▸ ruleAsMarkdown(rule
): string
Gets a human-readable representation of the given [[Rule]] 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 |
---|---|---|
|
The Rule to get a human-readable representation of. |
Returns#
string
Defined in#
setAgent#
▸ setAgent(rule
, agent
): Rule
Note
There is no Access Control Policies specification yet. As such, this function is still experimental and subject to change, even in a non-major release.
Overwrite the agents the [[Rule]] applies to with the provided agents.
Since
1.6.0
Parameters#
Name |
Type |
Description |
---|---|---|
|
The rule for which agents are set. |
|
|
|
The agent the rule should apply to. |
Returns#
Rule
A copy of the input rule, applying to a different set of agents.
Defined in#
setAllOfRuleUrl#
▸ setAllOfRuleUrl<P
>(policy
, rule
): P
Note
There is no Access Control Policies specification yet. As such, this function is still experimental and subject to change, even in a non-major release.
Overwrites the rule refining the scope of a given the [[Policy]]. If an agent requesting access to a resource is not present in any of the “All Of” rules, they will not be granted access.
Since
1.6.0
Type parameters#
Name |
Type |
---|---|
|
extends |
Parameters#
Name |
Type |
Description |
---|---|---|
|
|
The [[Policy]] to which the rule should be added. |
|
|
- |
Returns#
P
A new [[Policy]] clone of the original one, with the “All Of” rules replaced.
Defined in#
setAllowModes#
▸ setAllowModes<P
>(policy
, modes
): P
Note
There is no Access Control Policies specification yet. As such, this function is still experimental and subject to change, even in a non-major release.
Given a [[Policy]] and a set of [[AccessModes]], return a new Policy based on the given Policy, but with the given Access Modes allowed on it.
Since
1.6.0
Deprecated
The Access Control Policies proposal will be updated to use a different vocabulary for allow- and deny-modes. To be compatible with servers that implement that, use [[setAllowModesV2]].
Type parameters#
Name |
Type |
---|---|
|
extends |
Parameters#
Name |
Type |
Description |
---|---|---|
|
|
The Policy on which to set the modes to allow. |
|
|
Modes to allow for this Policy. |
Returns#
P
Defined in#
setAnyClient#
▸ setAnyClient(rule
): Rule
Note
There is no Access Control Policies specification yet. As such, this function is still experimental and subject to change, even in a non-major release.
Make the [[Rule]] apply to any client application.
Since
1.6.0
Parameters#
Name |
Type |
Description |
---|---|---|
|
The rule for which clients are set. |
Returns#
Rule
A copy of the rule, updated to apply to any client
Defined in#
setAnyOfRuleUrl#
▸ setAnyOfRuleUrl<P
>(policy
, rule
): P
Note
There is no Access Control Policies specification yet. As such, this function is still experimental and subject to change, even in a non-major release.
Overwrite the rule extending the scope of a given the [[Policy]]. If an agent requesting access to a resource is present in any of the “Any Of” rules, they will be granted access.
Since
1.6.0
Type parameters#
Name |
Type |
---|---|
|
extends |
Parameters#
Name |
Type |
Description |
---|---|---|
|
|
The [[Policy]] to which the rule should be added. |
|
|
- |
Returns#
P
A new [[Policy]] clone of the original one, with the “Any Of” rules replaced.
Defined in#
setAuthenticated#
▸ setAuthenticated(rule
): Rule
Note
There is no Access Control Policies specification yet. As such, this function is still experimental and subject to change, even in a non-major release.
Set a Rule to apply to any authenticated Agent.
Since
1.6.0
Parameters#
Name |
Type |
Description |
---|---|---|
|
The rule being modified. |
Returns#
Rule
A copy of the rule, updated to apply to any authenticated Agent.
Defined in#
setClient#
▸ setClient(rule
, client
): Rule
Note
There is no Access Control Policies specification yet. As such, this function is still experimental and subject to change, even in a non-major release.
Overwrite the clients the [[Rule]] applies to with the provided Client.
Since
1.6.0
Parameters#
Name |
Type |
Description |
---|---|---|
|
The rule for which clients are set. |
|
|
|
The Client the rule should apply to. |
Returns#
Rule
A copy of the input rule, applying to a different set of Clients.
Defined in#
setCreator#
▸ setCreator(rule
): Rule
Note
There is no Access Control Policies specification yet. As such, this function is still experimental and subject to change, even in a non-major release.
Set a Rule to apply to the creator of a Resource.
Since
1.6.0
Parameters#
Name |
Type |
Description |
---|---|---|
|
The rule being modified. |
Returns#
Rule
A copy of the rule, updated to apply to the creator of a Resource.
Defined in#
setDenyModes#
▸ setDenyModes<P
>(policy
, modes
): P
Note
There is no Access Control Policies specification yet. As such, this function is still experimental and subject to change, even in a non-major release.
Given a [[Policy]] and a set of [[AccessModes]], return a new Policy based on the given Policy, but with the given Access Modes disallowed on it.
Since
1.6.0
Deprecated
The Access Control Policies proposal will be updated to use a different vocabulary for allow- and deny-modes. To be compatible with servers that implement that, use [[setDenyModesV2]].
Type parameters#
Name |
Type |
---|---|
|
extends |
Parameters#
Name |
Type |
Description |
---|---|---|
|
|
The Policy on which to set the modes to disallow. |
|
|
Modes to disallow for this Policy. |
Returns#
P
Defined in#
setGroup#
▸ setGroup(rule
, group
): Rule
Note
There is no Access Control Policies specification yet. As such, this function is still experimental and subject to change, even in a non-major release.
Overwrite the groups the [[Rule]] applies to with the provided groups.
Since
1.6.0
Deprecated
Access Control Policies will no longer support vcard:Group. You can re-use a Rule listing multiple Agents to get the same functionality.
Parameters#
Name |
Type |
Description |
---|---|---|
|
The rule for which groups are set. |
|
|
|
The group the rule should apply to. |
Returns#
Rule
A copy of the input rule, applying to a different set of groups.
Defined in#
setNoneOfRuleUrl#
▸ setNoneOfRuleUrl<P
>(policy
, rule
): P
Note
There is no Access Control Policies specification yet. As such, this function is still experimental and subject to change, even in a non-major release.
Set the rules restrincting the scope of a given the [[Policy]]. If an agent requesting access to a resource is present in any of the “None Of” rules, they will not be granted access.
Since
1.6.0
Type parameters#
Name |
Type |
---|---|
|
extends |
Parameters#
Name |
Type |
Description |
---|---|---|
|
|
The [[Policy]] to which the rule should be added. |
|
|
- |
Returns#
P
A new [[Policy]] clone of the original one, with the “Any Of” rules replaced.
Defined in#
setPublic#
▸ setPublic(rule
): Rule
Note
There is no Access Control Policies specification yet. As such, this function is still experimental and subject to change, even in a non-major release.
Set a Rule to apply to any Agent.
Since
1.6.0
Parameters#
Name |
Type |
Description |
---|---|---|
|
The rule being modified. |
Returns#
Rule
A copy of the rule, updated to apply to any agent.
Defined in#
setResourceAcrPolicy#
▸ setResourceAcrPolicy<ResourceExt
>(resourceWithAcr
, policy
): ResourceExt
Note
There is no Access Control Policies specification yet. As such, this function is still experimental and subject to change, even in a non-major release.
Insert the given [[ResourcePolicy]] into the given Resource’s Acccess Control Resource, replacing previous instances of that Policy, to apply to the Access Control Resource itself.
Since
1.6.0
Type parameters#
Name |
Type |
---|---|
|
extends |
Parameters#
Name |
Type |
Description |
---|---|---|
|
|
The Resource whose Access Control Resource contains Access Policies. |
|
The Policy to insert into the Resource’s Access Control Resource. |
Returns#
ResourceExt
A new Resource equal to the given Resource, but with the given Policy in its Access Control Resource, applying to that Access Control Resource.
Defined in#
setResourcePolicy#
▸ setResourcePolicy<ResourceExt
>(resourceWithAcr
, policy
): ResourceExt
Note
There is no Access Control Policies specification yet. As such, this function is still experimental and subject to change, even in a non-major release.
Insert the given [[ResourcePolicy]] into the given Resource’s Acccess Control Resource, replacing previous instances of that Policy.
Since
1.6.0
Type parameters#
Name |
Type |
---|---|
|
extends |
Parameters#
Name |
Type |
Description |
---|---|---|
|
|
The Resource whose Access Control Resource contains Access Policies. |
|
The Policy to insert into the Resource’s Access Control Resource. |
Returns#
ResourceExt
A new Resource equal to the given Resource, but with the given Policy in its Access Control Resource.
Defined in#
setResourceRule#
▸ setResourceRule<ResourceExt
>(resourceWithAcr
, rule
): ResourceExt
Note
There is no Access Control Policies specification yet. As such, this function is still experimental and subject to change, even in a non-major release.
Insert the given [[ResourceRule]] into the given Resource’s Access Control Resource, replacing previous instances of that Rule.
Since
1.6.0
Type parameters#
Name |
Type |
---|---|
|
extends |
Parameters#
Name |
Type |
Description |
---|---|---|
|
|
The Resource whose Access Control Resource contains (zero or more) [[ResourceRule]]s. |
|
- |
Returns#
ResourceExt
A new Resource equal to the given Resource, but with the given Rule in its ACR.
Defined in#
setRule#
▸ setRule<Dataset
>(ruleResource
, rule
): Dataset
Note
There is no Access Control Policies specification yet. As such, this function is still experimental and subject to change, even in a non-major release.
Insert the given [[Rule]] into the given [[SolidDataset]], replacing previous instances of that Rule.
Since
1.6.0
Type parameters#
Name |
Type |
---|---|
|
extends |
Parameters#
Name |
Type |
Description |
---|---|---|
|
|
The Resource that contains (zero or more) [[Rule]]s. |
|
- |
Returns#
Dataset
A new SolidDataset equal to the given Rule Resource, but with the given Rule.