feat: bouton Tester l'upload SharePoint + tooltip erreur SP dans historique BAP
This commit is contained in:
@@ -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 =============
|
||||
|
||||
Reference in New Issue
Block a user