fix: appliquer les règles d'automatisation (ventilation) lors de l'import email

This commit is contained in:
Manus
2026-06-09 10:48:29 -04:00
parent 6c7828d829
commit 595f5dded1

View File

@@ -13,6 +13,7 @@ import { extractInvoicesWithMistral, generateMetadataJSON } from "./invoiceExtra
import { localStoragePut, generateStorageKey } from "./localStorage"; import { localStoragePut, generateStorageKey } from "./localStorage";
import { sendImportNotification } from "./notificationService"; import { sendImportNotification } from "./notificationService";
import { getOffice365ImapToken, buildXOAuth2String } from "./office365OAuth"; import { getOffice365ImapToken, buildXOAuth2String } from "./office365OAuth";
import { applyAutomationRules } from "./automationEngine";
interface EmailImportConfig { interface EmailImportConfig {
userId: number; userId: number;
@@ -155,7 +156,7 @@ async function processEmailAttachment(
); );
// Create invoice record // Create invoice record
await createInvoice({ const newInvoice = await createInvoice({
userId, userId,
sourceFileId: sourceFile.id, sourceFileId: sourceFile.id,
invoiceIndexInFile: i + 1, invoiceIndexInFile: i + 1,
@@ -177,6 +178,18 @@ async function processEmailAttachment(
status: "completed", status: "completed",
}); });
// Apply automation rules (ventilation, typeAchat, serviceConcerne)
try {
const { updateInvoice } = await import("./db");
const automationUpdates = await applyAutomationRules(userId, newInvoice);
if (Object.keys(automationUpdates).length > 0) {
await updateInvoice(newInvoice.id, automationUpdates);
console.log(`[EmailImport] Automation rules applied to invoice ${newInvoice.id}: ${Object.keys(automationUpdates).join(', ')}`);
}
} catch (autoError: any) {
console.error(`[EmailImport] Error applying automation rules:`, autoError.message);
}
importedCount++; importedCount++;
} catch (error: any) { } catch (error: any) {
errorsCount++; errorsCount++;