CommunitySolidServer/docs/classes/ComposedAuxiliaryStrategy.html

41 lines
39 KiB
HTML

<!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>ComposedAuxiliaryStrategy | Community Solid Server - v4.0.1</title><meta name="description" content="Documentation for Community Solid Server - v4.0.1"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script async src="../assets/search.js" id="search-script"></script></head><body><script>document.body.classList.add(localStorage.getItem("tsd-theme") || "os")</script><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">Community Solid Server - v4.0.1</a></div><div class="table-cell" id="tsd-widgets"><div id="tsd-filter"><a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a><div class="tsd-filter-group"><div class="tsd-select" id="tsd-filter-visibility"><span class="tsd-select-label">All</span><ul class="tsd-select-list"><li data-value="public">Public</li><li data-value="protected">Public/Protected</li><li data-value="private" class="selected">All</li></ul></div> <input type="checkbox" id="tsd-filter-inherited" checked/><label class="tsd-widget" for="tsd-filter-inherited">Inherited</label><input type="checkbox" id="tsd-filter-externals" checked/><label class="tsd-widget" for="tsd-filter-externals">Externals</label></div></div><a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a></div></div></div></div><div class="tsd-page-title"><div class="container"><ul class="tsd-breadcrumb"><li><a href="../modules.html">Community Solid Server - v4.0.1</a></li><li><a href="ComposedAuxiliaryStrategy.html">ComposedAuxiliaryStrategy</a></li></ul><h1>Class ComposedAuxiliaryStrategy</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><div class="lead">
<p>An <a href="../interfaces/AuxiliaryStrategy.html">AuxiliaryStrategy</a> that provides its functionality through the combination of
an <a href="../interfaces/AuxiliaryIdentifierStrategy.html">AuxiliaryIdentifierStrategy</a>, <a href="MetadataGenerator.html">MetadataGenerator</a> and <a href="Validator.html">Validator</a>.</p>
</div></div></section><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">ComposedAuxiliaryStrategy</span></li></ul></section><section class="tsd-panel"><h3>Implements</h3><ul class="tsd-hierarchy"><li><a href="../interfaces/AuxiliaryStrategy.html" class="tsd-signature-type" data-tsd-kind="Interface">AuxiliaryStrategy</a></li></ul></section><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Constructors</h3><ul class="tsd-index-list"><li class="tsd-kind-constructor tsd-parent-kind-class"><a href="ComposedAuxiliaryStrategy.html#constructor" class="tsd-kind-icon">constructor</a></li></ul></section><section class="tsd-index-section tsd-is-private tsd-is-private-protected"><h3>Properties</h3><ul class="tsd-index-list"><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><a href="ComposedAuxiliaryStrategy.html#identifierStrategy" class="tsd-kind-icon">identifier<wbr/>Strategy</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><a href="ComposedAuxiliaryStrategy.html#metadataGenerator" class="tsd-kind-icon">metadata<wbr/>Generator</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><a href="ComposedAuxiliaryStrategy.html#ownAuthorization" class="tsd-kind-icon">own<wbr/>Authorization</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><a href="ComposedAuxiliaryStrategy.html#requiredInRoot" class="tsd-kind-icon">required<wbr/>In<wbr/>Root</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><a href="ComposedAuxiliaryStrategy.html#validator" class="tsd-kind-icon">validator</a></li></ul></section><section class="tsd-index-section "><h3>Methods</h3><ul class="tsd-index-list"><li class="tsd-kind-method tsd-parent-kind-class"><a href="ComposedAuxiliaryStrategy.html#addMetadata" class="tsd-kind-icon">add<wbr/>Metadata</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="ComposedAuxiliaryStrategy.html#getAuxiliaryIdentifier" class="tsd-kind-icon">get<wbr/>Auxiliary<wbr/>Identifier</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="ComposedAuxiliaryStrategy.html#getAuxiliaryIdentifiers" class="tsd-kind-icon">get<wbr/>Auxiliary<wbr/>Identifiers</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="ComposedAuxiliaryStrategy.html#getSubjectIdentifier" class="tsd-kind-icon">get<wbr/>Subject<wbr/>Identifier</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="ComposedAuxiliaryStrategy.html#isAuxiliaryIdentifier" class="tsd-kind-icon">is<wbr/>Auxiliary<wbr/>Identifier</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="ComposedAuxiliaryStrategy.html#isRequiredInRoot" class="tsd-kind-icon">is<wbr/>Required<wbr/>In<wbr/>Root</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="ComposedAuxiliaryStrategy.html#usesOwnAuthorization" class="tsd-kind-icon">uses<wbr/>Own<wbr/>Authorization</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="ComposedAuxiliaryStrategy.html#validate" class="tsd-kind-icon">validate</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Constructors</h2><section class="tsd-panel tsd-member tsd-kind-constructor tsd-parent-kind-class"><a id="constructor" class="tsd-anchor"></a><h3 class="tsd-anchor-link">constructor<a href="#constructor" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-constructor tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">new <wbr/>Composed<wbr/>Auxiliary<wbr/>Strategy<span class="tsd-signature-symbol">(</span>identifierStrategy<span class="tsd-signature-symbol">: </span><a href="../interfaces/AuxiliaryIdentifierStrategy.html" class="tsd-signature-type" data-tsd-kind="Interface">AuxiliaryIdentifierStrategy</a>, metadataGenerator<span class="tsd-signature-symbol">?: </span><a href="MetadataGenerator.html" class="tsd-signature-type" data-tsd-kind="Class">MetadataGenerator</a>, validator<span class="tsd-signature-symbol">?: </span><a href="Validator.html" class="tsd-signature-type" data-tsd-kind="Class">Validator</a>, ownAuthorization<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span>, requiredInRoot<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="ComposedAuxiliaryStrategy.html" class="tsd-signature-type" data-tsd-kind="Class">ComposedAuxiliaryStrategy</a></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/CommunitySolidServer/CommunitySolidServer/blob/5b48766/src/http/auxiliary/ComposedAuxiliaryStrategy.ts#L20">src/http/auxiliary/ComposedAuxiliaryStrategy.ts:20</a></li></ul></aside><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>identifierStrategy: <a href="../interfaces/AuxiliaryIdentifierStrategy.html" class="tsd-signature-type" data-tsd-kind="Interface">AuxiliaryIdentifierStrategy</a></h5></li><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> metadataGenerator: <a href="MetadataGenerator.html" class="tsd-signature-type" data-tsd-kind="Class">MetadataGenerator</a></h5></li><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> validator: <a href="Validator.html" class="tsd-signature-type" data-tsd-kind="Class">Validator</a></h5></li><li><h5>ownAuthorization: <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol"> = false</span></h5></li><li><h5>requiredInRoot: <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol"> = false</span></h5></li></ul><h4 class="tsd-returns-title">Returns <a href="ComposedAuxiliaryStrategy.html" class="tsd-signature-type" data-tsd-kind="Class">ComposedAuxiliaryStrategy</a></h4></li></ul></section></section><section class="tsd-panel-group tsd-member-group tsd-is-private tsd-is-private-protected"><h2>Properties</h2><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-private"><a id="identifierStrategy" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagPrivate">Private</span> <span class="tsd-flag ts-flagReadonly">Readonly</span> identifier<wbr/>Strategy<a href="#identifierStrategy" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">identifier<wbr/>Strategy<span class="tsd-signature-symbol">:</span> <a href="../interfaces/AuxiliaryIdentifierStrategy.html" class="tsd-signature-type" data-tsd-kind="Interface">AuxiliaryIdentifierStrategy</a></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/CommunitySolidServer/CommunitySolidServer/blob/5b48766/src/http/auxiliary/ComposedAuxiliaryStrategy.ts#L14">src/http/auxiliary/ComposedAuxiliaryStrategy.ts:14</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-private"><a id="metadataGenerator" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagPrivate">Private</span> <span class="tsd-flag ts-flagOptional">Optional</span> <span class="tsd-flag ts-flagReadonly">Readonly</span> metadata<wbr/>Generator<a href="#metadataGenerator" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">metadata<wbr/>Generator<span class="tsd-signature-symbol">?:</span> <a href="MetadataGenerator.html" class="tsd-signature-type" data-tsd-kind="Class">MetadataGenerator</a></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/CommunitySolidServer/CommunitySolidServer/blob/5b48766/src/http/auxiliary/ComposedAuxiliaryStrategy.ts#L15">src/http/auxiliary/ComposedAuxiliaryStrategy.ts:15</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-private"><a id="ownAuthorization" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagPrivate">Private</span> <span class="tsd-flag ts-flagReadonly">Readonly</span> own<wbr/>Authorization<a href="#ownAuthorization" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">own<wbr/>Authorization<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/CommunitySolidServer/CommunitySolidServer/blob/5b48766/src/http/auxiliary/ComposedAuxiliaryStrategy.ts#L17">src/http/auxiliary/ComposedAuxiliaryStrategy.ts:17</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-private"><a id="requiredInRoot" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagPrivate">Private</span> <span class="tsd-flag ts-flagReadonly">Readonly</span> required<wbr/>In<wbr/>Root<a href="#requiredInRoot" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">required<wbr/>In<wbr/>Root<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/CommunitySolidServer/CommunitySolidServer/blob/5b48766/src/http/auxiliary/ComposedAuxiliaryStrategy.ts#L18">src/http/auxiliary/ComposedAuxiliaryStrategy.ts:18</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-private"><a id="validator" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagPrivate">Private</span> <span class="tsd-flag ts-flagOptional">Optional</span> <span class="tsd-flag ts-flagReadonly">Readonly</span> validator<a href="#validator" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">validator<span class="tsd-signature-symbol">?:</span> <a href="Validator.html" class="tsd-signature-type" data-tsd-kind="Class">Validator</a></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/CommunitySolidServer/CommunitySolidServer/blob/5b48766/src/http/auxiliary/ComposedAuxiliaryStrategy.ts#L16">src/http/auxiliary/ComposedAuxiliaryStrategy.ts:16</a></li></ul></aside></section></section><section class="tsd-panel-group tsd-member-group "><h2>Methods</h2><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="addMetadata" class="tsd-anchor"></a><h3 class="tsd-anchor-link">add<wbr/>Metadata<a href="#addMetadata" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">add<wbr/>Metadata<span class="tsd-signature-symbol">(</span>metadata<span class="tsd-signature-symbol">: </span><a href="RepresentationMetadata.html" class="tsd-signature-type" data-tsd-kind="Class">RepresentationMetadata</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Implementation of <a href="../interfaces/AuxiliaryStrategy.html">AuxiliaryStrategy</a>.<a href="../interfaces/AuxiliaryStrategy.html#addMetadata">addMetadata</a></p><ul><li>Defined in <a href="https://github.com/CommunitySolidServer/CommunitySolidServer/blob/5b48766/src/http/auxiliary/ComposedAuxiliaryStrategy.ts#L53">src/http/auxiliary/ComposedAuxiliaryStrategy.ts:53</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Adds metadata related to this auxiliary resource,
in case this is required for this type of auxiliary resource.
The metadata that is added depends on the given identifier being an auxiliary or subject resource:
the metadata will be used to link to the other one, and potentially add extra typing info.</p>
</div><div><p>Used for:
Solid, §4.3.1: &quot;For any defined auxiliary resource available for a given Solid resource, all representations of
that resource MUST include an HTTP Link header pointing to the location of each auxiliary resource.&quot;
<a href="https://solid.github.io/specification/protocol#auxiliary-resources-server">https://solid.github.io/specification/protocol#auxiliary-resources-server</a></p>
<p>The above is an example of how that metadata would only be added in case the input is the subject identifier.</p>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>metadata: <a href="RepresentationMetadata.html" class="tsd-signature-type" data-tsd-kind="Class">RepresentationMetadata</a></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="getAuxiliaryIdentifier" class="tsd-anchor"></a><h3 class="tsd-anchor-link">get<wbr/>Auxiliary<wbr/>Identifier<a href="#getAuxiliaryIdentifier" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">get<wbr/>Auxiliary<wbr/>Identifier<span class="tsd-signature-symbol">(</span>identifier<span class="tsd-signature-symbol">: </span><a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Implementation of <a href="../interfaces/AuxiliaryStrategy.html">AuxiliaryStrategy</a>.<a href="../interfaces/AuxiliaryStrategy.html#getAuxiliaryIdentifier">getAuxiliaryIdentifier</a></p><ul><li>Defined in <a href="https://github.com/CommunitySolidServer/CommunitySolidServer/blob/5b48766/src/http/auxiliary/ComposedAuxiliaryStrategy.ts#L29">src/http/auxiliary/ComposedAuxiliaryStrategy.ts:29</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Returns the identifier of the auxiliary resource corresponding to the given resource.
This does not guarantee that this auxiliary resource exists.</p>
</div><div><p>Should error if there are multiple results: see <a href="ComposedAuxiliaryStrategy.html#getAuxiliaryIdentifiers">getAuxiliaryIdentifiers</a>.</p>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>identifier: <a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a></h5></li></ul><h4 class="tsd-returns-title">Returns <a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a></h4><div><p>The ResourceIdentifier of the corresponding auxiliary resource.</p>
</div></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="getAuxiliaryIdentifiers" class="tsd-anchor"></a><h3 class="tsd-anchor-link">get<wbr/>Auxiliary<wbr/>Identifiers<a href="#getAuxiliaryIdentifiers" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">get<wbr/>Auxiliary<wbr/>Identifiers<span class="tsd-signature-symbol">(</span>identifier<span class="tsd-signature-symbol">: </span><a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a><span class="tsd-signature-symbol">[]</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Implementation of <a href="../interfaces/AuxiliaryStrategy.html">AuxiliaryStrategy</a>.<a href="../interfaces/AuxiliaryStrategy.html#getAuxiliaryIdentifiers">getAuxiliaryIdentifiers</a></p><ul><li>Defined in <a href="https://github.com/CommunitySolidServer/CommunitySolidServer/blob/5b48766/src/http/auxiliary/ComposedAuxiliaryStrategy.ts#L33">src/http/auxiliary/ComposedAuxiliaryStrategy.ts:33</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Returns all the identifiers of corresponding auxiliary resources.
This can be used when there are potentially multiple results.
In the case of a single result this should be an array containing the result of <a href="ComposedAuxiliaryStrategy.html#getAuxiliaryIdentifier">getAuxiliaryIdentifier</a>.</p>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>identifier: <a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a></h5></li></ul><h4 class="tsd-returns-title">Returns <a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a><span class="tsd-signature-symbol">[]</span></h4><div><p>The ResourceIdentifiers of the corresponding auxiliary resources.</p>
</div></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="getSubjectIdentifier" class="tsd-anchor"></a><h3 class="tsd-anchor-link">get<wbr/>Subject<wbr/>Identifier<a href="#getSubjectIdentifier" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">get<wbr/>Subject<wbr/>Identifier<span class="tsd-signature-symbol">(</span>identifier<span class="tsd-signature-symbol">: </span><a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Implementation of <a href="../interfaces/AuxiliaryStrategy.html">AuxiliaryStrategy</a>.<a href="../interfaces/AuxiliaryStrategy.html#getSubjectIdentifier">getSubjectIdentifier</a></p><ul><li>Defined in <a href="https://github.com/CommunitySolidServer/CommunitySolidServer/blob/5b48766/src/http/auxiliary/ComposedAuxiliaryStrategy.ts#L41">src/http/auxiliary/ComposedAuxiliaryStrategy.ts:41</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Returns the identifier of the resource which this auxiliary resource is referring to.
This does not guarantee that this resource exists.</p>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>identifier: <a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a></h5></li></ul><h4 class="tsd-returns-title">Returns <a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a></h4><div><p>The ResourceIdentifier of the subject resource.</p>
</div></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="isAuxiliaryIdentifier" class="tsd-anchor"></a><h3 class="tsd-anchor-link">is<wbr/>Auxiliary<wbr/>Identifier<a href="#isAuxiliaryIdentifier" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">is<wbr/>Auxiliary<wbr/>Identifier<span class="tsd-signature-symbol">(</span>identifier<span class="tsd-signature-symbol">: </span><a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Implementation of <a href="../interfaces/AuxiliaryStrategy.html">AuxiliaryStrategy</a>.<a href="../interfaces/AuxiliaryStrategy.html#isAuxiliaryIdentifier">isAuxiliaryIdentifier</a></p><ul><li>Defined in <a href="https://github.com/CommunitySolidServer/CommunitySolidServer/blob/5b48766/src/http/auxiliary/ComposedAuxiliaryStrategy.ts#L37">src/http/auxiliary/ComposedAuxiliaryStrategy.ts:37</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Checks if the input identifier corresponds to an auxiliary resource.
This does not check if that auxiliary resource exists,
only if the identifier indicates that there could be an auxiliary resource there.</p>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>identifier: <a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><div><p>true if the input identifier points to an auxiliary resource.</p>
</div></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="isRequiredInRoot" class="tsd-anchor"></a><h3 class="tsd-anchor-link">is<wbr/>Required<wbr/>In<wbr/>Root<a href="#isRequiredInRoot" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">is<wbr/>Required<wbr/>In<wbr/>Root<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Implementation of <a href="../interfaces/AuxiliaryStrategy.html">AuxiliaryStrategy</a>.<a href="../interfaces/AuxiliaryStrategy.html#isRequiredInRoot">isRequiredInRoot</a></p><ul><li>Defined in <a href="https://github.com/CommunitySolidServer/CommunitySolidServer/blob/5b48766/src/http/auxiliary/ComposedAuxiliaryStrategy.ts#L49">src/http/auxiliary/ComposedAuxiliaryStrategy.ts:49</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Whether the root storage container requires this auxiliary resource to be present.
If yes, this means they can&#39;t be deleted individually from such a container.</p>
</div></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="usesOwnAuthorization" class="tsd-anchor"></a><h3 class="tsd-anchor-link">uses<wbr/>Own<wbr/>Authorization<a href="#usesOwnAuthorization" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">uses<wbr/>Own<wbr/>Authorization<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Implementation of <a href="../interfaces/AuxiliaryStrategy.html">AuxiliaryStrategy</a>.<a href="../interfaces/AuxiliaryStrategy.html#usesOwnAuthorization">usesOwnAuthorization</a></p><ul><li>Defined in <a href="https://github.com/CommunitySolidServer/CommunitySolidServer/blob/5b48766/src/http/auxiliary/ComposedAuxiliaryStrategy.ts#L45">src/http/auxiliary/ComposedAuxiliaryStrategy.ts:45</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Whether this auxiliary resources uses its own authorization instead of the subject resource authorization.</p>
</div></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="validate" class="tsd-anchor"></a><h3 class="tsd-anchor-link">validate<a href="#validate" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">validate<span class="tsd-signature-symbol">(</span>representation<span class="tsd-signature-symbol">: </span><a href="../interfaces/Representation.html" class="tsd-signature-type" data-tsd-kind="Interface">Representation</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Implementation of <a href="../interfaces/AuxiliaryStrategy.html">AuxiliaryStrategy</a>.<a href="../interfaces/AuxiliaryStrategy.html#validate">validate</a></p><ul><li>Defined in <a href="https://github.com/CommunitySolidServer/CommunitySolidServer/blob/5b48766/src/http/auxiliary/ComposedAuxiliaryStrategy.ts#L59">src/http/auxiliary/ComposedAuxiliaryStrategy.ts:59</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Validates if the representation contains valid data for an auxiliary resource.
Should throw an error in case the data is invalid.</p>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>representation: <a href="../interfaces/Representation.html" class="tsd-signature-type" data-tsd-kind="Interface">Representation</a></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4></li></ul></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../modules.html">Exports</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-class"><a href="ComposedAuxiliaryStrategy.html" class="tsd-kind-icon">Composed<wbr/>Auxiliary<wbr/>Strategy</a><ul><li class="tsd-kind-constructor tsd-parent-kind-class"><a href="ComposedAuxiliaryStrategy.html#constructor" class="tsd-kind-icon">constructor</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><a href="ComposedAuxiliaryStrategy.html#identifierStrategy" class="tsd-kind-icon">identifier<wbr/>Strategy</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><a href="ComposedAuxiliaryStrategy.html#metadataGenerator" class="tsd-kind-icon">metadata<wbr/>Generator</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><a href="ComposedAuxiliaryStrategy.html#ownAuthorization" class="tsd-kind-icon">own<wbr/>Authorization</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><a href="ComposedAuxiliaryStrategy.html#requiredInRoot" class="tsd-kind-icon">required<wbr/>In<wbr/>Root</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><a href="ComposedAuxiliaryStrategy.html#validator" class="tsd-kind-icon">validator</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="ComposedAuxiliaryStrategy.html#addMetadata" class="tsd-kind-icon">add<wbr/>Metadata</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="ComposedAuxiliaryStrategy.html#getAuxiliaryIdentifier" class="tsd-kind-icon">get<wbr/>Auxiliary<wbr/>Identifier</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="ComposedAuxiliaryStrategy.html#getAuxiliaryIdentifiers" class="tsd-kind-icon">get<wbr/>Auxiliary<wbr/>Identifiers</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="ComposedAuxiliaryStrategy.html#getSubjectIdentifier" class="tsd-kind-icon">get<wbr/>Subject<wbr/>Identifier</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="ComposedAuxiliaryStrategy.html#isAuxiliaryIdentifier" class="tsd-kind-icon">is<wbr/>Auxiliary<wbr/>Identifier</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="ComposedAuxiliaryStrategy.html#isRequiredInRoot" class="tsd-kind-icon">is<wbr/>Required<wbr/>In<wbr/>Root</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="ComposedAuxiliaryStrategy.html#usesOwnAuthorization" class="tsd-kind-icon">uses<wbr/>Own<wbr/>Authorization</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="ComposedAuxiliaryStrategy.html#validate" class="tsd-kind-icon">validate</a></li></ul></li></ul></nav></div></div></div><footer class=""><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li><li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li><li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li><li class="tsd-kind-accessor tsd-parent-kind-class"><span class="tsd-kind-icon">Accessor</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-constructor tsd-parent-kind-interface"><span class="tsd-kind-icon">Constructor</span></li><li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li><li class="tsd-kind-method tsd-parent-kind-interface"><span class="tsd-kind-icon">Method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited constructor</span></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited property</span></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected property</span></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private property</span></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-method tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static method</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="overlay"></div><script src="../assets/main.js"></script></body></html>