Skip to content

Commit 8f09178

Browse files
author
Edgehog Bot
committed
Update Documentation
1 parent d1b7dc9 commit 8f09178

28 files changed

Lines changed: 1811 additions & 1815 deletions

snapshot/Clea Edgehog.epub

2 Bytes
Binary file not shown.

snapshot/Edgehog.Actors.Actor.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -708,8 +708,8 @@ <h1 class="signature" translate="no">input(opts)</h1>
708708
be created by Ash as a result of a successful action. You should not be creating records manually in code,
709709
e.g <code class="inline">%MyResource{value: 1, value: 2}</code>. Generally that is fine, but often with embedded resources it is nice
710710
to be able to validate the keys that are being provided, e.g</p><pre><code class="makeup elixir" translate="no"><span class="nc">Resource</span><span class="w">
711-
</span><span class="o">|&gt;</span><span class="w"> </span><span class="nc">Ash.Changeset</span><span class="o">.</span><span class="n">for_create</span><span class="p" data-group-id="0956420473-1">(</span><span class="ss">:create</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="0956420473-2">%{</span><span class="ss">embedded</span><span class="p">:</span><span class="w"> </span><span class="nc">EmbeddedResource</span><span class="o">.</span><span class="n">input</span><span class="p" data-group-id="0956420473-3">(</span><span class="ss">foo</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="ss">bar</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p" data-group-id="0956420473-3">)</span><span class="p" data-group-id="0956420473-2">}</span><span class="p" data-group-id="0956420473-1">)</span><span class="w">
712-
</span><span class="o">|&gt;</span><span class="w"> </span><span class="nc">Ash</span><span class="o">.</span><span class="n">create</span><span class="p" data-group-id="0956420473-4">(</span><span class="p" data-group-id="0956420473-4">)</span></code></pre>
711+
</span><span class="o">|&gt;</span><span class="w"> </span><span class="nc">Ash.Changeset</span><span class="o">.</span><span class="n">for_create</span><span class="p" data-group-id="4087521135-1">(</span><span class="ss">:create</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="4087521135-2">%{</span><span class="ss">embedded</span><span class="p">:</span><span class="w"> </span><span class="nc">EmbeddedResource</span><span class="o">.</span><span class="n">input</span><span class="p" data-group-id="4087521135-3">(</span><span class="ss">foo</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="ss">bar</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p" data-group-id="4087521135-3">)</span><span class="p" data-group-id="4087521135-2">}</span><span class="p" data-group-id="4087521135-1">)</span><span class="w">
712+
</span><span class="o">|&gt;</span><span class="w"> </span><span class="nc">Ash</span><span class="o">.</span><span class="n">create</span><span class="p" data-group-id="4087521135-4">(</span><span class="p" data-group-id="4087521135-4">)</span></code></pre>
713713
</section>
714714
</section>
715715
<section class="detail" id="input/2">

snapshot/Edgehog.Auth.Changes.EraseRelation.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ <h1>
118118

119119

120120
<section id="moduledoc">
121-
<p>A change to delete a relation in the FGA provider.</p><p>This change expects some opts keys to build the tuple</p><p>{ destination_type:destination_id_field(value), relationship, source_type:source_id(value) }</p><ul><li><p><code class="inline">destination_type</code> :: (optional) is the fga type of the model</p></li><li><p><code class="inline">destination_id</code> :: is the realtaionship's destination field to query to get the id of the tuple</p></li><li><p><code class="inline">relationship</code> :: is the ash relationship to query to get the destination fields</p></li><li><p><code class="inline">relationship_type</code> :: (optional) is the actual fga type of the relationship (defaults to the name of the ash relationship)</p></li><li><p><code class="inline">source_type</code> :: is the fga type of the source resource</p></li><li><p><code class="inline">source_id</code> :: is the field to query to get the correct id to set in the FGA provider.</p></li></ul><p>For more information and a practical example, see the documentation of <a href="Edgehog.Auth.Changes.WriteRelation.html"><code class="inline">Edgehog.Auth.Changes.WriteRelation</code></a></p><h2 id="module-example" class="section-heading"><a href="#module-example" class="hover-link"><i class="ri-link-m" aria-hidden="true"></i></a><span class="text">Example</span></h2><pre><code class="makeup elixir" translate="no"><span class="w"> </span><span class="n">change</span><span class="w"> </span><span class="p" data-group-id="6574482181-1">{</span><span class="nc">Edgehog.Auth.Changes.EraseRelation</span><span class="w"> </span><span class="ss">destination_id</span><span class="p">:</span><span class="w"> </span><span class="ss">:name</span><span class="p">,</span><span class="w"> </span><span class="ss">relationship</span><span class="p">:</span><span class="w"> </span><span class="ss">:realm</span><span class="p">,</span><span class="w"> </span><span class="ss">source_type</span><span class="p">:</span><span class="w"> </span><span class="ss">:device</span><span class="p">,</span><span class="w"> </span><span class="ss">source_id</span><span class="p">:</span><span class="w"> </span><span class="ss">:device_id</span><span class="p" data-group-id="6574482181-1">}</span></code></pre><p>Will remove the tuple</p><pre><code class="fga"> {realm:test, realm, device:Simpl3D3vice1d}</code></pre>
121+
<p>A change to delete a relation in the FGA provider.</p><p>This change expects some opts keys to build the tuple</p><p>{ destination_type:destination_id_field(value), relationship, source_type:source_id(value) }</p><ul><li><p><code class="inline">destination_type</code> :: (optional) is the fga type of the model</p></li><li><p><code class="inline">destination_id</code> :: is the realtaionship's destination field to query to get the id of the tuple</p></li><li><p><code class="inline">relationship</code> :: is the ash relationship to query to get the destination fields</p></li><li><p><code class="inline">relationship_type</code> :: (optional) is the actual fga type of the relationship (defaults to the name of the ash relationship)</p></li><li><p><code class="inline">source_type</code> :: is the fga type of the source resource</p></li><li><p><code class="inline">source_id</code> :: is the field to query to get the correct id to set in the FGA provider.</p></li></ul><p>For more information and a practical example, see the documentation of <a href="Edgehog.Auth.Changes.WriteRelation.html"><code class="inline">Edgehog.Auth.Changes.WriteRelation</code></a></p><h2 id="module-example" class="section-heading"><a href="#module-example" class="hover-link"><i class="ri-link-m" aria-hidden="true"></i></a><span class="text">Example</span></h2><pre><code class="makeup elixir" translate="no"><span class="w"> </span><span class="n">change</span><span class="w"> </span><span class="p" data-group-id="7720474328-1">{</span><span class="nc">Edgehog.Auth.Changes.EraseRelation</span><span class="w"> </span><span class="ss">destination_id</span><span class="p">:</span><span class="w"> </span><span class="ss">:name</span><span class="p">,</span><span class="w"> </span><span class="ss">relationship</span><span class="p">:</span><span class="w"> </span><span class="ss">:realm</span><span class="p">,</span><span class="w"> </span><span class="ss">source_type</span><span class="p">:</span><span class="w"> </span><span class="ss">:device</span><span class="p">,</span><span class="w"> </span><span class="ss">source_id</span><span class="p">:</span><span class="w"> </span><span class="ss">:device_id</span><span class="p" data-group-id="7720474328-1">}</span></code></pre><p>Will remove the tuple</p><pre><code class="fga"> {realm:test, realm, device:Simpl3D3vice1d}</code></pre>
122122
</section>
123123

124124
</div>

snapshot/Edgehog.Auth.Changes.WriteRelation.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ <h1>
118118

119119

120120
<section id="moduledoc">
121-
<p>A change to write a relation in the FGA provider.</p><p>This change expects some opts keys to build the tuple</p><p>{ destination_type:destination_id_field(value), relationship, source_type:source_id(value) }</p><ul><li><p><code class="inline">destination_type</code> :: (optional) is the fga type in the model</p></li><li><p><code class="inline">destination_id</code> :: is the realtaionship's destination field to query to get the id of the tuple</p></li><li><p><code class="inline">relationship</code> :: is the ash relationship to query to get the destination fields</p></li><li><p><code class="inline">relationship_type</code> :: (optional) is the actual fga type of the relationship (defaults to the name of the ash relationship)</p></li><li><p><code class="inline">source_type</code> :: is the fga type of the source resource</p></li><li><p><code class="inline">source_id</code> :: is the field to query to get the correct id to set in the FGA provider.</p></li></ul><p>A lot ! Let's see an example. Suppose we want to set the device &lt;-&gt; realm relationship:</p><ul><li><p>relationship : realm (it's called <code class="inline">realm</code> in the ash resource spec)</p></li><li><p>relationship<em>type : realm. It's realm _also</em> in the fga model! No need to set it twice</p></li><li><p>destination_type : realm, which is the same as the relationship name, no need to set it twice</p></li><li><p>destination_id : the name of the realm (our id is not astarte compatible)</p></li><li><p>source_type : device</p></li><li><p>source_id : device_id (the astarte device id, not our internal id)</p></li></ul><p>Hence:</p><pre><code class="makeup elixir" translate="no"><span class="w"> </span><span class="n">change</span><span class="w"> </span><span class="p" data-group-id="4881085279-1">{</span><span class="nc">Edgehog.Auth.Changes.WriteRelation</span><span class="w"> </span><span class="ss">destination_id</span><span class="p">:</span><span class="w"> </span><span class="ss">:name</span><span class="p">,</span><span class="w"> </span><span class="ss">relationship</span><span class="p">:</span><span class="w"> </span><span class="ss">:realm</span><span class="p">,</span><span class="w"> </span><span class="ss">source_type</span><span class="p">:</span><span class="w"> </span><span class="ss">:device</span><span class="p">,</span><span class="w"> </span><span class="ss">source_id</span><span class="p">:</span><span class="w"> </span><span class="ss">:device_id</span><span class="p" data-group-id="4881085279-1">}</span></code></pre><p>With realm &quot;test&quot; and device_id &quot;Simpl3D3vice1d&quot; will write the tuple</p><pre><code class="fga"> {realm:test, realm, device:Simpl3D3vice1d}</code></pre>
121+
<p>A change to write a relation in the FGA provider.</p><p>This change expects some opts keys to build the tuple</p><p>{ destination_type:destination_id_field(value), relationship, source_type:source_id(value) }</p><ul><li><p><code class="inline">destination_type</code> :: (optional) is the fga type in the model</p></li><li><p><code class="inline">destination_id</code> :: is the realtaionship's destination field to query to get the id of the tuple</p></li><li><p><code class="inline">relationship</code> :: is the ash relationship to query to get the destination fields</p></li><li><p><code class="inline">relationship_type</code> :: (optional) is the actual fga type of the relationship (defaults to the name of the ash relationship)</p></li><li><p><code class="inline">source_type</code> :: is the fga type of the source resource</p></li><li><p><code class="inline">source_id</code> :: is the field to query to get the correct id to set in the FGA provider.</p></li></ul><p>A lot ! Let's see an example. Suppose we want to set the device &lt;-&gt; realm relationship:</p><ul><li><p>relationship : realm (it's called <code class="inline">realm</code> in the ash resource spec)</p></li><li><p>relationship<em>type : realm. It's realm _also</em> in the fga model! No need to set it twice</p></li><li><p>destination_type : realm, which is the same as the relationship name, no need to set it twice</p></li><li><p>destination_id : the name of the realm (our id is not astarte compatible)</p></li><li><p>source_type : device</p></li><li><p>source_id : device_id (the astarte device id, not our internal id)</p></li></ul><p>Hence:</p><pre><code class="makeup elixir" translate="no"><span class="w"> </span><span class="n">change</span><span class="w"> </span><span class="p" data-group-id="6253736989-1">{</span><span class="nc">Edgehog.Auth.Changes.WriteRelation</span><span class="w"> </span><span class="ss">destination_id</span><span class="p">:</span><span class="w"> </span><span class="ss">:name</span><span class="p">,</span><span class="w"> </span><span class="ss">relationship</span><span class="p">:</span><span class="w"> </span><span class="ss">:realm</span><span class="p">,</span><span class="w"> </span><span class="ss">source_type</span><span class="p">:</span><span class="w"> </span><span class="ss">:device</span><span class="p">,</span><span class="w"> </span><span class="ss">source_id</span><span class="p">:</span><span class="w"> </span><span class="ss">:device_id</span><span class="p" data-group-id="6253736989-1">}</span></code></pre><p>With realm &quot;test&quot; and device_id &quot;Simpl3D3vice1d&quot; will write the tuple</p><pre><code class="fga"> {realm:test, realm, device:Simpl3D3vice1d}</code></pre>
122122
</section>
123123

124124
</div>

snapshot/Edgehog.Auth.Policies.Check.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ <h1>
119119

120120
<section id="moduledoc">
121121
<p>An <a href="https://hexdocs.pm/ash/3.26.0/Ash.Policy.SimpleCheck.html"><code class="inline">Ash.Policy.SimpleCheck</code></a>, checking the user <code class="inline">subj</code> has access to the object of type <code class="inline">obj</code>.
122-
You can optionally pass the <code class="inline">obj_id</code> attribute name.</p><p>To use it in a policy:</p><pre><code class="makeup elixir" translate="no"><span class="n">authorize_if</span><span class="w"> </span><span class="p" data-group-id="2574649357-1">{</span><span class="nc">Edgehog.Auth.Policies.Check</span><span class="p">,</span><span class="w"> </span><span class="ss">rel</span><span class="p">:</span><span class="w"> </span><span class="ss">:can_view</span><span class="p">,</span><span class="w"> </span><span class="ss">obj</span><span class="p">:</span><span class="w"> </span><span class="ss">:realm</span><span class="p">,</span><span class="w"> </span><span class="ss">obj_id</span><span class="p">:</span><span class="w"> </span><span class="ss">:name</span><span class="p" data-group-id="2574649357-1">}</span></code></pre>
122+
You can optionally pass the <code class="inline">obj_id</code> attribute name.</p><p>To use it in a policy:</p><pre><code class="makeup elixir" translate="no"><span class="n">authorize_if</span><span class="w"> </span><span class="p" data-group-id="5047923609-1">{</span><span class="nc">Edgehog.Auth.Policies.Check</span><span class="p">,</span><span class="w"> </span><span class="ss">rel</span><span class="p">:</span><span class="w"> </span><span class="ss">:can_view</span><span class="p">,</span><span class="w"> </span><span class="ss">obj</span><span class="p">:</span><span class="w"> </span><span class="ss">:realm</span><span class="p">,</span><span class="w"> </span><span class="ss">obj_id</span><span class="p">:</span><span class="w"> </span><span class="ss">:name</span><span class="p" data-group-id="5047923609-1">}</span></code></pre>
123123
</section>
124124

125125
</div>

snapshot/Edgehog.Auth.Policies.Filter.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ <h1>
118118

119119

120120
<section id="moduledoc">
121-
<p>An <a href="https://hexdocs.pm/ash/3.26.0/Ash.Policy.FilterCheck.html"><code class="inline">Ash.Policy.FilterCheck</code></a>, filtering the object of type <code class="inline">obj</code> available to the user <code class="inline">subj</code>.</p><p>To use it in a policy:</p><pre><code class="makeup elixir" translate="no"><span class="n">authorize_if</span><span class="w"> </span><span class="p" data-group-id="1327699269-1">{</span><span class="nc">Edgehog.Auth.Policies.Filter</span><span class="p">,</span><span class="w"> </span><span class="ss">rel</span><span class="p">:</span><span class="w"> </span><span class="ss">:can_view</span><span class="p">,</span><span class="w"> </span><span class="ss">obj</span><span class="p">:</span><span class="w"> </span><span class="ss">:device</span><span class="p" data-group-id="1327699269-1">}</span></code></pre>
121+
<p>An <a href="https://hexdocs.pm/ash/3.26.0/Ash.Policy.FilterCheck.html"><code class="inline">Ash.Policy.FilterCheck</code></a>, filtering the object of type <code class="inline">obj</code> available to the user <code class="inline">subj</code>.</p><p>To use it in a policy:</p><pre><code class="makeup elixir" translate="no"><span class="n">authorize_if</span><span class="w"> </span><span class="p" data-group-id="0886919106-1">{</span><span class="nc">Edgehog.Auth.Policies.Filter</span><span class="p">,</span><span class="w"> </span><span class="ss">rel</span><span class="p">:</span><span class="w"> </span><span class="ss">:can_view</span><span class="p">,</span><span class="w"> </span><span class="ss">obj</span><span class="p">:</span><span class="w"> </span><span class="ss">:device</span><span class="p" data-group-id="0886919106-1">}</span></code></pre>
122122
</section>
123123

124124
</div>

0 commit comments

Comments
 (0)