import { hashAPIPath } from "../../../actions/core/hash"; import { deleteBlobRep } from "../../../actions/azurestorage"; import { respondError, respondSuccess } from "../middleware/apiResponse"; import nextConnect from "next-connect"; import middleware from "../middleware/middleware"; const ApiProxy = nextConnect(); ApiProxy.use(middleware); ApiProxy.get(async (req, res) => { var containerName = req.query.container; var casefolderID = req.query.casefolderID; var repfile = req.query.repfile; var checkHash = req.query.hash; if ( typeof containerName === "undefined" || containerName.length === 0 || typeof casefolderID === "undefined" || casefolderID.length === 0 || typeof repfile === "undefined" || repfile.length === 0 || typeof checkHash === "undefined" || checkHash.length === 0 ) { return respondError(res, { status: 400, code: "MISSING_REQUIRED_QUERY", message: "container, casefolderID, repfile and hash are required" }); } var checkquerypath = "/api/file/deleteblobrep?container=" + containerName + "&casefolderID=" + casefolderID + "&repfile=" + repfile; if (hashAPIPath(checkquerypath) != "&hash=" + checkHash) { return respondError(res, { status: 400, code: "INVALID_HASH", message: "Invalid hash" }); } casefolderID = casefolderID + "/" + repfile; await deleteBlobRep(containerName, casefolderID).then((data) => { return respondSuccess(res, { data: data }); }); }); export const config = { api: { bodyParser: false } }; export default ApiProxy;