# 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