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

@@ -34,6 +34,7 @@ export default function ImportSettings() {
const startFolderServiceMutation = trpc.folderImportService.start.useMutation();
const stopFolderServiceMutation = trpc.folderImportService.stop.useMutation();
const testAzureConnectionMutation = trpc.importSettings.testAzureConnection.useMutation();
const testSharePointUploadMutation = trpc.importSettings.testSharePointUpload.useMutation();
// Manual import
const [manualImportEnabled, setManualImportEnabled] = useState(true);
@@ -770,6 +771,47 @@ export default function ImportSettings() {
</Button>
<p className="text-xs text-muted-foreground mt-1">Vérifie le token OAuth2 et l'accès au site SharePoint</p>
</div>
{/* Bouton test upload réel */}
<div className="pt-1">
<Button
type="button"
variant="outline"
size="sm"
onClick={async () => {
try {
const result = await testSharePointUploadMutation.mutateAsync();
if (result.success) {
toast.success(
result.webUrl
? `Fichier test déposé avec succès ! Cliquez pour l'ouvrir`
: `Fichier test déposé avec succès dans SharePoint`,
{
duration: 8000,
action: result.webUrl ? { label: 'Ouvrir', onClick: () => window.open(result.webUrl!, '_blank') } : undefined,
}
);
} else {
toast.error(`Échec upload test : ${result.error}`, { duration: 10000 });
if ((result as any).debugInfo) {
console.error('[SharePoint debug]', (result as any).debugInfo);
}
}
} catch (e: any) {
toast.error("Erreur : " + (e?.message || "impossible de tester l'upload"));
}
}}
disabled={testSharePointUploadMutation.isPending || !azureTenantId || !azureClientId || !azureClientSecret || !exportFolder}
className="gap-2 border-blue-300 text-blue-700 hover:bg-blue-50"
>
{testSharePointUploadMutation.isPending ? (
<><Loader2 className="h-4 w-4 animate-spin" />Upload test en cours...</>
) : (
<><Upload className="h-4 w-4" />Tester l'upload SharePoint</>
)}
</Button>
<p className="text-xs text-muted-foreground mt-1">Dépose un fichier texte de 1 Ko dans le dossier SharePoint pour valider les permissions d'upload</p>
</div>
</div>
</div>
)}