houdini/lib/insert/insert_supporter_notes.rb
2020-06-15 10:26:57 -05:00

24 lines
849 B
Ruby

# frozen_string_literal: true
# License: AGPL-3.0-or-later WITH WTO-AP-3.0-or-later
# Full license explanation at https://github.com/houdiniproject/houdini/blob/master/LICENSE
require 'param_validation'
require 'qx'
module InsertSupporterNotes
def self.create(notes)
ParamValidation.new(notes,
root: { array_of_hashes: {
supporter_id: { required: true, is_integer: true },
user_id: { required: true, is_integer: true },
content: { required: true }
} })
inserted = Qx.insert_into(:supporter_notes)
.values(notes)
.timestamps
.returning('*')
.execute
InsertActivities.for_supporter_notes(inserted.map { |h| h['id'] })
inserted
end
end