fix: downcase email before finding (#8921)

* fix: downcase email when finding

* feat: add `from_email` class

* refactor: use `from_email`

* feat: add rule to disallow find_by email directly

* chore:  remove redundant test

Since the previous imlpmentation didn't do a case-insentive search, a new user would be created, and the error would be raised at the DB layer. With the new changes, this test case is redundant

* refactor: use from_email
This commit is contained in:
Shivam Mishra
2024-02-21 18:51:00 +05:30
committed by GitHub
parent ebae547a60
commit c031cb19d2
17 changed files with 46 additions and 18 deletions

View File

@@ -91,7 +91,7 @@ class Imap::ImapMailbox
end
def find_or_create_contact
@contact = @inbox.contacts.find_by(email: @processed_mail.original_sender)
@contact = @inbox.contacts.from_email(@processed_mail.original_sender)
if @contact.present?
@contact_inbox = ContactInbox.find_by(inbox: @inbox, contact: @contact)
else

View File

@@ -86,7 +86,7 @@ class SupportMailbox < ApplicationMailbox
end
def find_or_create_contact
@contact = @inbox.contacts.find_by(email: original_sender_email)
@contact = @inbox.contacts.from_email(original_sender_email)
if @contact.present?
@contact_inbox = ContactInbox.find_by(inbox: @inbox, contact: @contact)
else