Extend computed fields with additional parameters
@olirice is already working on this.
Since Dec 27, 2022.
Assessment
This issue has not been assessed yet.
Description
Summary
To allow
create or replace function app._last_events(app.project, count int) returns ...
to be natively used like
query GetProjects {
projectCollection {
edges { node { id code name lastEvents(count: 1) } }
}
}
Rationale
To allow for a richer computed fields resolution logic.
Design
We already analyze computed field functions signatures to insert them into the schema.
I believe we could as well detect function argument name and type and auto-add schema input fields for additional arguments.
Drawbacks
Don't see any.
Alternatives
Certainly we can pass additional info down to computed field resolver via global variables by doing
set_config('graphql.vars', $1->>'variables', true)
in app.graphql() and using
coalesce(current_setting('graphql.vars', true)::jsonb->>'count', '1')::int
in the computed field function.
The above is just a lot of hackish plus it pushes to pass data beside the schema and bypasses input validation.
- Dominant language
- Rust
- Stars
- 3.4k
- Forks
- 141
- Avg merge
- 19m
- Merged PRs (30d)
- 2
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from supabase/pg_graphql
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
supabase/pg_graphql#646 ·
-
triage-required
supabase/pg_graphql#642 · 1 assignee ·
-
triage-required
supabase/pg_graphql#641 · 1 comment · 1 assignee ·
-
triage-required
supabase/pg_graphql#629 · 1 assignee ·
-
triage-required
supabase/pg_graphql#617 · 1 comment · 1 assignee ·
All issues in supabase/pg_graphql
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
kwakseongjae/auto-hwp#319 ·
-
area:cli bug filter-quality good first issue priority:medium
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
-
Difficulty 1/5 Under an hour Newbie friendliness 72/100
bevyengine/bevy#25861 ·
-
comp-datalake
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
ClickHouse/ClickHouse#121222 ·
-
enhancement remote
Difficulty 2/5 1-3 hours Newbie friendliness 68/100