# 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
module UpdateSupporter
  def self.from_info(supporter, params)
    supporter.update(params)
    # GeocodeModel.delay.geocode(supporter)
    supporter
  end

  # Bulk delete, meaning mark all supporters given by a query as deleted='t'
  def self.bulk_delete(np_id, supporter_ids)
    Qx.update(:supporters)
      .set(deleted: true)
      .where('id IN ($ids)', ids: supporter_ids)
      .and_where('nonprofit_id=$id', id: np_id)
      .returning('id')
      .execute
  end

  def self.general_info(supporter_id, data)
    Qx.update(:supporters).set(data).where(id: supporter_id).returning('*').ex.last
  end
end