CommunitySolidServer/docs/classes/PodQuotaStrategy.html

27 lines
31 KiB
HTML

<!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>PodQuotaStrategy | 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="PodQuotaStrategy.html">PodQuotaStrategy</a></li></ul><h1>Class PodQuotaStrategy</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>The PodQuotaStrategy sets a limit on the amount of data stored on a per pod basis</p>
</div></div></section><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><a href="QuotaStrategy.html" class="tsd-signature-type" data-tsd-kind="Class">QuotaStrategy</a><ul class="tsd-hierarchy"><li><span class="target">PodQuotaStrategy</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="PodQuotaStrategy.html#constructor" class="tsd-kind-icon">constructor</a></li></ul></section><section class="tsd-index-section "><h3>Properties</h3><ul class="tsd-index-list"><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><a href="PodQuotaStrategy.html#accessor" class="tsd-kind-icon">accessor</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><a href="PodQuotaStrategy.html#identifierStrategy" class="tsd-kind-icon">identifier<wbr/>Strategy</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="PodQuotaStrategy.html#limit" class="tsd-kind-icon">limit</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="PodQuotaStrategy.html#reporter" class="tsd-kind-icon">reporter</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="PodQuotaStrategy.html#createQuotaGuard" class="tsd-kind-icon">create<wbr/>Quota<wbr/>Guard</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="PodQuotaStrategy.html#estimateSize" class="tsd-kind-icon">estimate<wbr/>Size</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="PodQuotaStrategy.html#getAvailableSpace" class="tsd-kind-icon">get<wbr/>Available<wbr/>Space</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected"><a href="PodQuotaStrategy.html#getTotalSpaceUsed" class="tsd-kind-icon">get<wbr/>Total<wbr/>Space<wbr/>Used</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><a href="PodQuotaStrategy.html#searchPimStorage" class="tsd-kind-icon">search<wbr/>Pim<wbr/>Storage</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/>Pod<wbr/>Quota<wbr/>Strategy<span class="tsd-signature-symbol">(</span>limit<span class="tsd-signature-symbol">: </span><a href="../interfaces/Size.html" class="tsd-signature-type" data-tsd-kind="Interface">Size</a>, reporter<span class="tsd-signature-symbol">: </span><a href="../interfaces/SizeReporter.html" class="tsd-signature-type" data-tsd-kind="Interface">SizeReporter</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span>, identifierStrategy<span class="tsd-signature-symbol">: </span><a href="../interfaces/IdentifierStrategy.html" class="tsd-signature-type" data-tsd-kind="Interface">IdentifierStrategy</a>, accessor<span class="tsd-signature-symbol">: </span><a href="../interfaces/DataAccessor.html" class="tsd-signature-type" data-tsd-kind="Interface">DataAccessor</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="PodQuotaStrategy.html" class="tsd-signature-type" data-tsd-kind="Class">PodQuotaStrategy</a></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Overrides <a href="QuotaStrategy.html">QuotaStrategy</a>.<a href="QuotaStrategy.html#constructor">constructor</a></p><ul><li>Defined in <a href="https://github.com/CommunitySolidServer/CommunitySolidServer/blob/1c376cb/src/storage/quota/PodQuotaStrategy.ts#L18">src/storage/quota/PodQuotaStrategy.ts:18</a></li></ul></aside><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>limit: <a href="../interfaces/Size.html" class="tsd-signature-type" data-tsd-kind="Interface">Size</a></h5></li><li><h5>reporter: <a href="../interfaces/SizeReporter.html" class="tsd-signature-type" data-tsd-kind="Interface">SizeReporter</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h5></li><li><h5>identifierStrategy: <a href="../interfaces/IdentifierStrategy.html" class="tsd-signature-type" data-tsd-kind="Interface">IdentifierStrategy</a></h5></li><li><h5>accessor: <a href="../interfaces/DataAccessor.html" class="tsd-signature-type" data-tsd-kind="Interface">DataAccessor</a></h5></li></ul><h4 class="tsd-returns-title">Returns <a href="PodQuotaStrategy.html" class="tsd-signature-type" data-tsd-kind="Class">PodQuotaStrategy</a></h4></li></ul></section></section><section class="tsd-panel-group tsd-member-group "><h2>Properties</h2><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-private"><a id="accessor" 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> 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/DataAccessor.html" class="tsd-signature-type" data-tsd-kind="Interface">DataAccessor</a></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/CommunitySolidServer/CommunitySolidServer/blob/1c376cb/src/storage/quota/PodQuotaStrategy.ts#L16">src/storage/quota/PodQuotaStrategy.ts:16</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-private"><a id="identifierStrategy" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagPrivate">Private</span> <span class="tsd-flag ts-flagReadonly">Readonly</span> identifier<wbr/>Strategy<a href="#identifierStrategy" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">identifier<wbr/>Strategy<span class="tsd-signature-symbol">:</span> <a href="../interfaces/IdentifierStrategy.html" class="tsd-signature-type" data-tsd-kind="Interface">IdentifierStrategy</a></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/CommunitySolidServer/CommunitySolidServer/blob/1c376cb/src/storage/quota/PodQuotaStrategy.ts#L15">src/storage/quota/PodQuotaStrategy.ts:15</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a id="limit" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagReadonly">Readonly</span> limit<a href="#limit" 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">limit<span class="tsd-signature-symbol">:</span> <a href="../interfaces/Size.html" class="tsd-signature-type" data-tsd-kind="Interface">Size</a></div><aside class="tsd-sources"><p>Inherited from <a href="QuotaStrategy.html">QuotaStrategy</a>.<a href="QuotaStrategy.html#limit">limit</a></p><ul><li>Defined in <a href="https://github.com/CommunitySolidServer/CommunitySolidServer/blob/1c376cb/src/storage/quota/QuotaStrategy.ts#L23">src/storage/quota/QuotaStrategy.ts:23</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a id="reporter" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagReadonly">Readonly</span> reporter<a href="#reporter" 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">reporter<span class="tsd-signature-symbol">:</span> <a href="../interfaces/SizeReporter.html" class="tsd-signature-type" data-tsd-kind="Interface">SizeReporter</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></div><aside class="tsd-sources"><p>Inherited from <a href="QuotaStrategy.html">QuotaStrategy</a>.<a href="QuotaStrategy.html#reporter">reporter</a></p><ul><li>Defined in <a href="https://github.com/CommunitySolidServer/CommunitySolidServer/blob/1c376cb/src/storage/quota/QuotaStrategy.ts#L22">src/storage/quota/QuotaStrategy.ts:22</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="createQuotaGuard" class="tsd-anchor"></a><h3 class="tsd-anchor-link">create<wbr/>Quota<wbr/>Guard<a href="#createQuotaGuard" 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">create<wbr/>Quota<wbr/>Guard<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">PassThrough</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="QuotaStrategy.html">QuotaStrategy</a>.<a href="QuotaStrategy.html#createQuotaGuard">createQuotaGuard</a></p><ul><li>Defined in <a href="https://github.com/CommunitySolidServer/CommunitySolidServer/blob/1c376cb/src/storage/quota/QuotaStrategy.ts#L85">src/storage/quota/QuotaStrategy.ts:85</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Get a Passthrough stream that will keep track of the available space.
If the quota is exceeded the stream will emit an error and destroy itself.
Like other Passthrough instances this will simply pass on the chunks, when the quota isn&#39;t exceeded.</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><div class="tsd-comment tsd-typography"><div class="lead">
<p>the identifier of the resource in question</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">PassThrough</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4><div><p>a Passthrough instance that errors when quota is exceeded</p>
</div></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="estimateSize" class="tsd-anchor"></a><h3 class="tsd-anchor-link">estimate<wbr/>Size<a href="#estimateSize" 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">estimate<wbr/>Size<span class="tsd-signature-symbol">(</span>metadata<span class="tsd-signature-symbol">: </span><a href="RepresentationMetadata.html" class="tsd-signature-type" data-tsd-kind="Class">RepresentationMetadata</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><a href="../interfaces/Size.html" class="tsd-signature-type" data-tsd-kind="Interface">Size</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="QuotaStrategy.html">QuotaStrategy</a>.<a href="QuotaStrategy.html#estimateSize">estimateSize</a></p><ul><li>Defined in <a href="https://github.com/CommunitySolidServer/CommunitySolidServer/blob/1c376cb/src/storage/quota/QuotaStrategy.ts#L72">src/storage/quota/QuotaStrategy.ts:72</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Get an estimated size of the resource</p>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>metadata: <a href="RepresentationMetadata.html" class="tsd-signature-type" data-tsd-kind="Class">RepresentationMetadata</a></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>the metadata that might include the size</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">undefined</span><span class="tsd-signature-symbol"> | </span><a href="../interfaces/Size.html" class="tsd-signature-type" data-tsd-kind="Interface">Size</a><span class="tsd-signature-symbol">&gt;</span></h4><div><p>a Size object containing the estimated size and unit of the resource</p>
</div></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="getAvailableSpace" class="tsd-anchor"></a><h3 class="tsd-anchor-link">get<wbr/>Available<wbr/>Space<a href="#getAvailableSpace" 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/>Available<wbr/>Space<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="../interfaces/Size.html" class="tsd-signature-type" data-tsd-kind="Interface">Size</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="QuotaStrategy.html">QuotaStrategy</a>.<a href="QuotaStrategy.html#getAvailableSpace">getAvailableSpace</a></p><ul><li>Defined in <a href="https://github.com/CommunitySolidServer/CommunitySolidServer/blob/1c376cb/src/storage/quota/QuotaStrategy.ts#L39">src/storage/quota/QuotaStrategy.ts:39</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Get the available space when writing data to the given identifier.
If the given resource already exists it will deduct the already taken up
space by that resource since it is going to be overwritten and thus counts
as available space.</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><div class="tsd-comment tsd-typography"><div class="lead">
<p>the identifier of the resource of which you want the available space</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="../interfaces/Size.html" class="tsd-signature-type" data-tsd-kind="Interface">Size</a><span class="tsd-signature-symbol">&gt;</span></h4><div><p>the available space and the unit of the space as a Size object</p>
</div></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected"><a id="getTotalSpaceUsed" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagProtected">Protected</span> get<wbr/>Total<wbr/>Space<wbr/>Used<a href="#getTotalSpaceUsed" 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 tsd-is-protected"><li class="tsd-signature tsd-kind-icon">get<wbr/>Total<wbr/>Space<wbr/>Used<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="../interfaces/Size.html" class="tsd-signature-type" data-tsd-kind="Interface">Size</a><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="QuotaStrategy.html">QuotaStrategy</a>.<a href="QuotaStrategy.html#getTotalSpaceUsed">getTotalSpaceUsed</a></p><ul><li>Defined in <a href="https://github.com/CommunitySolidServer/CommunitySolidServer/blob/1c376cb/src/storage/quota/PodQuotaStrategy.ts#L29">src/storage/quota/PodQuotaStrategy.ts:29</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Get the currently used/occupied space.</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="../interfaces/Size.html" class="tsd-signature-type" data-tsd-kind="Interface">Size</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-private"><a id="searchPimStorage" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagPrivate">Private</span> search<wbr/>Pim<wbr/>Storage<a href="#searchPimStorage" 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-private"><li class="tsd-signature tsd-kind-icon">search<wbr/>Pim<wbr/>Storage<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">undefined</span><span class="tsd-signature-symbol"> | </span><a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a><span class="tsd-signature-symbol">&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/CommunitySolidServer/CommunitySolidServer/blob/1c376cb/src/storage/quota/PodQuotaStrategy.ts#L42">src/storage/quota/PodQuotaStrategy.ts:42</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Finds the closest parent container that has pim:storage as metadata</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">undefined</span><span class="tsd-signature-symbol"> | </span><a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a><span class="tsd-signature-symbol">&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="PodQuotaStrategy.html" class="tsd-kind-icon">Pod<wbr/>Quota<wbr/>Strategy</a><ul><li class="tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite"><a href="PodQuotaStrategy.html#constructor" class="tsd-kind-icon">constructor</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><a href="PodQuotaStrategy.html#accessor" class="tsd-kind-icon">accessor</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><a href="PodQuotaStrategy.html#identifierStrategy" class="tsd-kind-icon">identifier<wbr/>Strategy</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="PodQuotaStrategy.html#limit" class="tsd-kind-icon">limit</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="PodQuotaStrategy.html#reporter" class="tsd-kind-icon">reporter</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="PodQuotaStrategy.html#createQuotaGuard" class="tsd-kind-icon">create<wbr/>Quota<wbr/>Guard</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="PodQuotaStrategy.html#estimateSize" class="tsd-kind-icon">estimate<wbr/>Size</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="PodQuotaStrategy.html#getAvailableSpace" class="tsd-kind-icon">get<wbr/>Available<wbr/>Space</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected"><a href="PodQuotaStrategy.html#getTotalSpaceUsed" class="tsd-kind-icon">get<wbr/>Total<wbr/>Space<wbr/>Used</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><a href="PodQuotaStrategy.html#searchPimStorage" class="tsd-kind-icon">search<wbr/>Pim<wbr/>Storage</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>