const express = require("express"); const router = express.Router(); const multer = require("multer"); const fs = require("fs"); const FormData = require("form-data"); const axios = require("axios"); const db = require("../db"); // MySQL connection const upload = multer({ dest: "uploads/" }); router.post("/extract-document", upload.single("document"), async (req, res) => { const { user_id, document_type } = req.body; const file = req.file; if (!file || !document_type || !user_id) { return res.status(400).json({ message: "Missing required fields." }); } try { const formData = new FormData(); formData.append("document", fs.createReadStream(file.path)); const response = await axios.post("https://api.vvet.in/extract-text", formData, { headers: formData.getHeaders(), }); const extractedText = response.data.text || ""; // Store in MySQL await db.execute( "INSERT INTO extracted_documents (user_id, document_type, original_filename, extracted_text) VALUES (?, ?, ?, ?)", [user_id, document_type, file.originalname, extractedText] ); // Cleanup uploaded file fs.unlinkSync(file.path); res.json({ message: "Text extracted and stored successfully.", extractedText }); } catch (err) { console.error(err); res.status(500).json({ message: "Document extraction failed." }); } }); module.exports = router;