feat: IMAP Driver Integration (#12576)
### Added IMAP integration This PR adds support for connecting email accounts via IMAP protocol, allowing users to sync their emails without OAuth. #### DB Changes: - Added customConnectionParams and connectionType fields to ConnectedAccountWorkspaceEntity #### UI: - Added settings pages for creating and editing IMAP connections with proper validation and connection testing. - Implemented reconnection flows for handling permission issues. #### Backend: - Built ImapConnectionModule with corresponding resolver and service for managing IMAP connections. - Created MessagingIMAPDriverModule to handle IMAP client operations, message fetching/parsing, and error handling. #### Dependencies: Integrated `imapflow` and `mailparser` libraries with their type definitions to handle the IMAP protocol communication. --------- Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> Co-authored-by: Félix Malfait <felix.malfait@gmail.com> Co-authored-by: Félix Malfait <felix@twenty.com>
This commit is contained in:
@@ -25,6 +25,7 @@ const PROVIDORS_ICON_MAPPING = {
|
||||
EMAIL: {
|
||||
[ConnectedAccountProvider.MICROSOFT]: IconMicrosoftOutlook,
|
||||
[ConnectedAccountProvider.GOOGLE]: IconGmail,
|
||||
[ConnectedAccountProvider.IMAP_SMTP_CALDAV]: IconMail,
|
||||
default: IconMail,
|
||||
},
|
||||
CALENDAR: {
|
||||
@@ -50,7 +51,11 @@ export const ActorDisplay = ({
|
||||
case 'EMAIL':
|
||||
return PROVIDORS_ICON_MAPPING.EMAIL[context?.provider ?? 'default'];
|
||||
case 'CALENDAR':
|
||||
return PROVIDORS_ICON_MAPPING.CALENDAR[context?.provider ?? 'default'];
|
||||
return (
|
||||
PROVIDORS_ICON_MAPPING.CALENDAR[
|
||||
context?.provider as keyof typeof PROVIDORS_ICON_MAPPING.CALENDAR
|
||||
] ?? PROVIDORS_ICON_MAPPING.CALENDAR.default
|
||||
);
|
||||
case 'SYSTEM':
|
||||
return IconRobot;
|
||||
case 'WORKFLOW':
|
||||
|
||||
Reference in New Issue
Block a user