@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.
Parameters#
Name |
Type |
Description |
---|---|---|
|
|
The Resource with an attached Access Control Resource of which you want to get a human-readable representation. |
Returns#
string
Since
1.6.0
Deprecated
Defined in#
src/acp/control.ts:555
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.
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.
Since
1.6.0
Defined in#
src/acp/control.ts:139
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.
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.
Since
1.6.0
Defined in#
src/acp/rule.ts:609
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]].
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.
Since
1.6.0
Defined in#
src/acp/rule.ts:87
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]].
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.
Since
1.6.0
Defined in#
src/acp/rule.ts:166
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.
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.
Since
1.6.0
Defined in#
src/acp/rule.ts:920
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.
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.
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.
Defined in#
src/acp/rule.ts:676
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.
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.
Since
1.6.0
Defined in#
src/acp/control.ts:167
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.
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.
Since
1.6.0
Defined in#
src/acp/control.ts:381
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]].
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.
Since
1.6.0
Defined in#
src/acp/rule.ts:245
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.
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.
Since
1.6.0
Defined in#
src/acp/control.ts:358
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.
Parameters#
Name |
Type |
Description |
---|---|---|
|
|
The Resource to which the new Rule is to apply. |
|
|
Name that identifies this [[Rule]]. |
Returns#
ResourceRule
Since
1.6.0
Defined in#
src/acp/rule.ts:336
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]].
Parameters#
Name |
Type |
Description |
---|---|---|
|
|
URL that identifies this [[Rule]]. |
Returns#
Rule
Since
1.6.0
Defined in#
src/acp/rule.ts:318
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.
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.
Since
1.6.0
Defined in#
src/acp/control.ts:194
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.
Parameters#
Name |
Type |
Description |
---|---|---|
|
The rule from which agents are read. |
Returns#
WebId
[]
A list of the WebIDs of agents included in the rule.
Since
1.6.0
Defined in#
src/acp/rule.ts:556
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]]
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
Since
1.6.0
Defined in#
src/acp/rule.ts:144
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.
Type parameters#
Name |
Type |
---|---|
|
extends |
Parameters#
Name |
Type |
Description |
---|---|---|
|
|
The Policy for which you want to know the Access Modes it allows. |
Returns#
AccessModes
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]].
Defined in#
src/acp/policy.ts:294
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]]
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
Since
1.6.0
Defined in#
src/acp/rule.ts:223
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.
Parameters#
Name |
Type |
Description |
---|---|---|
|
The rule from which clients are read. |
Returns#
WebId
[]
A list of the WebIDs of clients included in the rule.
Since
1.6.0
Defined in#
src/acp/rule.ts:878
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.
Type parameters#
Name |
Type |
---|---|
|
extends |
Parameters#
Name |
Type |
Description |
---|---|---|
|
|
The Policy on which you want to know the Access Modes it disallows. |
Returns#
AccessModes
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]].
Defined in#
src/acp/policy.ts:412
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.
Parameters#
Name |
Type |
Description |
---|---|---|
|
The rule from which groups are read. |
Returns#
A list of the [[URL]]’s of groups included in the rule.
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.
Defined in#
src/acp/rule.ts:642
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.
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.
Since
1.6.0
Defined in#
src/acp/control.ts:219
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.
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.
Since
1.6.0
Defined in#
src/acp/control.ts:427
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]]
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
Since
1.6.0
Defined in#
src/acp/rule.ts:302
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.
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.
Since
1.6.0
Defined in#
src/acp/control.ts:402
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.
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.
Since
1.6.0
Defined in#
src/acp/rule.ts:384
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.
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.
Since
1.6.0
Defined in#
src/acp/rule.ts:426
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]].
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.
Since
1.6.0
Defined in#
src/acp/rule.ts:360
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]].
Parameters#
Name |
Type |
Description |
---|---|---|
|
|
The Resource that contains (zero or more) [[Rule]]s. |
Returns#
Rule
[]
The [[Rule]]s contained in this resource.
Since
1.6.0
Defined in#
src/acp/rule.ts:410
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.
Parameters#
Name |
Type |
Description |
---|---|---|
|
The rule checked for authenticated access. |
Returns#
boolean
Whether the rule applies to public clients.
Since
1.6.0
Defined in#
src/acp/rule.ts:952
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.
Parameters#
Name |
Type |
Description |
---|---|---|
|
The rule checked for authenticated access. |
Returns#
boolean
Whether the rule applies to any authenticated agent or not.
Since
1.6.0
Defined in#
src/acp/rule.ts:764
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.
Parameters#
Name |
Type |
Description |
---|---|---|
|
The rule checked for authenticated access. |
Returns#
boolean
Whether the rule applies to the creator of the Resource or not.
Since
1.6.0
Defined in#
src/acp/rule.ts:821
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.
Parameters#
Name |
Type |
Description |
---|---|---|
|
The rule checked for public access. |
Returns#
boolean
Whether the rule applies to any agent or not.
Since
1.6.0
Defined in#
src/acp/rule.ts:708
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.
Parameters#
Name |
Type |
Description |
---|---|---|
|
The Policy to get a human-readable representation of. |
Returns#
string
Since
1.6.0
Deprecated
Defined in#
src/acp/policy.ts:729
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.
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.
Since
1.6.0
Defined in#
src/acp/control.ts:244
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.
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.
Since
1.6.0
Defined in#
src/acp/rule.ts:626
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.
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.
Since
1.6.0
Defined in#
src/acp/rule.ts:107
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.
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
Since
1.6.0
Defined in#
src/acp/rule.ts:986
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.
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.
Since
1.6.0
Defined in#
src/acp/rule.ts:186
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.
Parameters#
Name |
Type |
Description |
---|---|---|
|
The rule being modified. |
Returns#
Rule
A copy of the rule, updated to apply/not apply to any authenticated agent.
Since
1.6.0
Defined in#
src/acp/rule.ts:806
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.
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.
Since
1.6.0
Defined in#
src/acp/rule.ts:936
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.
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.
Since
1.6.0
Defined in#
src/acp/rule.ts:862
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.
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.
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.
Defined in#
src/acp/rule.ts:693
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.
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.
Since
1.6.0
Defined in#
src/acp/control.ts:274
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.
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.
Since
1.6.0
Defined in#
src/acp/control.ts:480
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.
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.
Since
1.6.0
Defined in#
src/acp/rule.ts:265
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.
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.
Since
1.6.0
Defined in#
src/acp/control.ts:453
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.
Parameters#
Name |
Type |
Description |
---|---|---|
|
The rule being modified. |
Returns#
Rule
A copy of the rule, updated to no longer apply to any agent.
Since
1.6.0
Defined in#
src/acp/rule.ts:749
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.
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.
Since
1.6.0
Defined in#
src/acp/rule.ts:463
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]].
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.
Since
1.6.0
Defined in#
src/acp/rule.ts:445
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.
Parameters#
Name |
Type |
Description |
---|---|---|
|
The Rule to get a human-readable representation of. |
Returns#
string
Since
1.6.0
Defined in#
src/acp/rule.ts:999
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.
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.
Since
1.6.0
Defined in#
src/acp/rule.ts:577
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.
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.
Since
1.6.0
Defined in#
src/acp/rule.ts:127
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.
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
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]].
Defined in#
src/acp/policy.ts:241
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.
Parameters#
Name |
Type |
Description |
---|---|---|
|
The rule for which clients are set. |
Returns#
Rule
A copy of the rule, updated to apply to any client
Since
1.6.0
Defined in#
src/acp/rule.ts:971
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.
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.
Since
1.6.0
Defined in#
src/acp/rule.ts:206
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.
Parameters#
Name |
Type |
Description |
---|---|---|
|
The rule being modified. |
Returns#
Rule
A copy of the rule, updated to apply to any authenticated Agent.
Since
1.6.0
Defined in#
src/acp/rule.ts:783
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.
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.
Since
1.6.0
Defined in#
src/acp/rule.ts:896
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.
Parameters#
Name |
Type |
Description |
---|---|---|
|
The rule being modified. |
Returns#
Rule
A copy of the rule, updated to apply to the creator of a Resource.
Since
1.6.0
Defined in#
src/acp/rule.ts:839
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.
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
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]].
Defined in#
src/acp/policy.ts:359
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.
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.
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.
Defined in#
src/acp/rule.ts:659
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.
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.
Since
1.6.0
Defined in#
src/acp/rule.ts:285
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.
Parameters#
Name |
Type |
Description |
---|---|---|
|
The rule being modified. |
Returns#
Rule
A copy of the rule, updated to apply to any agent.
Since
1.6.0
Defined in#
src/acp/rule.ts:726
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.
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.
Since
1.6.0
Defined in#
src/acp/policy.ts:708
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.
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.
Since
1.6.0
Defined in#
src/acp/policy.ts:683
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.
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.
Since
1.6.0
Defined in#
src/acp/rule.ts:533
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.
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.
Since
1.6.0
Defined in#
src/acp/rule.ts:514