backend
This commit is contained in:
parent
0f271fa47a
commit
43a0ad6070
@ -38,15 +38,6 @@ export interface BackendExtractionResult {
|
||||
timestamp: string
|
||||
}
|
||||
|
||||
export interface BackendTestFiles {
|
||||
success: boolean
|
||||
files: Array<{
|
||||
name: string
|
||||
size: number
|
||||
type: string
|
||||
lastModified: string
|
||||
}>
|
||||
}
|
||||
|
||||
/**
|
||||
* Extrait le texte et les entités d'un document via le backend
|
||||
@ -150,26 +141,6 @@ export async function extractDocumentBackend(
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Récupère la liste des fichiers de test depuis le backend
|
||||
*/
|
||||
export async function getTestFilesBackend(): Promise<BackendTestFiles> {
|
||||
try {
|
||||
const response = await fetch(`${BACKEND_URL}/api/test-files`)
|
||||
|
||||
if (!response.ok) {
|
||||
throw new Error(`Erreur HTTP: ${response.status} ${response.statusText}`)
|
||||
}
|
||||
|
||||
const result: BackendTestFiles = await response.json()
|
||||
console.log('📁 [BACKEND] Fichiers de test récupérés:', result.files.length)
|
||||
|
||||
return result
|
||||
} catch (error) {
|
||||
console.error('❌ [BACKEND] Erreur lors de la récupération des fichiers de test:', error)
|
||||
throw error
|
||||
}
|
||||
}
|
||||
|
||||
// Cache pour le health check
|
||||
let backendHealthCache: { isHealthy: boolean; timestamp: number } | null = null
|
||||
|
||||
@ -83,6 +83,16 @@ export async function createDefaultFolder(): Promise<CreateFolderResponse> {
|
||||
return response.json()
|
||||
}
|
||||
|
||||
// Utiliser le dossier par défaut existant (sans créer de nouveau dossier)
|
||||
export async function getDefaultFolder(): Promise<CreateFolderResponse> {
|
||||
// Utiliser le dossier par défaut existant avec les fichiers de test
|
||||
return {
|
||||
success: true,
|
||||
folderHash: '7d99a85daf66a0081a0e881630e6b39b',
|
||||
message: 'Dossier par défaut récupéré'
|
||||
}
|
||||
}
|
||||
|
||||
// Récupérer les résultats d'un dossier
|
||||
export async function getFolderResults(folderHash: string): Promise<FolderResponse> {
|
||||
const response = await fetch(`${API_BASE_URL}/folders/${folderHash}/results`)
|
||||
|
||||
@ -1,106 +0,0 @@
|
||||
/**
|
||||
* API pour gérer les fichiers de test
|
||||
*/
|
||||
|
||||
export interface TestFileInfo {
|
||||
name: string
|
||||
size: number
|
||||
type: string
|
||||
lastModified: number
|
||||
}
|
||||
|
||||
/**
|
||||
* Récupère la liste des fichiers disponibles dans le dossier test-files
|
||||
*/
|
||||
export async function getTestFilesList(): Promise<TestFileInfo[]> {
|
||||
try {
|
||||
// Utiliser l'API du backend pour récupérer la liste des fichiers
|
||||
const response = await fetch('http://localhost:3001/api/test-files')
|
||||
if (!response.ok) {
|
||||
throw new Error(`Erreur API: ${response.status}`)
|
||||
}
|
||||
|
||||
const data = await response.json()
|
||||
if (!data.success) {
|
||||
throw new Error('API retourne success: false')
|
||||
}
|
||||
|
||||
// Convertir le format du backend vers le format attendu
|
||||
return data.files.map((file: any) => {
|
||||
let mimeType = 'application/octet-stream'
|
||||
|
||||
// Convertir l'extension en type MIME
|
||||
switch (file.type) {
|
||||
case '.jpg':
|
||||
case '.jpeg':
|
||||
mimeType = 'image/jpeg'
|
||||
break
|
||||
case '.png':
|
||||
mimeType = 'image/png'
|
||||
break
|
||||
case '.pdf':
|
||||
mimeType = 'application/pdf'
|
||||
break
|
||||
case '.tiff':
|
||||
mimeType = 'image/tiff'
|
||||
break
|
||||
default:
|
||||
mimeType = 'application/octet-stream'
|
||||
}
|
||||
|
||||
return {
|
||||
name: file.name,
|
||||
size: file.size,
|
||||
type: mimeType,
|
||||
lastModified: new Date(file.lastModified).getTime()
|
||||
}
|
||||
})
|
||||
} catch (error) {
|
||||
console.error('Erreur lors de la récupération de la liste des fichiers de test:', error)
|
||||
return []
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Charge un fichier de test par son nom
|
||||
*/
|
||||
export async function loadTestFile(fileName: string): Promise<File | null> {
|
||||
try {
|
||||
const response = await fetch(`http://localhost:3001/api/test-files/${fileName}`)
|
||||
if (!response.ok) {
|
||||
throw new Error(`Fichier non trouvé: ${fileName}`)
|
||||
}
|
||||
|
||||
const blob = await response.blob()
|
||||
return new File([blob], fileName, { type: blob.type })
|
||||
} catch (error) {
|
||||
console.error(`Erreur lors du chargement du fichier ${fileName}:`, error)
|
||||
return null
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Filtre les fichiers par type MIME supporté
|
||||
*/
|
||||
export function filterSupportedFiles(files: TestFileInfo[]): TestFileInfo[] {
|
||||
const supportedTypes = [
|
||||
'application/pdf',
|
||||
'image/jpeg',
|
||||
'image/jpg',
|
||||
'image/png',
|
||||
'image/tiff'
|
||||
]
|
||||
|
||||
return files.filter(file => {
|
||||
// Vérifier le type MIME
|
||||
if (supportedTypes.includes(file.type)) {
|
||||
return true
|
||||
}
|
||||
|
||||
// Vérifier l'extension si le type MIME n'est pas fiable
|
||||
const extension = file.name.split('.').pop()?.toLowerCase()
|
||||
const supportedExtensions = ['pdf', 'jpg', 'jpeg', 'png', 'tiff']
|
||||
|
||||
return extension && supportedExtensions.includes(extension)
|
||||
})
|
||||
}
|
||||
@ -4,7 +4,7 @@ import type { Document, ExtractionResult, AnalysisResult, ContextResult, Conseil
|
||||
import { documentApi } from '../services/api'
|
||||
import { openaiDocumentApi } from '../services/openai'
|
||||
import { backendDocumentApi, checkBackendHealth } from '../services/backendApi'
|
||||
import { createDefaultFolder, getFolderResults, uploadFileToFolder, type FolderResult } from '../services/folderApi'
|
||||
import { createDefaultFolder, getDefaultFolder, getFolderResults, uploadFileToFolder, type FolderResult } from '../services/folderApi'
|
||||
|
||||
interface DocumentState {
|
||||
documents: Document[]
|
||||
@ -175,7 +175,7 @@ export const getConseil = createAsyncThunk(
|
||||
export const createDefaultFolderThunk = createAsyncThunk(
|
||||
'document/createDefaultFolder',
|
||||
async () => {
|
||||
return await createDefaultFolder()
|
||||
return await getDefaultFolder()
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user