Skip to content

Extended dynamic input queries #84

@wilkerlucio

Description

@wilkerlucio

Allow a user query to extend a nested input from a resolver.

In the following example scenario:

(pco/defresolver all-people3 [{:swapi.Root/keys [allPeople]}]
  {::pco/input
   [{:swapi.Root/allPeople
     [{:swapi.PeopleConnection/people
       [:swapi.types/Person]}]}]

   ::pco/output
   [{:swapi/all-people
     [:swapi.types/Person]}]}
  {:swapi/all-people
   (get allPeople :swapi.PeopleConnection/people)})

With that setup, that re-shapes data from a dynamic source, a user query like:

[{:swapi/all-people
  [:swapi.Person/name]}]

Should extend the sub-query at :swapi.PeopleConnection/people.

One point to consider is that a query input/output may have multiple nested points, and how to move from where to where needs to be defined somehow.

My first idea would be to add some parameters to mark the compatible extensions.

This needs more thought.

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions