CommunitySolidServer/7.x/docs/classes/ValidatingDataAccessor.html

52 lines
38 KiB
HTML

<!DOCTYPE html><html class="default" lang="en"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>ValidatingDataAccessor | Community Solid Server - v7.1.0</title><meta name="description" content="Documentation for Community Solid Server"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><link rel="stylesheet" href="../assets/custom.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></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 - v7.1.0</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">Community Solid Server</a></li><li><a href="ValidatingDataAccessor.html">ValidatingDataAccessor</a></li></ul><h1>Class ValidatingDataAccessor</h1></div><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><p>A ValidatingDataAccessor wraps a DataAccessor such that the data stream is validated while being written.
An AtomicDataAccessor can be used to prevent data being written in case validation fails.</p>
</div><div class="tsd-comment tsd-typography"></div></section><section class="tsd-panel tsd-hierarchy"><h4>Hierarchy (<a href="../hierarchy.html#ValidatingDataAccessor">view full</a>)</h4><ul class="tsd-hierarchy"><li><a href="PassthroughDataAccessor.html" class="tsd-signature-type tsd-kind-class">PassthroughDataAccessor</a><ul class="tsd-hierarchy"><li><span class="target">ValidatingDataAccessor</span></li></ul></li></ul></section><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/CommunitySolidServer/CommunitySolidServer/blob/576eefede63937f08b831b1e49cafe4a96a716f7/src/storage/accessors/ValidatingDataAccessor.ts#L14">src/storage/accessors/ValidatingDataAccessor.ts:14</a></li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex="0"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-chevronSmall"></use></svg> Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Constructors</h3><div class="tsd-index-list"><a href="ValidatingDataAccessor.html#constructor" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-512"></use></svg><span>constructor</span></a>
</div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Properties</h3><div class="tsd-index-list"><a href="ValidatingDataAccessor.html#accessor" class="tsd-index-link tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>accessor</span></a>
</div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Methods</h3><div class="tsd-index-list"><a href="ValidatingDataAccessor.html#canHandle" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>can<wbr/>Handle</span></a>
<a href="ValidatingDataAccessor.html#deleteResource" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>delete<wbr/>Resource</span></a>
<a href="ValidatingDataAccessor.html#getChildren" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>get<wbr/>Children</span></a>
<a href="ValidatingDataAccessor.html#getData" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>get<wbr/>Data</span></a>
<a href="ValidatingDataAccessor.html#getMetadata" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>get<wbr/>Metadata</span></a>
<a href="ValidatingDataAccessor.html#writeContainer" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>write<wbr/>Container</span></a>
<a href="ValidatingDataAccessor.html#writeDocument" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>write<wbr/>Document</span></a>
<a href="ValidatingDataAccessor.html#writeMetadata" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>write<wbr/>Metadata</span></a>
</div></section></div></details></section></section><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Constructors"><h2><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg> Constructors</h2></summary><section><section class="tsd-panel tsd-member"><a id="constructor" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>constructor</span><a href="#constructor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="constructor.new_ValidatingDataAccessor" class="tsd-anchor"></a><span class="tsd-kind-constructor-signature">new <wbr/>Validating<wbr/>Data<wbr/>Accessor</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">accessor</span>, <span class="tsd-kind-parameter">validator</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="ValidatingDataAccessor.html" class="tsd-signature-type tsd-kind-class">ValidatingDataAccessor</a><a href="#constructor.new_ValidatingDataAccessor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">accessor</span>: <a href="../interfaces/DataAccessor.html" class="tsd-signature-type tsd-kind-interface">DataAccessor</a></span></li><li><span><span class="tsd-kind-parameter">validator</span>: <a href="Validator.html" class="tsd-signature-type tsd-kind-class">Validator</a></span></li></ul></div><h4 class="tsd-returns-title">Returns <a href="ValidatingDataAccessor.html" class="tsd-signature-type tsd-kind-class">ValidatingDataAccessor</a></h4><aside class="tsd-sources"><p>Overrides <a href="PassthroughDataAccessor.html">PassthroughDataAccessor</a>.<a href="PassthroughDataAccessor.html#constructor">constructor</a></p><ul><li>Defined in <a href="https://github.com/CommunitySolidServer/CommunitySolidServer/blob/576eefede63937f08b831b1e49cafe4a96a716f7/src/storage/accessors/ValidatingDataAccessor.ts#L17">src/storage/accessors/ValidatingDataAccessor.ts:17</a></li></ul></aside></li></ul></section></section></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Properties"><h2><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg> Properties</h2></summary><section><section class="tsd-panel tsd-member tsd-is-protected tsd-is-inherited"><a id="accessor" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag">Protected</code> <code class="tsd-tag">Readonly</code><span>accessor</span><a href="#accessor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">accessor</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/AtomicDataAccessor.html" class="tsd-signature-type tsd-kind-interface">AtomicDataAccessor</a></div><aside class="tsd-sources"><p>Inherited from <a href="PassthroughDataAccessor.html">PassthroughDataAccessor</a>.<a href="PassthroughDataAccessor.html#accessor">accessor</a></p><ul><li>Defined in <a href="https://github.com/CommunitySolidServer/CommunitySolidServer/blob/576eefede63937f08b831b1e49cafe4a96a716f7/src/storage/accessors/PassthroughDataAccessor.ts#L15">src/storage/accessors/PassthroughDataAccessor.ts:15</a></li></ul></aside></section></section></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Methods"><h2><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg> Methods</h2></summary><section><section class="tsd-panel tsd-member tsd-is-inherited"><a id="canHandle" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>can<wbr/>Handle</span><a href="#canHandle" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures tsd-is-inherited"><li class="tsd-signature tsd-anchor-link"><a id="canHandle.canHandle-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">can<wbr/>Handle</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">representation</span><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><a href="#canHandle.canHandle-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Should throw a NotImplementedHttpError if the DataAccessor does not support storing the given Representation.</p>
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">representation</span>: <a href="../interfaces/Representation.html" class="tsd-signature-type tsd-kind-interface">Representation</a></span><div class="tsd-comment tsd-typography"><p>Incoming Representation.</p>
</div><div class="tsd-comment tsd-typography"></div></li></ul></div><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><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Throws" class="tsd-anchor"></a>Throws<a href="#Throws" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p>BadRequestHttpError
If it does not support the incoming data.</p>
</div><aside class="tsd-sources"><p>Inherited from <a href="PassthroughDataAccessor.html">PassthroughDataAccessor</a>.<a href="PassthroughDataAccessor.html#canHandle">canHandle</a></p><ul><li>Defined in <a href="https://github.com/CommunitySolidServer/CommunitySolidServer/blob/576eefede63937f08b831b1e49cafe4a96a716f7/src/storage/accessors/PassthroughDataAccessor.ts#L30">src/storage/accessors/PassthroughDataAccessor.ts:30</a></li></ul></aside></li></ul></section><section class="tsd-panel tsd-member tsd-is-inherited"><a id="deleteResource" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>delete<wbr/>Resource</span><a href="#deleteResource" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures tsd-is-inherited"><li class="tsd-signature tsd-anchor-link"><a id="deleteResource.deleteResource-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">delete<wbr/>Resource</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">identifier</span><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><a href="#deleteResource.deleteResource-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Deletes the resource and its corresponding metadata.</p>
<p>Solid, §5.4: &quot;When a contained resource is deleted, the server MUST also remove the corresponding containment
triple, which has the effect of removing the deleted resource from the containing container.&quot;
<a href="https://solid.github.io/specification/protocol#deleting-resources">https://solid.github.io/specification/protocol#deleting-resources</a></p>
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">identifier</span>: <a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type tsd-kind-interface">ResourceIdentifier</a></span><div class="tsd-comment tsd-typography"><p>Resource to delete.</p>
</div><div class="tsd-comment tsd-typography"></div></li></ul></div><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><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><p>Inherited from <a href="PassthroughDataAccessor.html">PassthroughDataAccessor</a>.<a href="PassthroughDataAccessor.html#deleteResource">deleteResource</a></p><ul><li>Defined in <a href="https://github.com/CommunitySolidServer/CommunitySolidServer/blob/576eefede63937f08b831b1e49cafe4a96a716f7/src/storage/accessors/PassthroughDataAccessor.ts#L50">src/storage/accessors/PassthroughDataAccessor.ts:50</a></li></ul></aside></li></ul></section><section class="tsd-panel tsd-member tsd-is-inherited"><a id="getChildren" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>get<wbr/>Children</span><a href="#getChildren" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures tsd-is-inherited"><li class="tsd-signature tsd-anchor-link"><a id="getChildren.getChildren-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">get<wbr/>Children</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">identifier</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">AsyncIterableIterator</span><span class="tsd-signature-symbol">&lt;</span><a href="RepresentationMetadata.html" class="tsd-signature-type tsd-kind-class">RepresentationMetadata</a><span class="tsd-signature-symbol">&gt;</span><a href="#getChildren.getChildren-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Returns metadata for all resources in the requested container.
This should not be all metadata of those resources (but it can be),
but instead the main metadata you want to show in situations
where all these resources are presented simultaneously.
Generally this would be metadata that is present for all of these resources,
such as resource type or last modified date.</p>
<p>It can be safely assumed that the incoming identifier will always correspond to a container.</p>
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">identifier</span>: <a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type tsd-kind-interface">ResourceIdentifier</a></span><div class="tsd-comment tsd-typography"><p>Identifier of the parent container.</p>
</div><div class="tsd-comment tsd-typography"></div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">AsyncIterableIterator</span><span class="tsd-signature-symbol">&lt;</span><a href="RepresentationMetadata.html" class="tsd-signature-type tsd-kind-class">RepresentationMetadata</a><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><p>Inherited from <a href="PassthroughDataAccessor.html">PassthroughDataAccessor</a>.<a href="PassthroughDataAccessor.html#getChildren">getChildren</a></p><ul><li>Defined in <a href="https://github.com/CommunitySolidServer/CommunitySolidServer/blob/576eefede63937f08b831b1e49cafe4a96a716f7/src/storage/accessors/PassthroughDataAccessor.ts#L46">src/storage/accessors/PassthroughDataAccessor.ts:46</a></li></ul></aside></li></ul></section><section class="tsd-panel tsd-member tsd-is-inherited"><a id="getData" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>get<wbr/>Data</span><a href="#getData" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures tsd-is-inherited"><li class="tsd-signature tsd-anchor-link"><a id="getData.getData-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">get<wbr/>Data</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">identifier</span><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><a href="../types/Guarded.html" class="tsd-signature-type tsd-kind-type-alias">Guarded</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">Readable</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><a href="#getData.getData-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Returns a data stream stored for the given identifier.
It can be assumed that the incoming identifier will always correspond to a document.</p>
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">identifier</span>: <a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type tsd-kind-interface">ResourceIdentifier</a></span><div class="tsd-comment tsd-typography"><p>Identifier for which the data is requested.</p>
</div><div class="tsd-comment tsd-typography"></div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../types/Guarded.html" class="tsd-signature-type tsd-kind-type-alias">Guarded</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">Readable</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><p>Inherited from <a href="PassthroughDataAccessor.html">PassthroughDataAccessor</a>.<a href="PassthroughDataAccessor.html#getData">getData</a></p><ul><li>Defined in <a href="https://github.com/CommunitySolidServer/CommunitySolidServer/blob/576eefede63937f08b831b1e49cafe4a96a716f7/src/storage/accessors/PassthroughDataAccessor.ts#L34">src/storage/accessors/PassthroughDataAccessor.ts:34</a></li></ul></aside></li></ul></section><section class="tsd-panel tsd-member tsd-is-inherited"><a id="getMetadata" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>get<wbr/>Metadata</span><a href="#getMetadata" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures tsd-is-inherited"><li class="tsd-signature tsd-anchor-link"><a id="getMetadata.getMetadata-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">get<wbr/>Metadata</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">identifier</span><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><a href="RepresentationMetadata.html" class="tsd-signature-type tsd-kind-class">RepresentationMetadata</a><span class="tsd-signature-symbol">&gt;</span><a href="#getMetadata.getMetadata-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Returns the metadata corresponding to the identifier.
If possible, it is suggested to add a <code>posix:size</code> triple to the metadata indicating the binary size.
This is necessary for range requests.</p>
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">identifier</span>: <a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type tsd-kind-interface">ResourceIdentifier</a></span><div class="tsd-comment tsd-typography"><p>Identifier for which the metadata is requested.</p>
</div><div class="tsd-comment tsd-typography"></div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="RepresentationMetadata.html" class="tsd-signature-type tsd-kind-class">RepresentationMetadata</a><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><p>Inherited from <a href="PassthroughDataAccessor.html">PassthroughDataAccessor</a>.<a href="PassthroughDataAccessor.html#getMetadata">getMetadata</a></p><ul><li>Defined in <a href="https://github.com/CommunitySolidServer/CommunitySolidServer/blob/576eefede63937f08b831b1e49cafe4a96a716f7/src/storage/accessors/PassthroughDataAccessor.ts#L38">src/storage/accessors/PassthroughDataAccessor.ts:38</a></li></ul></aside></li></ul></section><section class="tsd-panel tsd-member"><a id="writeContainer" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>write<wbr/>Container</span><a href="#writeContainer" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="writeContainer.writeContainer-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">write<wbr/>Container</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">identifier</span>, <span class="tsd-kind-parameter">metadata</span><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><a href="#writeContainer.writeContainer-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Writes metadata for a container.
If the container does not exist yet it should be created,
if it does its metadata should be overwritten, except for the containment triples.</p>
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">identifier</span>: <a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type tsd-kind-interface">ResourceIdentifier</a></span><div class="tsd-comment tsd-typography"><p>Identifier of the container.</p>
</div><div class="tsd-comment tsd-typography"></div></li><li><span><span class="tsd-kind-parameter">metadata</span>: <a href="RepresentationMetadata.html" class="tsd-signature-type tsd-kind-class">RepresentationMetadata</a></span><div class="tsd-comment tsd-typography"><p>Metadata to store.</p>
</div><div class="tsd-comment tsd-typography"></div></li></ul></div><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><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><p>Overrides <a href="PassthroughDataAccessor.html">PassthroughDataAccessor</a>.<a href="PassthroughDataAccessor.html#writeContainer">writeContainer</a></p><ul><li>Defined in <a href="https://github.com/CommunitySolidServer/CommunitySolidServer/blob/576eefede63937f08b831b1e49cafe4a96a716f7/src/storage/accessors/ValidatingDataAccessor.ts#L34">src/storage/accessors/ValidatingDataAccessor.ts:34</a></li></ul></aside></li></ul></section><section class="tsd-panel tsd-member"><a id="writeDocument" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>write<wbr/>Document</span><a href="#writeDocument" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="writeDocument.writeDocument-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">write<wbr/>Document</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">identifier</span>, <span class="tsd-kind-parameter">data</span>, <span class="tsd-kind-parameter">metadata</span><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><a href="#writeDocument.writeDocument-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Writes data and metadata for a document.
If any data and/or metadata exist for the given identifier, it should be overwritten.</p>
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">identifier</span>: <a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type tsd-kind-interface">ResourceIdentifier</a></span><div class="tsd-comment tsd-typography"><p>Identifier of the resource.</p>
</div><div class="tsd-comment tsd-typography"></div></li><li><span><span class="tsd-kind-parameter">data</span>: <a href="../types/Guarded.html" class="tsd-signature-type tsd-kind-type-alias">Guarded</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">Readable</span><span class="tsd-signature-symbol">&gt;</span></span><div class="tsd-comment tsd-typography"><p>Data to store.</p>
</div><div class="tsd-comment tsd-typography"></div></li><li><span><span class="tsd-kind-parameter">metadata</span>: <a href="RepresentationMetadata.html" class="tsd-signature-type tsd-kind-class">RepresentationMetadata</a></span><div class="tsd-comment tsd-typography"><p>Metadata to store.</p>
</div><div class="tsd-comment tsd-typography"></div></li></ul></div><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><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><p>Overrides <a href="PassthroughDataAccessor.html">PassthroughDataAccessor</a>.<a href="PassthroughDataAccessor.html#writeDocument">writeDocument</a></p><ul><li>Defined in <a href="https://github.com/CommunitySolidServer/CommunitySolidServer/blob/576eefede63937f08b831b1e49cafe4a96a716f7/src/storage/accessors/ValidatingDataAccessor.ts#L22">src/storage/accessors/ValidatingDataAccessor.ts:22</a></li></ul></aside></li></ul></section><section class="tsd-panel tsd-member tsd-is-inherited"><a id="writeMetadata" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>write<wbr/>Metadata</span><a href="#writeMetadata" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures tsd-is-inherited"><li class="tsd-signature tsd-anchor-link"><a id="writeMetadata.writeMetadata-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">write<wbr/>Metadata</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">identifier</span>, <span class="tsd-kind-parameter">metadata</span><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><a href="#writeMetadata.writeMetadata-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Writes metadata for a resource.
It can safely be assumed that the subject resource already exists.</p>
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">identifier</span>: <a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type tsd-kind-interface">ResourceIdentifier</a></span><div class="tsd-comment tsd-typography"><p>Identifier of the subject resource.</p>
</div><div class="tsd-comment tsd-typography"></div></li><li><span><span class="tsd-kind-parameter">metadata</span>: <a href="RepresentationMetadata.html" class="tsd-signature-type tsd-kind-class">RepresentationMetadata</a></span><div class="tsd-comment tsd-typography"><p>Metadata to store.</p>
</div><div class="tsd-comment tsd-typography"></div></li></ul></div><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><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><p>Inherited from <a href="PassthroughDataAccessor.html">PassthroughDataAccessor</a>.<a href="PassthroughDataAccessor.html#writeMetadata">writeMetadata</a></p><ul><li>Defined in <a href="https://github.com/CommunitySolidServer/CommunitySolidServer/blob/576eefede63937f08b831b1e49cafe4a96a716f7/src/storage/accessors/PassthroughDataAccessor.ts#L42">src/storage/accessors/PassthroughDataAccessor.ts:42</a></li></ul></aside></li></ul></section></section></details></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>On This Page</h3></summary><div class="tsd-accordion-details"><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="tsd-otp-Constructors"><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Constructors</summary><div><a href="#constructor" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-512"></use></svg><span>constructor</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="tsd-otp-Properties"><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Properties</summary><div><a href="#accessor" class="tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>accessor</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="tsd-otp-Methods"><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Methods</summary><div><a href="#canHandle" class="tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>can<wbr/>Handle</span></a><a href="#deleteResource" class="tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>delete<wbr/>Resource</span></a><a href="#getChildren" class="tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>get<wbr/>Children</span></a><a href="#getData" class="tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>get<wbr/>Data</span></a><a href="#getMetadata" class="tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>get<wbr/>Metadata</span></a><a href="#writeContainer" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>write<wbr/>Container</span></a><a href="#writeDocument" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>write<wbr/>Document</span></a><a href="#writeMetadata" class="tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>write<wbr/>Metadata</span></a></div></details></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1"></use></svg><span>Community Solid Server - v7.1.0</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base=".."><li>Loading...</li></ul></nav></div></div></div><footer></footer><div class="overlay"></div></body></html>