mirror of
				https://github.com/lingble/chatwoot.git
				synced 2025-11-04 04:57:51 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			33 lines
		
	
	
		
			865 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			865 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
class Public::Api::V1::CsatSurveyController < PublicController
 | 
						|
  before_action :set_conversation
 | 
						|
  before_action :set_message
 | 
						|
 | 
						|
  def show; end
 | 
						|
 | 
						|
  def update
 | 
						|
    render json: { error: 'You cannot update the CSAT survey after 14 days' }, status: :unprocessable_entity and return if check_csat_locked
 | 
						|
 | 
						|
    @message.update!(message_update_params[:message])
 | 
						|
  end
 | 
						|
 | 
						|
  private
 | 
						|
 | 
						|
  def set_conversation
 | 
						|
    return if params[:id].blank?
 | 
						|
 | 
						|
    @conversation = Conversation.find_by!(uuid: params[:id])
 | 
						|
  end
 | 
						|
 | 
						|
  def set_message
 | 
						|
    @message = @conversation.messages.find_by!(content_type: 'input_csat')
 | 
						|
  end
 | 
						|
 | 
						|
  def message_update_params
 | 
						|
    params.permit(message: [{ submitted_values: [:name, :title, :value, { csat_survey_response: [:feedback_message, :rating] }] }])
 | 
						|
  end
 | 
						|
 | 
						|
  def check_csat_locked
 | 
						|
    (Time.zone.now.to_date - @message.created_at.to_date).to_i > 14
 | 
						|
  end
 | 
						|
end
 |