UNPKG

n8n-nodes-imap-ai

Version:

Simplified IMAP node for n8n with AI-agent support. Clean and modular email and mailbox management for automation workflows.

53 lines 2.58 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.credentialNames = exports.CREDENTIALS_TYPE_OAUTH2 = exports.CREDENTIALS_TYPE_CORE_IMAP_ACCOUNT = exports.CREDENTIALS_TYPE_THIS_NODE = void 0; exports.getImapCredentials = getImapCredentials; const ImapCredentials_credentials_1 = require("../../../credentials/ImapCredentials.credentials"); exports.CREDENTIALS_TYPE_THIS_NODE = 'imapThisNode'; exports.CREDENTIALS_TYPE_CORE_IMAP_ACCOUNT = 'coreImapAccount'; exports.CREDENTIALS_TYPE_OAUTH2 = 'oauth2'; exports.credentialNames = { [exports.CREDENTIALS_TYPE_THIS_NODE]: ImapCredentials_credentials_1.IMAP_CREDENTIALS_NAME, [exports.CREDENTIALS_TYPE_CORE_IMAP_ACCOUNT]: 'imap', [exports.CREDENTIALS_TYPE_OAUTH2]: 'oAuth2Api', }; const credentialsProviders = [ { credentialsType: exports.CREDENTIALS_TYPE_THIS_NODE, credentialsName: exports.credentialNames[exports.CREDENTIALS_TYPE_THIS_NODE], getImapCredentials: async function (context) { const credentials = (await context.getCredentials(this.credentialsName)); return credentials; }, }, { credentialsType: exports.CREDENTIALS_TYPE_CORE_IMAP_ACCOUNT, credentialsName: exports.credentialNames[exports.CREDENTIALS_TYPE_CORE_IMAP_ACCOUNT], getImapCredentials: async function (context) { const credentials = await context.getCredentials(this.credentialsName); const returnCredentials = { host: credentials.host, port: credentials.port, user: credentials.user, password: credentials.password, tls: credentials.secure, allowUnauthorizedCerts: credentials.allowUnauthorizedCerts, }; return returnCredentials; }, }, ]; async function getImapCredentials(context) { const FIRST_NODE_INDEX = 0; const credentialsType = context.getNodeParameter('authentication', FIRST_NODE_INDEX); const provider = credentialsProviders.find((provider) => provider.credentialsType === credentialsType); if (!provider) { throw new Error(`Unsupported credentials type: ${credentialsType}`); } const credentials = await provider.getImapCredentials(context); context.logger.info(`Using credentials from ${provider.credentialsName}`); context.logger.info(`Host: ${credentials.host}:${credentials.port}`); context.logger.info(`User: ${credentials.user}`); return credentials; } //# sourceMappingURL=CredentialsSelector.js.map