JSONAPI-Resources / JSONAPI-Resources/jsonapi-resources
Filtering included resources
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Ruby
- Sterne
- 2.3k
- Forks
- 546
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
We have a use-case where it would be useful to apply filters to the included resources.
Dummy example:
class UserResource < JSONAPI::Resource
has_many :socks
has_many :shoes
end
class SockResource < JSONAPI::Resource
has_one :user
filter :in_use
end
class ShoeResource < JSONAPI::Resource
has_one :user
filter :in_use
end
Individually, one can filter the shoes and socks
/shoes?filter[in_use]=true
/socks?filter[in_use]=true
I was wondering if it would be possible to filter the shoes and socks when included with the User?
e.g. To get the user, and the shoes and socks he currently has in use, something like:
/users/1?include=shoes,socks&filter[shoes][in_use]=true&filter[socks][in_use]=true
Is this in the scope of jsonapi-resources? or would it be best to find a custom approach?
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit den Beispielen für UserResource, SockResource und ShoeResource und überprüfe, wie die dort gezeigten include- und filter-Abfrageparameter derzeit interpretiert werden. Ermittle, ob das Filtern eingeschlossener Ressourcen unterstützt wird; abgeschlossen ist die Aufgabe, wenn entweder ein dokumentiertes unterstütztes Verhalten mit Testabdeckung vorliegt oder klar festgestellt wurde, dass ein benutzerdefinierter Ansatz erforderlich ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- rails, ruby
- Bereich
- api, backend
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 25/100