diff --git a/app/jobs/webhooks/instagram_events_job.rb b/app/jobs/webhooks/instagram_events_job.rb index ef077c7ee..f12bd3545 100644 --- a/app/jobs/webhooks/instagram_events_job.rb +++ b/app/jobs/webhooks/instagram_events_job.rb @@ -38,7 +38,9 @@ class Webhooks::InstagramEventsJob < ApplicationJob def create_test_text messenger_channel = Channel::FacebookPage.last - @inbox = ::Inbox.find_by!(channel: messenger_channel) + @inbox = ::Inbox.find_by(channel: messenger_channel) + return unless @inbox + @contact_inbox = @inbox.contact_inboxes.where(source_id: 'sender_username').first unless @contact_inbox @contact_inbox ||= @inbox.channel.create_contact_inbox( diff --git a/app/models/user.rb b/app/models/user.rb index 214658869..6f5e67bee 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -78,7 +78,7 @@ class User < ApplicationRecord has_many :inbox_members, dependent: :destroy has_many :inboxes, through: :inbox_members, source: :inbox has_many :messages, as: :sender - has_many :invitees, through: :account_users, class_name: 'User', foreign_key: 'inviter_id', dependent: :nullify + has_many :invitees, through: :account_users, class_name: 'User', foreign_key: 'inviter_id', source: :inviter, dependent: :nullify has_many :notifications, dependent: :destroy has_many :notification_settings, dependent: :destroy diff --git a/app/services/instagram/message_text.rb b/app/services/instagram/message_text.rb index b4bfc1ed5..9fc1164a3 100644 --- a/app/services/instagram/message_text.rb +++ b/app/services/instagram/message_text.rb @@ -17,6 +17,9 @@ class Instagram::MessageText < Instagram::WebhooksBaseService [@messaging[:recipient][:id], @messaging[:sender][:id]] end inbox_channel(instagram_id) + # person can connect the channel and then delete the inbox + return if @inbox.blank? + ensure_contact(contact_id) create_message diff --git a/app/services/instagram/webhooks_base_service.rb b/app/services/instagram/webhooks_base_service.rb index 2a534ac82..021a132e2 100644 --- a/app/services/instagram/webhooks_base_service.rb +++ b/app/services/instagram/webhooks_base_service.rb @@ -3,7 +3,7 @@ class Instagram::WebhooksBaseService def inbox_channel(instagram_id) messenger_channel = Channel::FacebookPage.where(instagram_id: instagram_id) - @inbox = ::Inbox.find_by!(channel: messenger_channel) + @inbox = ::Inbox.find_by(channel: messenger_channel) end def find_or_create_contact(user)