Files
leadchat/enterprise/app/models/response_document.rb
Sojan Jose 41e269e873 feat(ee): Add reporting events for bots (#9027)
Added a new event conversation_bot_resolved and added a job to auto resolve the bot conversations if there was no activity for the last 1 hour.
2024-02-27 14:53:28 -08:00

47 lines
1.2 KiB
Ruby

# == Schema Information
#
# Table name: response_documents
#
# id :bigint not null, primary key
# content :text
# document_link :string
# document_type :string
# created_at :datetime not null
# updated_at :datetime not null
# account_id :bigint not null
# document_id :bigint
# response_source_id :bigint not null
#
# Indexes
#
# index_response_documents_on_document (document_type,document_id)
# index_response_documents_on_response_source_id (response_source_id)
#
class ResponseDocument < ApplicationRecord
has_many :responses, dependent: :destroy_async
belongs_to :account
belongs_to :response_source
before_validation :set_account
after_create :ensure_content
after_update :handle_content_change
private
def set_account
self.account = response_source.account
end
def ensure_content
return unless content.nil?
ResponseBot::ResponseDocumentContentJob.perform_later(self)
end
def handle_content_change
return unless saved_change_to_content? && content.present?
ResponseBot::ResponseBuilderJob.perform_later(self)
end
end