houdini/app/controllers/email_settings_controller.rb

29 lines
1.1 KiB
Ruby
Raw Normal View History

# frozen_string_literal: true
2020-06-12 20:03:43 +00:00
# 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
class EmailSettingsController < ApplicationController
include Controllers::Nonprofit::Current
include Controllers::Nonprofit::Authorization
before_action :authenticate_nonprofit_user!
def index
user = current_role?(:super_admin) ? User.find(params[:user_id]) : current_user
es = QueryEmailSettings.fetch(params[:nonprofit_id], user.id)
render json: es
end
# Create or update for a given user and nonprofit
# post /nonprofits/:nonprofit_id/users/:user_id/email_settings for current_user
def create
user = current_role?(:super_admin) ? User.find(params[:user_id]) : current_user
render json: UpdateEmailSettings.save(params[:nonprofit_id], user.id, email_settings_params)
end
private
def email_settings_params
params.require(:email_settings).permit(:notify_payments, :notify_campaigns, :notify_events, :notify_payouts, :notify_recurring_donations)
end
end