chore: fix the failing user destroy for admin (#3223)

- fix the invitee association on the user
- handle Instagram events with inbox missing
This commit is contained in:
Sojan Jose 2021-10-16 00:11:53 +05:30 committed by GitHub
parent de0702b679
commit 3b53ca157c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 8 additions and 3 deletions

View file

@ -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(

View file

@ -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

View file

@ -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

View file

@ -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)