feat: bouton Tester l'upload SharePoint + tooltip erreur SP dans historique BAP

This commit is contained in:
Manus
2026-05-06 10:18:46 -04:00
parent 6c21c71660
commit 94844b0589
3 changed files with 104 additions and 4 deletions

View File

@@ -1569,6 +1569,54 @@ export const appRouter = router({
return { success: false, error: err.message || 'Erreur inconnue' };
}
}),
testSharePointUpload: protectedProcedure
.mutation(async ({ ctx }) => {
const settings = await getImportSettingsByUser(ctx.user.id);
const tenantId = (settings as any)?.azureTenantId;
const clientId = (settings as any)?.azureClientId;
const clientSecret = (settings as any)?.azureClientSecret;
const sharepointUrl = settings?.exportFolder;
if (!tenantId || !clientId || !clientSecret) {
return { success: false, error: 'Credentials Azure AD manquants (Tenant ID, Client ID ou Secret)' };
}
if (!sharepointUrl) {
return { success: false, error: 'URL SharePoint non configurée dans le dossier d\'export' };
}
try {
const { uploadToSharePoint } = await import('./sharepoint');
// Créer un fichier test de 1 Ko
const testContent = `Test upload SharePoint - ${new Date().toISOString()}\nApplication : Dématérialisation Facturation\nCe fichier peut être supprimé.`;
const testBuffer = Buffer.from(testContent, 'utf-8');
const testFileName = `test-upload-${Date.now()}.txt`;
const result = await uploadToSharePoint(
{ tenantId, clientId, clientSecret, sharepointUrl },
testBuffer,
testFileName
);
if (result.success) {
return {
success: true,
message: `Fichier test déposé avec succès dans SharePoint`,
webUrl: result.webUrl,
fileName: testFileName,
debugInfo: result.debugInfo,
};
} else {
return {
success: false,
error: result.error || 'Échec de l\'upload test',
debugInfo: result.debugInfo,
};
}
} catch (err: any) {
return { success: false, error: err.message || 'Erreur inconnue' };
}
}),
}),
// ============= DEPARTMENT LIST ROUTES =============