import { createBlob, createRepBlob, uploadSingleFile, } from "../../../actions/azurestorage"; import nextConnect from "next-connect"; import middleware from "../middleware/middleware"; import { consoleLogger } from "../../../actions"; const ApiProxy = nextConnect(); ApiProxy.use(middleware); ApiProxy.post(async (req, res) => { var checkHash = req.query.hash; // console.log(JSON.stringify(req.body)); // console.log(JSON.stringify(req.body.appealData)); // console.log(req.files); const containerID = req.body.containerID[0]; const casefolderID = req.body.casefolderID[0]; console.log("there are files:", Object.keys(req.files).length); // Add other mimetypes here const allowedMimeTypes = [ "application/pdf", "application/msword", "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "image/tiff", "image/jpeg", "application/zip", "image/png", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", ]; var allowedFilesFormData = {}; for (const [fileName, fileDetails] of Object.entries(req.files)) { if (allowedMimeTypes.includes(fileDetails[0].headers["content-type"])) { allowedFilesFormData[fileName] = fileDetails.map((file) => ({ fieldName: file.fieldName, originalFilename: file.originalFilename, path: file.path, size: file.size, headers: file.headers, contentType: file.headers["content-type"], })); } } //console.log("allowedFilesFormData: ", allowedFilesFormData); try { const data = await uploadSingleFile( allowedFilesFormData, containerID, casefolderID ).then((data) => { return res.status(200).json({ data }); }); return res.status(200).json({ data }); } catch (error) { consoleLogger(error); return res.status(500).json({ error: "Failed to upload files" }); } }); export const config = { api: { bodyParser: false, }, }; export default ApiProxy;