Skip to content

Commit 25c0015

Browse files
authored
fix: Add default option always_include_resource_ids: false to has_many/belongs_to (#41)
graphiti-api/graphiti#167 graphiti-api/graphiti#168
1 parent 6107208 commit 25c0015

File tree

2 files changed

+14
-4
lines changed

2 files changed

+14
-4
lines changed

_site/guides/concepts/resources.html

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1096,8 +1096,11 @@ <h4>
10961096
<span class="ss">resource: </span><span class="no">EmployeeResource</span><span class="p">,</span>
10971097
<span class="ss">readable: </span><span class="kp">true</span><span class="p">,</span>
10981098
<span class="ss">writable: </span><span class="kp">true</span><span class="p">,</span>
1099-
<span class="ss">link: </span><span class="nb">self</span><span class="p">.</span><span class="nf">autolink</span> <span class="c1"># default true</span>
1100-
<span class="ss">single: </span><span class="kp">false</span> <span class="c1"># only allow this sideload when one employee</span></code></pre></figure>
1099+
<span class="ss">link: </span><span class="nb">self</span><span class="p">.</span><span class="nf">autolink</span><span class="p">,</span> <span class="c1"># default true</span>
1100+
<span class="ss">single: </span><span class="kp">false</span><span class="p">,</span> <span class="c1"># only allow this sideload when one employee</span>
1101+
<span class="ss">always_include_resource_ids: </span><span class="kp">false</span></code></pre></figure>
1102+
1103+
<p><em>note</em>: Setting <code class="highlighter-rouge">always_include_resource_ids: true</code> could result in 1+N queries (see <a href="https://github.com/graphiti-api/graphiti/issues/167#issuecomment-686866646">#167</a>)</p>
11011104

11021105
<a class="anchor" id="customizing-scope" />
11031106
<a class="header" href="#customizing-scope">
@@ -1183,6 +1186,7 @@ <h4>
11831186
<figure class="highlight"><pre><code class="language-ruby" data-lang="ruby"><span class="n">has_many</span> <span class="ss">:positions</span><span class="p">,</span>
11841187
<span class="ss">foreign_key: :employee_id</span><span class="p">,</span>
11851188
<span class="ss">primary_key: :id</span><span class="p">,</span>
1189+
<span class="ss">always_include_resource_ids: </span><span class="kp">false</span><span class="p">,</span>
11861190
<span class="ss">resource: </span><span class="no">PositionResource</span></code></pre></figure>
11871191

11881192
<p>Which would cause the following query when sideloading:</p>
@@ -1221,6 +1225,7 @@ <h4>
12211225
<figure class="highlight"><pre><code class="language-ruby" data-lang="ruby"><span class="n">belongs_to</span> <span class="ss">:employee</span><span class="p">,</span>
12221226
<span class="ss">foreign_key: :employee_id</span><span class="p">,</span>
12231227
<span class="ss">primary_key: :id</span><span class="p">,</span>
1228+
<span class="ss">always_include_resource_ids: </span><span class="kp">false</span><span class="p">,</span>
12241229
<span class="ss">resource: </span><span class="no">EmployeeResource</span></code></pre></figure>
12251230

12261231
<p>Which would cause the following query when sideloading:</p>

guides/concepts/resources.md

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -935,10 +935,13 @@ has_many :positions,
935935
resource: EmployeeResource,
936936
readable: true,
937937
writable: true,
938-
link: self.autolink # default true
939-
single: false # only allow this sideload when one employee
938+
link: self.autolink, # default true
939+
single: false, # only allow this sideload when one employee
940+
always_include_resource_ids: false
940941
{% endhighlight %}
941942

943+
*note*: Setting `always_include_resource_ids: true` could result in 1+N queries (see [#167](https://github.com/graphiti-api/graphiti/issues/167#issuecomment-686866646))
944+
942945
{% include h.html tag="h5" text="5.2.1 Customizing Scope" a="customizing-scope" %}
943946

944947
Use `params` to change the query parameters that will be passed to the
@@ -1021,6 +1024,7 @@ Defaults to these common options:
10211024
has_many :positions,
10221025
foreign_key: :employee_id,
10231026
primary_key: :id,
1027+
always_include_resource_ids: false,
10241028
resource: PositionResource
10251029
{% endhighlight %}
10261030

@@ -1064,6 +1068,7 @@ Defaults to these common options:
10641068
belongs_to :employee,
10651069
foreign_key: :employee_id,
10661070
primary_key: :id,
1071+
always_include_resource_ids: false,
10671072
resource: EmployeeResource
10681073
{% endhighlight %}
10691074

0 commit comments

Comments
 (0)