/** * @swagger * /api/file/getrepsblob: * get: * tags: [Azure Storage] * summary: Phase 2 * description: get reps blobs * parameters: * - name: container * in: query * required: true * example: cl761h97h0008h11ycmu2qyfo * schema: * type: string * - name: casefolderID * in: query * required: true * example: TMP-AYJHX-SNW1H5 * schema: * type: string * - name: hash * in: query * required: true * example: 372c59f86d62b57cc2a7981eeee7737c944d407c6a7f2ea9d85797bbfe9852c5 * schema: * type: string * responses: * 200: * description: Success */ import { downloadAllRepsFiles, getRepsBlobs } from "../../../actions/azurestorage"; import _ from "lodash"; import nextConnect from "next-connect"; import middleware from "../middleware/middleware"; import { hashAPIPath } from "../../../actions/core/hash"; import { consoleLogger } from "../../../actions/core/logger"; const ApiProxy = nextConnect(); ApiProxy.use(middleware); ApiProxy.get(async (req, res) => { var containerName = req.query.container; var casefolderID = req.query.casefolderID; var checkHash = req.query.hash; if ( typeof containerName === "undefined" || containerName.length === 0 || typeof checkHash === "undefined" || checkHash.length === 0 ) { return res.status(400).json(); } var checkquerypath = "/api/file/getrepsblob?container=" + containerName; if (hashAPIPath(checkquerypath) != "&hash=" + checkHash) { return res.status(400).json(); } if (hashAPIPath(checkquerypath) == "&hash=" + checkHash) { const blobObj = await getRepsBlobs(containerName) .then(async (data) => { return data; }) .then(async (data) => { let result = await downloadAllRepsFiles(containerName, data); return res .setHeader("Cache-Control", "no-store") .status(200) .json(result); }) .catch((error) => { consoleLogger(error); }); } }); export default ApiProxy;