loopbackio / loopbackio/loopback-next

Filter/Where as a standalone concept

Offen
#5,957 4 Kommentare 3 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

epic feature
Vorherrschende Sprache
TypeScript
Sterne
5.1k
Forks
1.1k
Ø Merge
2 T. 21 Std.
Gemergte PRs (30 T.)
27

Beschreibung

Refactor the current implementation of LoopBack's Filter to allow other packages to leverage the filtering implementation and/or support LoopBack's Filter syntax.

  1. The syntax of Filter/Where objects should be well defined and properly documented, to allow 3rd-party implementations to understand all possible values.

  2. There should be TypeScript typings describing Filter, Where, etc., these typings must be accessible independently on @loopback/repository (e.g. via a new package).

  3. The implementation used by our memory connector should be refactored/extracted into a package that can be used independently from juggler (something like https://www.npmjs.com/package/loopback-filters). It's important to update the connector to use that new package, to ensure there is only single reference implementation.

Nice to have:

  • JSON Schema describing Filter syntax
  • Some sort of a test suite to allow 3rd-party implementations to verify conformance

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit, die vorhandene Implementierung von Filter/Where und den Memory-Connector in juggler zu finden, und prüfe anschließend, wie @loopback/repository seine Typen bereitstellt. Als erledigt gilt die Aufgabe, wenn die Syntax dokumentiert ist, unabhängige TypeScript-Typdefinitionen und ein wiederverwendbares Filterpaket vorhanden sind, der Memory-Connector die gemeinsame Implementierung verwendet und die vorgeschlagenen JSON-Schema- oder Konformitätstests berücksichtigt wurden.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
typescript
Bereich
backend-api-design, documentation
Issue-Typ
Refactoring
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.