You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
The text was updated successfully, but these errors were encountered:
To be clear, I do think that temp-id is not going to be the final, and the draft may not be acceptable to use as of right now as a starting point. The temp-id, e.g., is proposed to change to tid.
It may be best to hold off on this until more movement is made there.
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
temp-id
properties if they are to be created.%{data: [%{"temp-id" => "foo", "type" => "bar"}
Subtasks
included
records and assuming they're relationships in the resulting params map,DataToAttributes
should parse therelationships
map firstdata
is a map is a belongs to and should be left alone. it's already handled byJaSerializer.Params.to_attributes
data
is an array should be checked for identifiers withtemp-id
keystemp-id
should be found in theincluded
section and added under the pluralized relationship key in the resulting mapAn 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.
The text was updated successfully, but these errors were encountered: