fix: empêcher la duplication massive de fichiers lors de l import email
- markSeen: true pour marquer les emails immédiatement - Vérification doublon avant stockage (findSourceFileByFileName) - Verrou anti-concurrence par utilisateur
This commit is contained in:
15
server/db.ts
15
server/db.ts
@@ -1221,3 +1221,18 @@ export async function updateWebImportSourceStatus(
|
||||
if (success) update.lastSuccessAt = new Date();
|
||||
await db.update(webImportSources).set(update).where(eq(webImportSources.id, id));
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if a source file with the same fileName already exists for this user
|
||||
* Used to prevent duplicate file storage during email import
|
||||
*/
|
||||
export async function findSourceFileByFileName(userId: number, fileName: string): Promise<any | null> {
|
||||
const result = await db.select()
|
||||
.from(sourceFiles)
|
||||
.where(and(
|
||||
eq(sourceFiles.userId, userId),
|
||||
eq(sourceFiles.fileName, fileName)
|
||||
))
|
||||
.limit(1);
|
||||
return result[0] || null;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user