Modify Plugs.DataToAttributes to follow JSON API sideposting draft
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 35/100
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
Problem
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-idproperties 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
includedrecords and assuming they're relationships in the resulting params map,DataToAttributesshould parse therelationshipsmap first- the relationship where
datais a map is a belongs to and should be left alone. it's already handled byJaSerializer.Params.to_attributes - the relationship where
datais an array should be checked for identifiers withtemp-idkeys- each
temp-idshould be found in theincludedsection and added under the pluralized relationship key in the resulting map
- each
- the relationship where
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
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di code-corps/code-corps-api
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 15/100
code-corps/code-corps-api#1385 ·
-
Cannot Create new GitHub App Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 25/100
code-corps/code-corps-api#1384 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
code-corps/code-corps-api#1383 · 2 commenti ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
code-corps/code-corps-api#1382 · 2 commenti ·
-
Difficulty: Medium Skill: Elixir Time: 4 hours
code-corps/code-corps-api#1372 · 3 commenti · 1 assegnatario ·
Tutte le issue di code-corps/code-corps-api
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
carverauto/serviceradar#4596 ·
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
agentjido/jido_harness#80 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
sevenseacat/cinder#235 ·
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100