Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Modify Plugs.DataToAttributes to follow JSON API sideposting draft

Offen
#1,303 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Anfängerfreundlichkeit
35/100
Issue-Typ
Feature
Klarheit
Größtenteils klar
Aktivitätsstatus
Veraltet
Tech-Stack
elixir
Bereich
api, backend

Rechercherichtung

Beginnen Sie mit dem im Issue referenzierten DataToAttributes-Code und überprüfen Sie, wie JaSerializer.Params.to_attributes Beziehungen vom Typ belongs-to behandelt. Prüfen Sie den JSON API sideposting draft und issue #1301, bevor Sie das Verhalten ändern. Als erledigt gilt die Aufgabe, wenn Array-Beziehungen temp-id-Identifiers verwenden, um übereinstimmende inkludierte Datensätze auszuwählen, während Map-Beziehungen weiterhin von JaSerializer.Params.to_attributes behandelt werden.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

blocked

Problem

From https://github.com/json-api/json-api/pull/1197/files?short_path=571f6ce#diff-571f6cee9a492e0e177801c21a4b2b2a

Our current approach with included records is to simply assume they are related to the main record.

Based on the draft

  • included record payloads should have temp-id properties if they are to be created.
  • the main record payload should have a relationship where the identifier is %{data: [%{"temp-id" => "foo", "type" => "bar"}
  • the plug should get those identifiers, then replace the identifier payloads with the associated full payloads matched in included

Subtasks

  • instead of just taking any included records and assuming they're relationships in the resulting params map, DataToAttributes should parse the relationships map first
    • the relationship where data is a map is a belongs to and should be left alone. it's already handled by JaSerializer.Params.to_attributes
    • the relationship where data is an array should be checked for identifiers with temp-id keys
      • each temp-id should be found in the included section and added under the pluralized relationship key in the resulting map

An advantage of this is that we now are able to conclude it's definitely a has_many, so we do not need to explicitly specify this anymore.

References

The code this needs to modify is part of #1301 so this is blocked until that is merged.

Vorherrschende Sprache
Elixir
Sterne
234
Forks
82
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus code-corps/code-corps-api

Alle Issues in code-corps/code-corps-api

Ähnliche Issues

Weitere Issues zu Elixir

Neue Issues direkt in Ihr Postfach

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