From 2b6ebd739ecdae741c4fbe15ef497860a465f49c Mon Sep 17 00:00:00 2001 From: Muhsin <12408980+muhsin-k@users.noreply.github.com> Date: Wed, 8 Apr 2026 22:11:22 +0400 Subject: [PATCH] chore: move call associations into Enterprise concerns --- app/models/conversation.rb | 1 - app/models/message.rb | 1 + enterprise/app/models/enterprise/concerns/conversation.rb | 1 + enterprise/app/models/enterprise/concerns/inbox.rb | 1 + enterprise/app/models/enterprise/concerns/message.rb | 7 +++++++ 5 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 enterprise/app/models/enterprise/concerns/message.rb diff --git a/app/models/conversation.rb b/app/models/conversation.rb index 29de6be22..911cfdac6 100644 --- a/app/models/conversation.rb +++ b/app/models/conversation.rb @@ -108,7 +108,6 @@ class Conversation < ApplicationRecord has_many :mentions, dependent: :destroy_async has_many :messages, dependent: :destroy_async, autosave: true - has_many :calls, dependent: :destroy_async has_one :csat_survey_response, dependent: :destroy_async has_many :conversation_participants, dependent: :destroy_async has_many :notifications, as: :primary_actor, dependent: :destroy_async diff --git a/app/models/message.rb b/app/models/message.rb index 730d3e025..ccbb250c3 100644 --- a/app/models/message.rb +++ b/app/models/message.rb @@ -450,3 +450,4 @@ class Message < ApplicationRecord end Message.prepend_mod_with('Message') +Message.include_mod_with('Concerns::Message') diff --git a/enterprise/app/models/enterprise/concerns/conversation.rb b/enterprise/app/models/enterprise/concerns/conversation.rb index 057a30d1d..0f7595e0d 100644 --- a/enterprise/app/models/enterprise/concerns/conversation.rb +++ b/enterprise/app/models/enterprise/concerns/conversation.rb @@ -5,6 +5,7 @@ module Enterprise::Concerns::Conversation belongs_to :sla_policy, optional: true has_one :applied_sla, dependent: :destroy_async has_many :sla_events, dependent: :destroy_async + has_many :calls, dependent: :destroy_async has_many :captain_responses, class_name: 'Captain::AssistantResponse', dependent: :nullify, as: :documentable before_validation :validate_sla_policy, if: -> { sla_policy_id_changed? } around_save :ensure_applied_sla_is_created, if: -> { sla_policy_id_changed? } diff --git a/enterprise/app/models/enterprise/concerns/inbox.rb b/enterprise/app/models/enterprise/concerns/inbox.rb index 0de61db23..bdcd0fd63 100644 --- a/enterprise/app/models/enterprise/concerns/inbox.rb +++ b/enterprise/app/models/enterprise/concerns/inbox.rb @@ -7,5 +7,6 @@ module Enterprise::Concerns::Inbox through: :captain_inbox, class_name: 'Captain::Assistant' has_many :inbox_capacity_limits, dependent: :destroy + has_many :calls, dependent: :destroy_async end end diff --git a/enterprise/app/models/enterprise/concerns/message.rb b/enterprise/app/models/enterprise/concerns/message.rb new file mode 100644 index 000000000..cfdea430b --- /dev/null +++ b/enterprise/app/models/enterprise/concerns/message.rb @@ -0,0 +1,7 @@ +module Enterprise::Concerns::Message + extend ActiveSupport::Concern + + included do + has_one :call, dependent: :nullify + end +end