Adding LibreOffice conversion support (WIP)

This commit is contained in:
Saud Fatayerji
2023-11-13 02:46:50 +03:00
parent c7dd18695d
commit e625a415fd
18 changed files with 659 additions and 104 deletions

View File

@@ -2,6 +2,7 @@ import express, { Request, Response } from 'express';
//import workflow from './workflow-controller';
import operations from './operations-controller';
import conversions from './conversions-controller';
const router = express.Router();
@@ -11,6 +12,7 @@ router.get("/", (req: Request, res: Response) => {
});
router.use("/operations", operations);
router.use("/conversions", conversions);
//router.use("/workflow", workflow);
export default router;

View File

@@ -0,0 +1,27 @@
import { respondWithPdfFile, response_mustHaveExactlyOneFile, response_dependencyNotConfigured } from '../../utils/endpoint-utils';
import { fileToPdf, isLibreOfficeInstalled } from '../../utils/libre-office-utils';
import express, { Request, Response } from 'express';
const router = express.Router();
import multer from 'multer';
const upload = multer();
import Joi from 'joi';
router.post('/file-to-pdf', upload.single("file"), async function(req: Request, res: Response) {
if (!req.file) {
response_mustHaveExactlyOneFile(res);
return;
}
const isInstalled = await isLibreOfficeInstalled();
if (isInstalled) {
const outputFile = await fileToPdf(req.file.buffer, req.file.originalname);
respondWithPdfFile(res, outputFile);
return;
}
response_dependencyNotConfigured(res, "LibreOffice");
});
export default router;