n8n-nodes-imap-ai
Version:
Simplified IMAP node for n8n with AI-agent support. Clean and modular email and mailbox management for automation workflows.
41 lines • 1.9 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.MoveEmailOperation = void 0;
const n8n_workflow_1 = require("n8n-workflow");
const helpers_1 = require("../utils/helpers");
class MoveEmailOperation {
async execute(executeFunctions, client, itemIndex) {
const mailboxParam = executeFunctions.getNodeParameter('mailbox', itemIndex);
const mailbox = helpers_1.ParameterValidator.extractMailboxName(mailboxParam);
const emailUid = executeFunctions.getNodeParameter('emailUid', itemIndex);
const targetMailboxParam = executeFunctions.getNodeParameter('targetMailbox', itemIndex);
const targetMailbox = helpers_1.ParameterValidator.extractMailboxName(targetMailboxParam);
helpers_1.ParameterValidator.validateMailbox(mailboxParam);
helpers_1.ParameterValidator.validateUid(emailUid);
helpers_1.ParameterValidator.validateMailbox(targetMailboxParam);
try {
await client.mailboxOpen(mailbox);
}
catch (error) {
throw new n8n_workflow_1.NodeApiError(executeFunctions.getNode(), {
message: `Failed to open mailbox ${mailbox}: ${error.message}`,
});
}
try {
const result = await client.messageMove(emailUid, targetMailbox);
return {
success: true,
message: `Email moved from ${mailbox} to ${targetMailbox}`,
uid: emailUid,
destination: (result === null || result === void 0 ? void 0 : result.destination) || null,
};
}
catch (error) {
throw new n8n_workflow_1.NodeApiError(executeFunctions.getNode(), {
message: `Failed to move email: ${error.message}`,
});
}
}
}
exports.MoveEmailOperation = MoveEmailOperation;
//# sourceMappingURL=moveEmail.js.map