60 lines
27 KiB
HTML

<!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>DataAccessor | Community Solid Server - v3.0.0</title><meta name="description" content="Documentation for Community Solid Server - v3.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 - v3.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 - v3.0.0</a></li><li><a href="DataAccessor.html">DataAccessor</a></li></ul><h1>Interface DataAccessor</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 DataAccessor is the building block closest to the actual data storage.
It should not worry about most Solid logic, most of that will be handled before it is called.
There are a few things it still needs to do, and it is very important every implementation does this:</p>
<ul>
<li>If the input identifier ends with a slash, it should be assumed the identifier is targeting a container.</li>
<li>Similarly, if there is no trailing slash it should assume a document.</li>
<li>It should always throw a NotFoundHttpError if it does not have data matching the input identifier.</li>
<li>DataAccessors should not generate containment triples. This will be done externally using <code>getChildren</code>.</li>
</ul>
</div></div></section><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">DataAccessor</span><ul class="tsd-hierarchy"><li><a href="AtomicDataAccessor.html" class="tsd-signature-type" data-tsd-kind="Interface">AtomicDataAccessor</a></li></ul></li></ul></section><section class="tsd-panel"><h3>Implemented by</h3><ul class="tsd-hierarchy"><li><a href="../classes/FileDataAccessor.html" class="tsd-signature-type" data-tsd-kind="Class">FileDataAccessor</a></li><li><a href="../classes/InMemoryDataAccessor.html" class="tsd-signature-type" data-tsd-kind="Class">InMemoryDataAccessor</a></li><li><a href="../classes/PassthroughDataAccessor.html" class="tsd-signature-type" data-tsd-kind="Class">PassthroughDataAccessor</a></li><li><a href="../classes/SparqlDataAccessor.html" class="tsd-signature-type" data-tsd-kind="Class">SparqlDataAccessor</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>Methods</h3><ul class="tsd-index-list"><li class="tsd-kind-method tsd-parent-kind-interface"><a href="DataAccessor.html#canHandle" class="tsd-kind-icon">can<wbr/>Handle</a></li><li class="tsd-kind-method tsd-parent-kind-interface"><a href="DataAccessor.html#deleteResource" class="tsd-kind-icon">delete<wbr/>Resource</a></li><li class="tsd-kind-method tsd-parent-kind-interface"><a href="DataAccessor.html#getChildren" class="tsd-kind-icon">get<wbr/>Children</a></li><li class="tsd-kind-method tsd-parent-kind-interface"><a href="DataAccessor.html#getData" class="tsd-kind-icon">get<wbr/>Data</a></li><li class="tsd-kind-method tsd-parent-kind-interface"><a href="DataAccessor.html#getMetadata" class="tsd-kind-icon">get<wbr/>Metadata</a></li><li class="tsd-kind-method tsd-parent-kind-interface"><a href="DataAccessor.html#writeContainer" class="tsd-kind-icon">write<wbr/>Container</a></li><li class="tsd-kind-method tsd-parent-kind-interface"><a href="DataAccessor.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>Methods</h2><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface"><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-interface"><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="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"><ul><li>Defined in <a href="https://github.com/solid/community-server/blob/0dcd6d2/src/storage/accessors/DataAccessor.ts#L24">src/storage/accessors/DataAccessor.ts:24</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><dl class="tsd-comment-tags"><dt>throws</dt><dd><p>BadRequestHttpError
If it does not support the incoming data.</p>
</dd></dl></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>representation: <a href="Representation.html" class="tsd-signature-type" data-tsd-kind="Interface">Representation</a></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>Incoming Representation.</p>
</div></div></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-interface"><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-interface"><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="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"><ul><li>Defined in <a href="https://github.com/solid/community-server/blob/0dcd6d2/src/storage/accessors/DataAccessor.ts#L81">src/storage/accessors/DataAccessor.ts:81</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="ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>Resource to delete.</p>
</div></div></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-interface"><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-interface"><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="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="../classes/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"><ul><li>Defined in <a href="https://github.com/solid/community-server/blob/0dcd6d2/src/storage/accessors/DataAccessor.ts#L51">src/storage/accessors/DataAccessor.ts:51</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="ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>Identifier of the parent container.</p>
</div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">AsyncIterableIterator</span><span class="tsd-signature-symbol">&lt;</span><a href="../classes/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-interface"><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-interface"><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="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"><ul><li>Defined in <a href="https://github.com/solid/community-server/blob/0dcd6d2/src/storage/accessors/DataAccessor.ts#L31">src/storage/accessors/DataAccessor.ts:31</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="ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>Identifier for which the data is requested.</p>
</div></div></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-interface"><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-interface"><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="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="../classes/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"><ul><li>Defined in <a href="https://github.com/solid/community-server/blob/0dcd6d2/src/storage/accessors/DataAccessor.ts#L37">src/storage/accessors/DataAccessor.ts:37</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="ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>Identifier for which the metadata is requested.</p>
</div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../classes/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-interface"><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-interface"><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="ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a>, metadata<span class="tsd-signature-symbol">: </span><a href="../classes/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"><ul><li>Defined in <a href="https://github.com/solid/community-server/blob/0dcd6d2/src/storage/accessors/DataAccessor.ts#L70">src/storage/accessors/DataAccessor.ts:70</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="ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>Identifier of the container.</p>
</div></div></li><li><h5>metadata: <a href="../classes/RepresentationMetadata.html" class="tsd-signature-type" data-tsd-kind="Class">RepresentationMetadata</a></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>Metadata to store.</p>
</div></div></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-interface"><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-interface"><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="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="../classes/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"><ul><li>Defined in <a href="https://github.com/solid/community-server/blob/0dcd6d2/src/storage/accessors/DataAccessor.ts#L60">src/storage/accessors/DataAccessor.ts:60</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="ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>Identifier of the resource.</p>
</div></div></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><div class="tsd-comment tsd-typography"><div class="lead">
<p>Data to store.</p>
</div></div></li><li><h5>metadata: <a href="../classes/RepresentationMetadata.html" class="tsd-signature-type" data-tsd-kind="Class">RepresentationMetadata</a></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>Metadata to store.</p>
</div></div></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-interface"><a href="DataAccessor.html" class="tsd-kind-icon">Data<wbr/>Accessor</a><ul><li class="tsd-kind-method tsd-parent-kind-interface"><a href="DataAccessor.html#canHandle" class="tsd-kind-icon">can<wbr/>Handle</a></li><li class="tsd-kind-method tsd-parent-kind-interface"><a href="DataAccessor.html#deleteResource" class="tsd-kind-icon">delete<wbr/>Resource</a></li><li class="tsd-kind-method tsd-parent-kind-interface"><a href="DataAccessor.html#getChildren" class="tsd-kind-icon">get<wbr/>Children</a></li><li class="tsd-kind-method tsd-parent-kind-interface"><a href="DataAccessor.html#getData" class="tsd-kind-icon">get<wbr/>Data</a></li><li class="tsd-kind-method tsd-parent-kind-interface"><a href="DataAccessor.html#getMetadata" class="tsd-kind-icon">get<wbr/>Metadata</a></li><li class="tsd-kind-method tsd-parent-kind-interface"><a href="DataAccessor.html#writeContainer" class="tsd-kind-icon">write<wbr/>Container</a></li><li class="tsd-kind-method tsd-parent-kind-interface"><a href="DataAccessor.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-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-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-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>