83 lines
1.5 KiB
TypeScript
83 lines
1.5 KiB
TypeScript
import express from 'express';
|
|
import { PDFController, uploadMiddleware } from '../controllers/pdfController';
|
|
import { authenticateToken } from '../middleware/auth';
|
|
|
|
const router = express.Router();
|
|
|
|
/**
|
|
* Rotas para manipulação de PDF
|
|
* Todas as rotas requerem autenticação
|
|
*/
|
|
|
|
// Comprime PDFs
|
|
router.post(
|
|
'/compress',
|
|
authenticateToken,
|
|
uploadMiddleware.array('files', 10),
|
|
PDFController.compress
|
|
);
|
|
|
|
// Divide PDF
|
|
router.post(
|
|
'/split',
|
|
authenticateToken,
|
|
uploadMiddleware.array('files', 1),
|
|
PDFController.split
|
|
);
|
|
|
|
// Mescla PDFs
|
|
router.post(
|
|
'/merge',
|
|
authenticateToken,
|
|
uploadMiddleware.array('files', 50),
|
|
PDFController.merge
|
|
);
|
|
|
|
// Converte PDF para imagens
|
|
router.post(
|
|
'/pdf-to-images',
|
|
authenticateToken,
|
|
uploadMiddleware.array('files', 1),
|
|
PDFController.pdfToImages
|
|
);
|
|
|
|
// Converte imagens para PDF
|
|
router.post(
|
|
'/images-to-pdf',
|
|
authenticateToken,
|
|
uploadMiddleware.array('files', 100),
|
|
PDFController.imagesToPDF
|
|
);
|
|
|
|
// Realiza OCR em PDF
|
|
router.post(
|
|
'/ocr',
|
|
authenticateToken,
|
|
uploadMiddleware.array('files', 1),
|
|
PDFController.performOCR
|
|
);
|
|
|
|
// Obtém informações de um PDF
|
|
router.post(
|
|
'/info',
|
|
authenticateToken,
|
|
uploadMiddleware.array('files', 1),
|
|
PDFController.getInfo
|
|
);
|
|
|
|
// Obtém histórico de operações
|
|
router.get(
|
|
'/history',
|
|
authenticateToken,
|
|
PDFController.getHistory
|
|
);
|
|
|
|
// Download de arquivo processado
|
|
router.get(
|
|
'/download/:operacaoId/:fileIndex',
|
|
authenticateToken,
|
|
PDFController.downloadFile
|
|
);
|
|
|
|
export default router;
|