import express from 'express'; import { PDFController, uploadMiddleware } from '../controllers/pdfController'; import { authMiddleware } from '../../middleware/auth'; const router = express.Router(); /** * Rotas para manipulação de PDF * Todas as rotas requerem autenticação */ // Comprime PDFs router.post( '/compress', authMiddleware, uploadMiddleware.array('files', 10), PDFController.compress ); // Divide PDF router.post( '/split', authMiddleware, uploadMiddleware.array('files', 1), PDFController.split ); // Mescla PDFs router.post( '/merge', authMiddleware, uploadMiddleware.array('files', 50), PDFController.merge ); // Converte PDF para imagens router.post( '/pdf-to-images', authMiddleware, uploadMiddleware.array('files', 1), PDFController.pdfToImages ); // Converte imagens para PDF router.post( '/images-to-pdf', authMiddleware, uploadMiddleware.array('files', 100), PDFController.imagesToPDF ); // Realiza OCR em PDF router.post( '/ocr', authMiddleware, uploadMiddleware.array('files', 1), PDFController.performOCR ); // Obtém informações de um PDF router.post( '/info', authMiddleware, uploadMiddleware.array('files', 1), PDFController.getInfo ); // Obtém histórico de operações router.get( '/history', authMiddleware, PDFController.getHistory ); // Download de arquivo processado router.get( '/download/:operacaoId/:fileIndex', authMiddleware, PDFController.downloadFile ); // Deleta uma operação específica router.delete( '/operation/:operacaoId', authMiddleware, PDFController.deleteOperation ); // Limpa todo o histórico router.delete( '/history/clear', authMiddleware, PDFController.clearHistory ); // Limpa operações antigas router.delete( '/history/cleanup', authMiddleware, PDFController.cleanupOldOperations ); export default router;