# frozen_string_literal: true class Ajax::QuestionController < AjaxController def create params.require :question params.require :anonymousQuestion params.require :rcpt # set up fake success response -- the use cases raise errors on exceptions # which get rescued by the base class @response = { success: true, message: t(".success"), status: :okay, } if user_signed_in? && params[:rcpt] == "followers" UseCase::Question::CreateFollowers.call( source_user_id: current_user.id, content: params[:question], author_identifier: AnonymousBlock.get_identifier(request.remote_ip), send_to_own_inbox: params[:sendToOwnInbox], ) return end UseCase::Question::Create.call( source_user_id: user_signed_in? ? current_user.id : nil, target_user_id: params[:rcpt], content: params[:question], anonymous: params[:anonymousQuestion], author_identifier: AnonymousBlock.get_identifier(request.remote_ip), ) end def destroy params.require :question UseCase::Question::Destroy.call( question_id: params[:question], current_user:, ) @response[:status] = :okay @response[:message] = t(".success") @response[:success] = true end end