CommunitySolidServer/docs/classes/ValidatingDataAccessor.html

31 lines
34 KiB
HTML

<!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>ValidatingDataAccessor | Community Solid Server - v4.0.0</title><meta name="description" content="Documentation for Community Solid Server - v4.0.0"/><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.0</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.0</a></li><li><a href="ValidatingDataAccessor.html">ValidatingDataAccessor</a></li></ul><h1>Class ValidatingDataAccessor</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>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></section><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><a href="PassthroughDataAccessor.html" class="tsd-signature-type" data-tsd-kind="Class">PassthroughDataAccessor</a><ul class="tsd-hierarchy"><li><span class="target">ValidatingDataAccessor</span></li></ul></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 tsd-is-overwrite"><a href="ValidatingDataAccessor.html#constructor" class="tsd-kind-icon">constructor</a></li></ul></section><section class="tsd-index-section tsd-is-private-protected"><h3>Properties</h3><ul class="tsd-index-list"><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="ValidatingDataAccessor.html#accessor" class="tsd-kind-icon">accessor</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><a href="ValidatingDataAccessor.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 tsd-is-inherited"><a href="ValidatingDataAccessor.html#canHandle" class="tsd-kind-icon">can<wbr/>Handle</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="ValidatingDataAccessor.html#deleteResource" class="tsd-kind-icon">delete<wbr/>Resource</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="ValidatingDataAccessor.html#getChildren" class="tsd-kind-icon">get<wbr/>Children</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="ValidatingDataAccessor.html#getData" class="tsd-kind-icon">get<wbr/>Data</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="ValidatingDataAccessor.html#getMetadata" class="tsd-kind-icon">get<wbr/>Metadata</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-overwrite"><a href="ValidatingDataAccessor.html#writeContainer" class="tsd-kind-icon">write<wbr/>Container</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-overwrite"><a href="ValidatingDataAccessor.html#writeDocument" class="tsd-kind-icon">write<wbr/>Document</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 tsd-is-overwrite"><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 tsd-is-overwrite"><li class="tsd-signature tsd-kind-icon">new <wbr/>Validating<wbr/>Data<wbr/>Accessor<span class="tsd-signature-symbol">(</span>accessor<span class="tsd-signature-symbol">: </span><a href="../interfaces/DataAccessor.html" class="tsd-signature-type" data-tsd-kind="Interface">DataAccessor</a>, validator<span class="tsd-signature-symbol">: </span><a href="Validator.html" class="tsd-signature-type" data-tsd-kind="Class">Validator</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="ValidatingDataAccessor.html" class="tsd-signature-type" data-tsd-kind="Class">ValidatingDataAccessor</a></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><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/1c376cb/src/storage/accessors/ValidatingDataAccessor.ts#L17">src/storage/accessors/ValidatingDataAccessor.ts:17</a></li></ul></aside><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>accessor: <a href="../interfaces/DataAccessor.html" class="tsd-signature-type" data-tsd-kind="Interface">DataAccessor</a></h5></li><li><h5>validator: <a href="Validator.html" class="tsd-signature-type" data-tsd-kind="Class">Validator</a></h5></li></ul><h4 class="tsd-returns-title">Returns <a href="ValidatingDataAccessor.html" class="tsd-signature-type" data-tsd-kind="Class">ValidatingDataAccessor</a></h4></li></ul></section></section><section class="tsd-panel-group tsd-member-group tsd-is-private-protected"><h2>Properties</h2><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a id="accessor" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagProtected">Protected</span> <span class="tsd-flag ts-flagReadonly">Readonly</span> accessor<a href="#accessor" 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">accessor<span class="tsd-signature-symbol">:</span> <a href="../interfaces/AtomicDataAccessor.html" class="tsd-signature-type" data-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/1c376cb/src/storage/accessors/PassthroughDataAccessor.ts#L15">src/storage/accessors/PassthroughDataAccessor.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="validator" 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> 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/1c376cb/src/storage/accessors/ValidatingDataAccessor.ts#L15">src/storage/accessors/ValidatingDataAccessor.ts:15</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 tsd-is-inherited"><a id="canHandle" class="tsd-anchor"></a><h3 class="tsd-anchor-link">can<wbr/>Handle<a href="#canHandle" 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 tsd-is-inherited"><li class="tsd-signature tsd-kind-icon">can<wbr/>Handle<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>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/1c376cb/src/storage/accessors/PassthroughDataAccessor.ts#L30">src/storage/accessors/PassthroughDataAccessor.ts:30</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Should throw a NotImplementedHttpError if the DataAccessor does not support storing the given Representation.</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 class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="deleteResource" class="tsd-anchor"></a><h3 class="tsd-anchor-link">delete<wbr/>Resource<a href="#deleteResource" 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 tsd-is-inherited"><li class="tsd-signature tsd-kind-icon">delete<wbr/>Resource<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">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>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/1c376cb/src/storage/accessors/PassthroughDataAccessor.ts#L46">src/storage/accessors/PassthroughDataAccessor.ts:46</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Deletes the resource and its corresponding metadata.</p>
</div><div><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><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">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 tsd-is-inherited"><a id="getChildren" class="tsd-anchor"></a><h3 class="tsd-anchor-link">get<wbr/>Children<a href="#getChildren" 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 tsd-is-inherited"><li class="tsd-signature tsd-kind-icon">get<wbr/>Children<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">AsyncIterableIterator</span><span class="tsd-signature-symbol">&lt;</span><a href="RepresentationMetadata.html" class="tsd-signature-type" data-tsd-kind="Class">RepresentationMetadata</a><span class="tsd-signature-symbol">&gt;</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><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/1c376cb/src/storage/accessors/PassthroughDataAccessor.ts#L42">src/storage/accessors/PassthroughDataAccessor.ts:42</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<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>
</div><div><p>It can be safely assumed that the incoming identifier will always correspond to a container.</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">AsyncIterableIterator</span><span class="tsd-signature-symbol">&lt;</span><a href="RepresentationMetadata.html" class="tsd-signature-type" data-tsd-kind="Class">RepresentationMetadata</a><span class="tsd-signature-symbol">&gt;</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="getData" class="tsd-anchor"></a><h3 class="tsd-anchor-link">get<wbr/>Data<a href="#getData" 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 tsd-is-inherited"><li class="tsd-signature tsd-kind-icon">get<wbr/>Data<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">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../modules.html#Guarded" class="tsd-signature-type" data-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></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><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/1c376cb/src/storage/accessors/PassthroughDataAccessor.ts#L34">src/storage/accessors/PassthroughDataAccessor.ts:34</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<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><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">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../modules.html#Guarded" class="tsd-signature-type" data-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></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="getMetadata" class="tsd-anchor"></a><h3 class="tsd-anchor-link">get<wbr/>Metadata<a href="#getMetadata" 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 tsd-is-inherited"><li class="tsd-signature tsd-kind-icon">get<wbr/>Metadata<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">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="RepresentationMetadata.html" class="tsd-signature-type" data-tsd-kind="Class">RepresentationMetadata</a><span class="tsd-signature-symbol">&gt;</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><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/1c376cb/src/storage/accessors/PassthroughDataAccessor.ts#L38">src/storage/accessors/PassthroughDataAccessor.ts:38</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Returns the metadata corresponding to the identifier.</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">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="RepresentationMetadata.html" class="tsd-signature-type" data-tsd-kind="Class">RepresentationMetadata</a><span class="tsd-signature-symbol">&gt;</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-overwrite"><a id="writeContainer" class="tsd-anchor"></a><h3 class="tsd-anchor-link">write<wbr/>Container<a href="#writeContainer" 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 tsd-is-overwrite"><li class="tsd-signature tsd-kind-icon">write<wbr/>Container<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>, 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>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/1c376cb/src/storage/accessors/ValidatingDataAccessor.ts#L34">src/storage/accessors/ValidatingDataAccessor.ts:34</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<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><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><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 tsd-is-overwrite"><a id="writeDocument" class="tsd-anchor"></a><h3 class="tsd-anchor-link">write<wbr/>Document<a href="#writeDocument" 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 tsd-is-overwrite"><li class="tsd-signature tsd-kind-icon">write<wbr/>Document<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>, data<span class="tsd-signature-symbol">: </span><a href="../modules.html#Guarded" class="tsd-signature-type" data-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>, 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>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/1c376cb/src/storage/accessors/ValidatingDataAccessor.ts#L22">src/storage/accessors/ValidatingDataAccessor.ts:22</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<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><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><li><h5>data: <a href="../modules.html#Guarded" class="tsd-signature-type" data-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></h5></li><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></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="ValidatingDataAccessor.html" class="tsd-kind-icon">Validating<wbr/>Data<wbr/>Accessor</a><ul><li class="tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite"><a href="ValidatingDataAccessor.html#constructor" class="tsd-kind-icon">constructor</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="ValidatingDataAccessor.html#accessor" class="tsd-kind-icon">accessor</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><a href="ValidatingDataAccessor.html#validator" class="tsd-kind-icon">validator</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="ValidatingDataAccessor.html#canHandle" class="tsd-kind-icon">can<wbr/>Handle</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="ValidatingDataAccessor.html#deleteResource" class="tsd-kind-icon">delete<wbr/>Resource</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="ValidatingDataAccessor.html#getChildren" class="tsd-kind-icon">get<wbr/>Children</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="ValidatingDataAccessor.html#getData" class="tsd-kind-icon">get<wbr/>Data</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="ValidatingDataAccessor.html#getMetadata" class="tsd-kind-icon">get<wbr/>Metadata</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-overwrite"><a href="ValidatingDataAccessor.html#writeContainer" class="tsd-kind-icon">write<wbr/>Container</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-overwrite"><a href="ValidatingDataAccessor.html#writeDocument" class="tsd-kind-icon">write<wbr/>Document</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>