chatwoot-develop/app/models/conversation_crm_insight.rb

48 lines
1.6 KiB
Ruby

# == Schema Information
#
# Table name: conversation_crm_insights
#
# id :bigint not null, primary key
# confidence :float
# contact_sessions_count :integer default(0), not null
# error_message :text
# generated_at :datetime
# last_contact_at :datetime
# model :string
# schema_version :string
# status :string default("success")
# structured_data :jsonb
# summary_text :text
# created_at :datetime not null
# updated_at :datetime not null
# account_id :bigint
# contact_id :bigint not null
# conversation_id :bigint not null
# range_from_message_id :bigint
# range_to_message_id :bigint
#
# Indexes
#
# idx_on_conversation_id_generated_at_44d5836366 (conversation_id,generated_at)
# index_conversation_crm_insights_on_account_id (account_id)
# index_conversation_crm_insights_on_contact_id (contact_id)
# index_conversation_crm_insights_on_conversation_id (conversation_id)
# index_conversation_crm_insights_on_status (status)
#
# Foreign Keys
#
# fk_rails_... (account_id => accounts.id)
# fk_rails_... (contact_id => contacts.id)
# fk_rails_... (conversation_id => conversations.id)
#
class ConversationCrmInsight < ApplicationRecord
belongs_to :conversation
belongs_to :contact
validates :conversation_id, presence: true
validates :contact_id, presence: true
scope :success, -> { where(status: 'success') }
scope :failed, -> { where(status: 'failed') }
end