### 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>
59 lines
1.4 KiB
TypeScript
59 lines
1.4 KiB
TypeScript
import { ClientConfig } from '@/client-config/types/ClientConfig';
|
|
import { CaptchaDriverType, SupportDriver } from '~/generated/graphql';
|
|
|
|
export const mockedClientConfig: ClientConfig = {
|
|
aiModels: [],
|
|
signInPrefilled: true,
|
|
isMultiWorkspaceEnabled: false,
|
|
isEmailVerificationRequired: false,
|
|
authProviders: {
|
|
google: true,
|
|
magicLink: false,
|
|
password: true,
|
|
microsoft: false,
|
|
sso: [],
|
|
},
|
|
frontDomain: 'localhost',
|
|
defaultSubdomain: 'app',
|
|
chromeExtensionId: 'MOCKED_EXTENSION_ID',
|
|
debugMode: false,
|
|
analyticsEnabled: true,
|
|
support: {
|
|
supportDriver: SupportDriver.FRONT,
|
|
supportFrontChatId: null,
|
|
},
|
|
sentry: {
|
|
dsn: 'MOCKED_DSN',
|
|
release: 'MOCKED_RELEASE',
|
|
environment: 'MOCKED_ENVIRONMENT',
|
|
},
|
|
billing: {
|
|
isBillingEnabled: true,
|
|
billingUrl: '',
|
|
trialPeriods: [
|
|
{
|
|
duration: 30,
|
|
isCreditCardRequired: true,
|
|
},
|
|
{
|
|
duration: 7,
|
|
isCreditCardRequired: false,
|
|
},
|
|
],
|
|
},
|
|
captcha: {
|
|
provider: CaptchaDriverType.GOOGLE_RECAPTCHA,
|
|
siteKey: 'MOCKED_SITE_KEY',
|
|
},
|
|
api: { mutationMaximumAffectedRecords: 100 },
|
|
canManageFeatureFlags: true,
|
|
publicFeatureFlags: [],
|
|
isMicrosoftMessagingEnabled: true,
|
|
isMicrosoftCalendarEnabled: true,
|
|
isGoogleMessagingEnabled: true,
|
|
isGoogleCalendarEnabled: true,
|
|
isAttachmentPreviewEnabled: true,
|
|
isConfigVariablesInDbEnabled: false,
|
|
isIMAPMessagingEnabled: false,
|
|
};
|