Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Modify Plugs.DataToAttributes to follow JSON API sideposting draft

Aperta
#1,303 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
35/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
elixir
Ambito
api, backend

Direzione di ricerca

Inizia con il codice DataToAttributes citato nell’issue e verifica come JaSerializer.Params.to_attributes gestisce le relazioni belongs-to. Controlla il JSON API sideposting draft e issue #1301 prima di modificare il comportamento. Il lavoro è completato quando le relazioni array usano identificatori temp-id per selezionare i record inclusi corrispondenti, mentre le relazioni map continuano a essere gestite da JaSerializer.Params.to_attributes.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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.

Lingua principale
Elixir
Stelle
234
Fork
82
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di code-corps/code-corps-api

Tutte le issue di code-corps/code-corps-api

Issue simili

Altre issue su Elixir

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.