Open
Description
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-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 therelationships
map first- the relationship where
data
is a map is a belongs to and should be left alone. it's already handled byJaSerializer.Params.to_attributes
- the relationship where
data
is an array should be checked for identifiers withtemp-id
keys- each
temp-id
should be found in theincluded
section 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.