Checkpoint: OAuth2 IMAP pour Office 365 : ajout du mode d'authentification OAuth2 pour l'import email (Azure AD Client Credentials), sélecteur basic/oauth2 dans l'UI, bouton "Tester la connexion IMAP", procédure testEmailConnection dans le router. Migration DB emailImportAuthMode appliquée.

This commit is contained in:
Manus
2026-06-05 05:54:21 -04:00
parent 22515e5414
commit 4ef130f21d
9 changed files with 2256 additions and 17 deletions

View File

@@ -0,0 +1 @@
ALTER TABLE `importSettings` ADD `emailImportAuthMode` enum('basic','oauth2') DEFAULT 'basic' NOT NULL;

File diff suppressed because it is too large Load Diff

View File

@@ -190,6 +190,13 @@
"when": 1780411851758,
"tag": "0026_perfect_richard_fisk",
"breakpoints": true
},
{
"idx": 27,
"version": "5",
"when": 1780653000245,
"tag": "0027_complex_ultimo",
"breakpoints": true
}
]
}

View File

@@ -183,6 +183,7 @@ export const importSettings = mysqlTable("importSettings", {
emailImportPort: int("emailImportPort").default(993), // IMAP port (default: 993 for SSL)
emailImportFrequency: int("emailImportFrequency").default(30).notNull(), // Frequency in minutes (default: 30)
emailImportSinceDate: int("emailImportSinceDate"), // Timestamp Unix (s) — ne pas lire les emails antérieurs à cette date
emailImportAuthMode: mysqlEnum("emailImportAuthMode", ["basic", "oauth2"]).default("basic").notNull(), // Auth mode: basic (login/password) or oauth2 (Azure AD token)
// Export folder settings
exportFolder: text("exportFolder"), // Path to folder for exporting invoices