1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
# frozen_string_literal: true
<% module_namespacing_when_supported do -%>
module Mutations
class <%= class_name %>Update < BaseMutation
description "Updates a <%= file_name %> by id"
field :<%= file_name %>, Types::<%= options[:namespaced_types] ? 'Objects::' : '' %><%= class_name %>Type, null: false
argument :id, ID, required: true
argument :<%= file_name %>_input, Types::<%= options[:namespaced_types] ? 'Inputs::' : '' %><%= class_name %>InputType, required: true
def resolve(id:, <%= file_name %>_input:)
<%= singular_table_name %> = ::<%= orm_class.find(class_name, "id") %>
raise GraphQL::ExecutionError.new "Error updating <%= file_name %>", extensions: <%= singular_table_name %>.errors.to_hash unless <%= orm_instance.update("**#{file_name}_input") %>
{ <%= file_name %>: <%= singular_table_name %> }
end
end
end
<% end -%>
|