102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
# File 'lib/graphiti/resource_proxy.rb', line 102
def save(action: :create)
original = Graphiti.context[:namespace]
begin
Graphiti.context[:namespace] = action
::Graphiti::RequestValidator.new(@resource, @payload.params, action).validate!
validator = persist {
@resource.persist_with_relationships \
@payload.meta(action: action),
@payload.attributes,
@payload.relationships
}
ensure
Graphiti.context[:namespace] = original
end
@data, success = validator.to_a
if success
Graphiti.with_context(Graphiti.context[:object], :show) do
@scope.resolve_sideloads([@data])
end
end
success
end
|